Wybór biblioteki graficznej do komercyjnego projektu.

0

Zabieram się właśnie za interfejs graficzny do programu. Problem w tym, że nie wiem za bardzo, której biblioteki mogę użyć, aby jej bezpłatna licencja zgadzała się z moimi wymaganiami. Przeglądałem licencje bibliotek, o których zaraz wspomnę oraz opinie na ich temat pod kątem komercyjnego projektu, napiszę je i proszę o ich ewentualne zdementowanie lub potwierdzenie.

Projekt jest komercyjny o zamkniętym kodzie źródłowym napisanym w C++ z wykorzystaniem biblioteki CURL. W programie korzystam z wielu wątków, więc oczekuję od biblioteki aby była bezpieczna pod tym względem. Co do interfejsu to dążę do tego co widać na załączonym obrazku :)

Opinie:

  1. QT oraz wxWidgets nie mogę użyć, ponieważ musiałbym dostarczać kod źródłowy aplikacji.
  2. Z biblioteką GTK oraz GTKmm jest problem tego typu iż muszę dynamicznie linkować ją z aplikacją.

W przypadku gdy te dwie opinie są prawdziwe proszę o 'polecenie' jakiejś innej, może nawet niszowej biblioteki graficznej, która wymaga podobnego lub mniejszego nakładu pracy przy tworzeniu interfejsu co w/w biblioteki.

0
t0m_k napisał(a)
  1. QT oraz wxWidgets nie mogę użyć, ponieważ musiałbym dostarczać kod źródłowy aplikacji.

Bezedura, Qt jest licencjonowane na GPL, LGPL i licencji komercyjnej. Uznając LGPL możesz spokojnie linkować do Qt i nie musisz niczego dostarczać.

0
deus napisał(a)

Uznając LGPL możesz spokojnie linkować do Qt i nie musisz niczego dostarczać.

Statycznie, czy dynamicznie, bo GTK i GTKmm też są na LGPL, a podobno tylko dynamicznie mogę je linkować ?

0

"Statycznie" oznacza zbudowanie jednej binarki z kodu Twojego i Qt. Jak wlinkujesz to musisz dać kod, jak tylko dllki latają to problemu nie ma.

0

Dzięki za odpowiedź.

edit:
Wykorzystam jeszcze ten temat i dla pewności zapytam. Tak łączę dynamicznie ?

gcc -lbiblioteka kod.c

Nigdy w to nie wnikałem jakoś, ale z tego co jest napisane w manualu gcc, choć nie wprost, wychodzi na to, że dynamicznie, bo tylko z tych lib'ek bierze symbole i uzupełnia importy, tak ?

Sprawdziłem i łączy rzeczywiście dynamicznie, byłem wcześniej pewny, że w ten sposób łączy statycznie. Ehh, niepotrzebnie Wam głowę zawracałem, a właściwie @deusowi :D

0

Statycznie, czy dynamicznie
Do komercyjnego programu – dynamicznie. Należy jednak zwrócić uwagę, że jest to tylko interpretacja licencji LGPL, nie napisano w niej tego wprost.

0

A od kiedy program na otwartej licencji nie może być programem komercyjnym?

0
winerfresh napisał(a)

A od kiedy program na otwartej licencji nie może być programem komercyjnym?

Nie wiem od kiedy, nic takiego też tu nie padło ;p Po prostu po przeczytaniu kilku wypowiedzi na różnych forach nabrałem wątpliwości co do możliwości zamknięcia kodu programu korzystającego z biblioteki dostępnej na LGPL. Pomieszały mi się także sposoby linkowania co pogłębiło moją niepewność i tak powstał ten temat.

0

Na LGPL możesz zamknąć kod programu o ile dasz możliwość podmiany plików biblioteki (czyli będą linkowane dynamicznie). Ale projekt komercyjny również może mieć dostępny publicznie kod źródłowy, nic nie stoi na przeszkodzie.

0

Ja najchętniej bym udostępnił kod, ale nie ja o tym tu decyduje, dlatego interesowało mnie wykorzystanie biblioteki na danej licencji w zamkniętym kodzie.

0

Ja jestem fanbojem GTK(+/mm) więc moja propozycja jest jasna i prosta, ale to zależy od tego jak wiele oczekujesz od biblioteki do GUI.

0
winerfresh napisał(a)

Ja jestem fanbojem GTK(+/mm) więc moja propozycja jest jasna i prosta, ale to zależy od tego jak wiele oczekujesz od biblioteki do GUI.

Korzystałem jakiś czas z pyGTK, więc najlepiej znam właśnie GTK z tych bibliotek, które wymieniłem, ale wybrałem QT, ponieważ wydaję mi się, że w niej najłatwiej będzie mi dostosować wygląd interfejsu do potrzeb klienta.

0

Dodatkowo polecam stosowanie ikon Tango.

0
t0m_k napisał(a)

Tak łączę dynamicznie ?

gcc -lbiblioteka kod.c

nie wiadomo. to zależy od tego, czy biblioteka jest statyczną czy dynamiczną.

Na LGPL możesz zamknąć kod programu o ile dasz możliwość podmiany plików biblioteki (
co jest idiotycznym wymogiem, bo podmiana biblioteki na jakąkolwiek inną wersję ma znacznie większą szansę niedziałania niż działania.

1 użytkowników online, w tym zalogowanych: 0, gości: 1