Licencja
-
Uuh, za mało danych. Jeśli nie jesteś klientem komercyjnym (a Digia sobie conieco liczy za licencję...), to opcje do wyboru są 2:
- GPLv3 - zarówno Qt jak i twoja aplikacja muszą zachować licencję GPL: czyli nie ma szans na zamknięcie źródeł (ale zarabiać możesz - licencja GPL nic nie wspomina o pieniądzach, ona dotyczy wyłącznie kodu). Musisz opublikować swój kod i kod Qt (jeśli coś zmieniałeś), ale możesz zgarniać pieniądze za gotowy program (np. za appkę na Androidzie, albo za download programu, albo za dostarczenia CD. Jedynie nie skompilowany kod źródłowy musi być dostępny za darmo co najmniej dla wszystkich klientów)
- LGPLv2 (albo v3 nie pamiętam) - wszelkie zmiany w Qt muszą być opublikowane (np. jeśli masz jakiś patch do klasy QString) + prawdopodobnie nie wolno kompilować statycznie, ale twój własny kod może używać dowolnej licencji i nie musisz go publikować. Podobnie jak powyżej, licencja nic nie mówi o kosztach, zarabiać możesz do woli :)
-
Z tekstu licencji (v3):
[quote]a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license document.[/quote]LGPLv2 zawiera podobny akapit, choć zdziebko inaczej sformułowany.
-
Dodatkowe potrzebne biblioteki, w tym spoza rodziny Qt, możesz umieścić w tym samym katalogu aplikacji, w którym jest Twój program; program ten wtedy znajdzie potrzebne biblioteki. Unikasz w ten sposób linkowania statycznego z kodem zamkniętym, niedozwolonego w licencjach GPL/LGPL i jest to praktykowane na Windows i czasem na Linuksie; programy na MacOS X też nieraz zresztą przychodzą potrzebne niestandardowe biblioteki w osobnych plikach. Na tym ostatnim jednak w najlepszym tonie to, że program używa systemowych bibliotek Qt, jak ich nie ma to prosi użytkownika o doinstalowanie, ewentualnie sam to robi. W tym modelu tracisz korzyści z aktualizowania używanych bibliotek przez sam system operacyjny, co przy poprawkach bezpieczeństwa nie jest korzystne.
Gdy program dystrybuujesz w formie paczki "rozumianej" przez dany system linuksowy ten efekt da się osiągnąć najbardziej elegancko, jednak dodatkową praca jest tworzenie paczek na różne dystrybucje oraz architektury procesora. Rzadko się więc to spotyka przy zamkniętym oprogramowaniu, gdzie z oczywistych powodów to producent musi dokonywać przygotowywania i pielęgnacji paczek. Pomocne mogą być w tym usługi typu OBS (https://build.opensuse.org).
-
Zamieszcze moje pytanie w tym temacie, by uniknąc bezsensownego tworzenia nowego i zaśmieciania forum.
Nie znam się na licencjach, kiedyś próbowałem przeczytać parę, ale było to po angielsku. Nie wiele zrozumiałem na tyle by móc odpowiedziec sobie jednocznacznie na pewne pytania.Moje pytanie brzmi. Czy pisząc program przy wykozystaniu Qt i nie majac wykupionej Licencji Komercyjnej DIgia mogę sprzedawać moje aplikacje na wolnym rynku, zarabiac na nich w jaki kolwiek sposób? Słyszałem, że jest to możliwe o tyle, o ile biblioteki .dll linkuje się dynamicznie, a nie statycznie. To było by osiagalne w przypadku aplikacji Desktopowych, a co w przypadku aplikacji Moblinych (na Androida) ? Tam w wyniku kompilacji programu powstaje jeden wynikowy plik .apk ? Czy nie jest to już powód do ścigania osoby, która bez licencji komercyjnej sprzedaje swoje aplikacje?
Zaznaczam, że nie mam zamiaru nikomu udostepniac kodu swoich programów w przypadku ich sprzedawania.Chciałem w swojej firmie wdrożyć stosowanie Qt w zamian Javy.
Pozdrawiam brać programistów. ;)
-
[quote author="Huragan" date="1410868583"]Czy pisząc program przy wykozystaniu Qt i nie majac wykupionej Licencji Komercyjnej DIgia mogę sprzedawać moje aplikacje na wolnym rynku, zarabiac na nich w jaki kolwiek sposób?[/quote]
Tak, możesz sprzedawać i zarabiać, nic nie płacąc Digii. Ponieważ nie chcesz udostępniać kodu, obowiązywać cię będzie licencja LGPLv2 lub LGPLv3 (nowa opcja w Qt 5.4). To oznacza, że musisz poinformować użytkowników, że używasz Qt, umieścić tekst licencji gdzieś w folderze z programem/ w samym programie (about box lub coś podobnego). Sama licencja (ani GPL, ani LGPL) nie mówi nic o pieniądzach i na obu z nich można zarabiać.
LGPL wymaga też możliwości "podmiany" plików biblioteki przez użytkowników. W przypadku Mac/Linux/Windows nie ma z tym najmniejszego problemu. Na Androidzie sprawa faktycznie ma się troszkę inaczej, ale wcale nie jest z tym tragicznie: każdy plik APK można rozpakować, podmienić biblioteki i spakować ponownie. Czyli jeśli trafi się jakiś urzytkownik chcący to zrobić, to ma takie możliwości.
-
Hej @Huragan
Jeśli linkujesz dynamicznie, nie musisz publikować kodu aplikacji, jedynie modyfikacje jakie dokonałeś w Qt (o ile dokonałeś, co bywa rzadkie).
Jeśli linkujesz statycznie, musisz opublikować cały kod jaki w binariach jest zawarty.W przypadku Androida, .apk to paczka, rodzaj archiwum, nie binaria uruchamiane. Podobnie masz na desktopie: .msi na Windows, .dmg na Mac, .rpm, .deb, .tgz na Linusie. Zawarcie w archiwum (.iso, lub na dysku CD itd.) to nie linkowanie, tylko kompozycja, nie dotyczą tego warunki licencji. Stąd wniosek, że Qt dla Androida jest bezpłatne co do użycia w opisanym przypadku.
Życzę powodzenia i zapraszam do dalszych pytań na forum.
PS: Jak już napisał wyżej @sierdzio, możesz sprzedawać aplikacje bez względu na licencję Qt. Nawet na licencji GPL, te licencje nie zabraniają sprzedaży, a jedynie dają mi określone prawa jeśli kupię sobie Twój program. Ale to już szczegółowa prawda. Tobie pasuje Qt na licencji LGPL (to ta sama instalka co GPL, bo licencje są dostępne jednocześnie).
-
Heh, miałem to napisać wcześniej, ale się nieco przeciągnęło... nawet sporo. :) Ale w końcu sobie przypomniałem i ponownie zalogowałem się na forum. Zatem dziękuje Wam za szybką odpowiedź na mojego posta. :)
I pojawia się moje pytanie w tym samym temacie. Rozumiem, że wraz z pojawieniem się bibliotek Qt w wersji 5.4 nie uległy zmianom licencje z nią związane? Nadal mogę linkować dynamicznie biblioteki i bezpłatnie korzystać z dobrodziejstw Qt, czy tera już muszę subskrybować licencję komercyjną (Indie Moblie, Professional, albo Enterprise)?
Dziękuje. :)
-
Heh, miałem to napisać wcześniej, ale się nieco przeciągnęło... nawet sporo. :) Ale w końcu sobie przypomniałem i ponownie zalogowałem się na forum. Zatem dziękuje Wam za szybką odpowiedź na mojego posta. :)
I pojawia się moje pytanie w tym samym temacie. Rozumiem, że wraz z pojawieniem się bibliotek Qt w wersji 5.4 nie uległy zmianom licencje z nią związane? Nadal mogę linkować dynamicznie biblioteki i bezpłatnie korzystać z dobrodziejstw Qt, czy tera już muszę subskrybować licencję komercyjną (Indie Moblie, Professional, albo Enterprise)?
Dziękuje. :)
-
[quote author="Huragan" date="1422021346"]Rozumiem, że wraz z pojawieniem się bibliotek Qt w wersji 5.4 nie uległy zmianom licencje z nią związane?[/quote]
Są zmiany: doszły 2 nowe licencje do wyboru: LGPL v3 i GPL v2. Reszta zostaje bez zmian i w twoim przypadku też nic się nie zmienia.
-
[quote author="Huragan" date="1422021346"]Rozumiem, że wraz z pojawieniem się bibliotek Qt w wersji 5.4 nie uległy zmianom licencje z nią związane?[/quote]
Są zmiany: doszły 2 nowe licencje do wyboru: LGPL v3 i GPL v2. Reszta zostaje bez zmian i w twoim przypadku też nic się nie zmienia.