-
1. Data: 2006-08-29 08:07:55
Temat: Przegląd licencji na oprogramowanie - co można wykorzystywać w projektach komercyjnych i na jakich zasadach ?
Od: "Filip Sielimowicz" <s...@p...onet.pl>
We własnej aplikacji komercyjnej (rozprowadzanej odpłatnie, źródła zamknięte)
używamy wiele komponentów zewnętrznych na różnych licencjach.
Na wikipedii mamy krótki przegląd najważniejszych z nich:
http://pl.wikipedia.org/wiki/Licencje_oprogramowania
Prawdopodbnie na wikipedii angielskiej będzie ich więcej opisanych.
Szczególnie interesują mnie licencje:
BSD, LGPL, Apache 1.1, Apache 2.0, licencja na sterowniki JDBC do bazy IBM DB2
oraz coś, co występuje np. w JRE Sun'a a ma w nagłówku "Binary Code License
Agreement" - wydaje mi się jednak, że to nie nazwa jednej licencji a po prostu
taki nagłówek Sun daje w różnych licencjach (inna dla JRE, inna dla SDK o ile
się pobieżnie przyjrzałem).
1. Czy wolno nam używać dany produkt do celów komercyjnych bez płatności i specjalnej
zgody ?
2. Czy wolno nam DYSTRYBUOWAĆ dany produkt, w jakiej postaci, w produkcie komercyjnym
?
Na powyższe dwa pytania w zasadzie zawsze powinna być odpowiedź twierdząca (w
przypadku
licencji podanych powyżej) i tego jestem prawie pewien, bo zwracaliśmy na to uwagę,
ale ...
Kwestie, które iteresują mnie najbardziej w chwili obecnej, to to, jaki skutek
techniczny/funkcjonalny dla aplikacji mają te licencje. Czyli powinniśmy
sobie odpowiedzieć na kolejne, następujące pytania (i tu już zdecydowanie bakuje
mi jasności):
3. Jakie wymagania funkcjonalne nakłada na aplikację fakt użycia komponentu ?
A dokładniej: zauważyłem, że zazwyczaj w licencjach jest mowa o tym, że można produkt
używać i rozprowadzać, ale pod warunkeim, że rozprowadza się go razem z orginalną
licencją. Wydaje mi się, że widziałem także gdzieś wymóg podania informacji, że
się dany produkt wykorzystuje i wymieniania autorów (stare wersje licencji BSD tak
chyba miały).
W praktyce widziałem, że często po prostu pojawia się gdzieś tam w środku ukryty plik
z licencją. W skrócie, mamy dwa podpytania:
3.A. Czy aplikacja powinna gdzieś podawać informacje o użytych komponentach, autorach
i ich licencjach, czy wystarczy, że w plikach składających się na aplikację licencje
te będą siedzieć razem z plikami komponentu/biblioteki (niewidoczne z poziomu samej
aplikacji) ?
3.B Czy w czasie instalacji aplikacja powinna wyświetlać licencje użytych komponentów
i osobno żądać od użytkownika ich akceptacji ? Coś takiego dzieje sie czasem (tylko
czasem)
np. przy instalacji pluginów do Eclipse (licencja CPL) - ale może taki wymóg istnieje
tylko w sytuacji, gdy licencja plugina jest "silniejsza", niż licencja programu,
który
go używa. Jeśliby aplikacja była instalowana z odpowiednio "silną", restrykcyjną
licencją to chyba bdzie chronić w sposób wystarczający prawa innych producentów ?
3.C Czy jeśli już wymieniamy nazwę jakiegoś komponentu (np. Apache coś tam, JRE,
Hibernate,
IBM DB2, to należy jednocześnie badać, czy ta nazwa nie jest zastrzeżonym znakiem
towarowym i podawać osobno odpowiednią informację ? W szczególności: czy używanie
Javy
w produktach komercyjnych wymaga np. umieszczania logo w aplikacji (logo typu "Java
compatible" - mają tego mnóstwo ikonek do wyboru) ?
Przepraszam, że tak dużo pytań, ale może, gdyby udało się na nie wszystkie zwarcie
odpowiedzieć, to byłoby to bardzo przydatne nie tylko dla mnie. Nie widziałem
żadnego opracowania, np. w formie tabelki, które by na nie kótko odpowiadało.
-
2. Data: 2006-08-30 10:14:29
Temat: Re: Przegląd licencji na oprogramowanie - co można wykorzystywać w projektach komercyjnych i na jakich zasadach ?
Od: "karul" <k...@g...com>
2.
Z tego co wiem, komponenty, kody na licencji LGPL można dołączać do
swoich komercyjnych aplikacji bez zadnych dodatkowych opłat, nie
trzeba chyba nawet informować o użyciu takiego komponentu.
Co do BSD, również można, i właśnie tak jak napisałeś, trzeba
podać informacje o autorach itd w swojej aplikacji.
3.
Natomiast problem użycia "oryginalnej licencji" w swojej aplikacji
(dołączałem MS SQL Server 2005 express) rozwiązałem tak: razem z
instalacją mojej aplikacji, użytkownik miał również możliwość
zainstalowania MSSQL, i uruchamiał się instalator. M$ wymagał
dołączenia specjalnej licencji, więc ściągnąłem ją sobie, i
zamieściłem w katalogu razem z moją aplikacją. Myślę że to
powinno wystarczyć.
Jeśli wymagano ode mnie zamieszczenia danych autorów itd, to
zamieszczalem te informacje np. w dziale "O programie". I to
rozwiązywało problem.
Takie są moje ogólne spostrzeżenia.
Sprawa sterowników JDBC, i zastrzeżonych znaków towarowych, też nie
jest dla mnie do końca jasna...
---
Karol Stachyra
karolstachyra.i365.pl
-
3. Data: 2006-08-30 11:13:49
Temat: Re: Przegląd licencji na oprogramowanie - co można wykorzystywać w projektach komercyjnych i na jakich zasadach ?
Od: "Any User" <a...@m...com>
> Z tego co wiem, komponenty, kody na licencji LGPL można dołączać do
> swoich komercyjnych aplikacji bez zadnych dodatkowych opłat, nie
> trzeba chyba nawet informować o użyciu takiego komponentu.
Mylisz się. Można dołączać bez opłat, ale trzeba jak najbardziej o tym
informować, a co więcej, trzeba dołączać (lub udostępniać zainteresowanym)
pełny kod źródłowy takiego komponentu, wraz z własnymi modyfikacjami
(zaznaczam: tylko komponentu, już nie całego własnego programu).
-
4. Data: 2006-08-30 11:35:08
Temat: Re: Przegląd licencji na oprogramowanie - co można wykorzystywać w projektach komercyjnych i na jakich zasadach ?
Od: Jacek Popławski <j...@i...pl>
karul napisał(a):
> Z tego co wiem, komponenty, kody na licencji LGPL można dołączać do
> swoich komercyjnych aplikacji bez zadnych dodatkowych opłat, nie
> trzeba chyba nawet informować o użyciu takiego komponentu.
Nieprawda.
-
5. Data: 2006-08-30 14:02:15
Temat: Re: Przegląd licencji na oprogramowanie - co można wykorzystywać w projektach komercyjnych i na jakich zasadach ?
Od: mgl <a...@f...email.com>
Jacek Popławski wrote:
> Nieprawda.
A moglibyśmy prosić o podstawę prawną? :)
--
pozdrawiam,
Michał
-
6. Data: 2006-08-30 14:14:21
Temat: Re: Przegląd licencji na oprogramowanie - co można wykorzystywać w projektach komercyjnych i na jakich zasadach ?
Od: "Any User" <a...@m...com>
>> Nieprawda.
>
> A moglibyśmy prosić o podstawę prawną? :)
Podstawą jest tu treść samej licencji.
-
7. Data: 2006-08-30 18:17:48
Temat: Re: Przegląd licencji na oprogramowanie - co można wykorzystywać w projektach komercyjnych i na jakich zasadach ?
Od: Sebastian Kaliszewski <s...@g...it.off.to.reply.z.pl>
Filip Sielimowicz wrote:
> We własnej aplikacji komercyjnej (rozprowadzanej odpłatnie, źródła zamknięte)
> używamy wiele komponentów zewnętrznych na różnych licencjach.
> Na wikipedii mamy krótki przegląd najważniejszych z nich:
>
> http://pl.wikipedia.org/wiki/Licencje_oprogramowania
>
> Prawdopodbnie na wikipedii angielskiej będzie ich więcej opisanych.
>
> Szczególnie interesują mnie licencje:
> BSD, LGPL, Apache 1.1, Apache 2.0, licencja na sterowniki JDBC do bazy IBM DB2
> oraz coś, co występuje np. w JRE Sun'a a ma w nagłówku "Binary Code License
> Agreement" - wydaje mi się jednak, że to nie nazwa jednej licencji a po prostu
> taki nagłówek Sun daje w różnych licencjach (inna dla JRE, inna dla SDK o ile
> się pobieżnie przyjrzałem).
>
> 1. Czy wolno nam używać dany produkt do celów komercyjnych bez płatności i
specjalnej
> zgody ?
Tak dla LGPL, BSD, Apache. Reszta nie wiem (pewnie tak -- o ile nie są to
jakies home-use czy inne demo wersje)
> 2. Czy wolno nam DYSTRYBUOWAĆ dany produkt, w jakiej postaci, w produkcie
komercyjnym
> ?
> Na powyższe dwa pytania w zasadzie zawsze powinna być odpowiedź twierdząca (w
> przypadku
> licencji podanych powyżej) i tego jestem prawie pewien, bo zwracaliśmy na to uwagę,
> ale ...
Tak też jest (dla BSD i Apache). Z licencją LGPL jest jedno ograniczenie --
użytkownik musi mieć zachowane prawo podmiany (skompilowanej) wersji użytej
biblioteki (pod warunkiem, że oczywiście binarny interfejs się nie zmieni
między wersjami). Co sprowadza się do konieczności dynamicznego linkowania
takiej bibliotekui (lub udostępnienia narzędzi do podmiany wlinkowanych
obiektów biblioteki).
Przy czym wiele bibliotek pod LGPL ma dodatkową klauzulę explicite
rezygnującą z tego mało przydatnego dla końcowego użytkownika, a
"upi...wego" w stosowaniu punktu. Zwykle explicite zezwala się na statyczne
linkowanie.
> Kwestie, które iteresują mnie najbardziej w chwili obecnej, to to, jaki skutek
> techniczny/funkcjonalny dla aplikacji mają te licencje. Czyli powinniśmy
> sobie odpowiedzieć na kolejne, następujące pytania (i tu już zdecydowanie bakuje
> mi jasności):
> 3. Jakie wymagania funkcjonalne nakłada na aplikację fakt użycia komponentu ?
> A dokładniej: zauważyłem, że zazwyczaj w licencjach jest mowa o tym, że można
produkt
> używać i rozprowadzać, ale pod warunkeim, że rozprowadza się go razem z orginalną
> licencją.
Należy odróżniać samą bibliotekę od aplikacji biblioteki używającej.
> Wydaje mi się, że widziałem także gdzieś wymóg podania informacji, że
> się dany produkt wykorzystuje i wymieniania autorów (stare wersje licencji BSD tak
> chyba miały).
Tak mają wszystkie licencje BSD a także LGPL.
Stare licencje BSD (praktycznie martwe) wymagały umieszczania informacji o
użytej bibliotece i jej właścicielu w każdym materiale reklamowym dot.
używającego tej biblioteki produktu.
> W praktyce widziałem, że często po prostu pojawia się gdzieś tam w środku ukryty
plik
> z licencją. W skrócie, mamy dwa podpytania:
> 3.A. Czy aplikacja powinna gdzieś podawać informacje o użytych komponentach,
autorach
> i ich licencjach, czy wystarczy, że w plikach składających się na aplikację
licencje
> te będą siedzieć razem z plikami komponentu/biblioteki (niewidoczne z poziomu samej
> aplikacji) ?
Zwykle jest tak, że powinno to trafiać na tym samym poziomie co pełne
informacje o autorach i licencji samej aplikacji. Czyli powino być
traktowane nie gorzej niż właściwe informacje o samym głównym produkcie.
Tzn jeśli jest jakaś drukowana dokumentacja to w niej.
Jeśli jest np. jakies menu z "About Page" skąd np. jest możliwośc pokazania
pełnej listy to tam też wypada.
> 3.B Czy w czasie instalacji aplikacja powinna wyświetlać licencje użytych
komponentów
> i osobno żądać od użytkownika ich akceptacji ? Coś takiego dzieje sie czasem (tylko
> czasem)
> np. przy instalacji pluginów do Eclipse (licencja CPL) - ale może taki wymóg
istnieje
> tylko w sytuacji, gdy licencja plugina jest "silniejsza", niż licencja programu,
> który
> go używa. Jeśliby aplikacja była instalowana z odpowiednio "silną", restrykcyjną
> licencją to chyba bdzie chronić w sposób wystarczający prawa innych producentów ?
Jest tak:
Jeśli aplikacja GPL używa bibliotek LGPL to wystarczy wypisanie licencji GPL
(wynika to wprost z możliwości relicencjonowania LGPL na GPL).
AFAIR licencje w stylu BSD zwykle nie wymagają zamieszczania treści licencji
jeśli nie jest zamieszczany kod źródłowy. Wystracza zamieszczenie informacji
o użyciu produktu.
> 3.C Czy jeśli już wymieniamy nazwę jakiegoś komponentu (np. Apache coś tam, JRE,
> Hibernate,
> IBM DB2, to należy jednocześnie badać, czy ta nazwa nie jest zastrzeżonym znakiem
> towarowym i podawać osobno odpowiednią informację ? W szczególności: czy używanie
> Javy
> w produktach komercyjnych wymaga np. umieszczania logo w aplikacji (logo typu "Java
> compatible" - mają tego mnóstwo ikonek do wyboru) ?
Nie wiem jak to jest w polskim prawie.
Co do ikonki itp -- musi być explicite powiedziane w licencji.
>
>
> Przepraszam, że tak dużo pytań, ale może, gdyby udało się na nie wszystkie zwarcie
> odpowiedzieć, to byłoby to bardzo przydatne nie tylko dla mnie. Nie widziałem
> żadnego opracowania, np. w formie tabelki, które by na nie kótko odpowiadało.
>
>
-
8. Data: 2006-08-30 18:28:40
Temat: Re: Przegląd licencji na oprogramowanie - co można wykorzystywać w projektach komercyjnych i na jakich zasadach ?
Od: Sebastian Kaliszewski <s...@g...it.off.to.reply.z.pl>
Any User wrote:
>>Z tego co wiem, komponenty, kody na licencji LGPL można dołączać do
>>swoich komercyjnych aplikacji bez zadnych dodatkowych opłat, nie
>>trzeba chyba nawet informować o użyciu takiego komponentu.
>
> Mylisz się. Można dołączać bez opłat, ale trzeba jak najbardziej o tym
> informować, a co więcej, trzeba dołączać (lub udostępniać zainteresowanym)
Tzn. wystarczy info o użyciu komponentu i sposobie otrzymania źródeł *OD
WYPUSZCZAJĄCEGO OPROGRAMOWANIE* -- link do strony autorów biblioteki *NIE
WYSTARCZA* -- trzeba udostępniać samemu, przy czym wystarczy wysłanie źródeł
zwykłą nieelektorniczną pocztą (i AFAIR opcja wysyłki pocztą musi istnieć,
ale nie jestem pewien). Za wysłanie źródeł wolno pobrać opłatę (której
licencja LGPL nie określa).
> pełny kod źródłowy takiego komponentu, wraz z własnymi modyfikacjami
> (zaznaczam: tylko komponentu, już nie całego własnego programu).
Tak, jednym ze sposobów udostępnienia źródeł jest ich dołączenie do dystrybucji.
No i nie wolno zapominać o zostawieniu możliwości podlinkowania innnej
wersji biblioteki (oczywiście pod warunkiem zachowania zgodności binarnej).
Przy czym wiele bibliotek z tego punktu LGPL jawnie rezygnuje.
pzdr
--
Sebastian Kaliszewski
-
9. Data: 2006-08-30 21:09:44
Temat: Re: Przegląd licencji na oprogramowanie - co można wykorzystywać w projektach komercyjnych i na jakich zasadach ?
Od: m...@g...com
Sebastian Kaliszewski wrote:
> Any User wrote:
>>>Z tego co wiem, komponenty, kody na licencji LGPL można dołączać do
>>>swoich komercyjnych aplikacji bez zadnych dodatkowych opłat, nie
>>>trzeba chyba nawet informować o użyciu takiego komponentu.
>>
>> Mylisz się. Można dołączać bez opłat, ale trzeba jak najbardziej o tym
>> informować, a co więcej, trzeba dołączać (lub udostępniać
>> zainteresowanym)
>
> Tzn. wystarczy info o użyciu komponentu i sposobie otrzymania źródeł *OD
> WYPUSZCZAJĄCEGO OPROGRAMOWANIE* -- link do strony autorów biblioteki *NIE
> WYSTARCZA* -- trzeba udostępniać samemu, przy czym wystarczy wysłanie
> źródeł zwykłą nieelektorniczną pocztą (i AFAIR opcja wysyłki pocztą musi
> istnieć, ale nie jestem pewien).
Wydaje mi się że źródła mają być dostępne tą samą drogą co binarka. Czyli
jeżeli dajesz binarki na www, to źródła też na www.
p. m.
-
10. Data: 2006-08-31 12:15:03
Temat: Re: Przegląd licencji na oprogramowanie - co można wykorzystywać w projektach komercyjnych i na jakich zasadach ?
Od: m...@g...com
Sebastian Kaliszewski wrote:
> m...@g...com wrote:
>> Wydaje mi się że źródła mają być dostępne tą samą drogą co binarka. Czyli
>> jeżeli dajesz binarki na www, to źródła też na www.
>
> To raczej w drugą stronę -- jeśli np. rozprowadzasz soft przez publikacje
> na alt.bin to nie musisz źródeł wpychać na stronę. Tak samo jeśli np.
> rozprowadzasz soft "pudełkowy".
>
> Jako minimum wystarczy zapewnienie wysyłki.
Ale jeżeli rozprowadzasz binarki przez alt.bin, to musisz przez to alt.bin
dać także źródła (pewnie udostępnienie przez www by wystarczyło), nie
możesz wysyłać tylko pocztą.
Ale jeżeli wysyłasz binarki pocztą za opłatą 100$, to też możesz wysłać
źródła pocztą, tylko tym którym wysłałeś binarki (i nie jestem pewien czy
też za źródła nie możesz żądać drugiego $100).
p. m.