] > Oprogramowanie z licencją na wolność - Karol „Zal” Zalewski - Blog

Oprogramowanie z licencją na wolność

2009-02-18, Środa 11:50:04 +0100, autor Karol „Zal” Zalewski, licencja LPRCTKC

Z tego, co widzę, to nie tylko ja sam mam kłopot z określeniem tego, co mogę zrobić z kodem będącym udostępnianym na danej licencji. Nie lada to problem, gdy nie chcemy implementować czegoś, co już dawno temu zostało zaimplementowane, a przy okazji myślimy o tym, aby cały nasz projekt spełniał np. ograniczenia wynikające z zasad funkcjonujących wewnątrz firmy. Z racji swych zainteresowań postanowiłem przyjrzeć się z bliska licencjom GPL, LGPL oraz BSD.

Open Source

Public domain nie jest tak właściwie licencją, ale określeniem na kod, czy każde inne dzieło do którego autor zrzekł się swoich praw. Sama czynność zrzeknięcia się praw jest dosyć istotna z tego względu, iż obecnie wszystko, co stworzymy jest domyślnie objęte prawami autorskimi (w przypadku np. Polski). W praktyce oprogramowanie public domain jest wolne i otwarte, o ile udostępnia się je wraz z kodem źródłowym. Można z nim robić co się tylko nam żywnie podoba.

GNU GPL bywa pejoratywnie określana mianem licencji wirusowej. Oprogramowanie na takiej licencji musi być udostępniane wraz z kodem źródłowym. Ten ostatni można dowolnie kopiować i rozpowszechniać program bez jego zmiany, o ile wszystkich odbiorców poinformujesz o odpowiednich prawach autorskich. Na program nie udziela się gwarancji, ale... można pobierać opłatę za jej udzielenie oraz serwis samego programu. Co do modyfikacji i tworzenia na jego podstawie prac zależnych to po pierwsze trzeba to wyraźnie zaznaczyć w kodzie, a po drugie praca korzystająca z takiego kodu musi być również udostępniona na licencji GPL, o ile będzie udostępniana osobom trzecim. Stąd też wspomniane nawiązanie do wirusa.

GNU LGPL jest nieco bardziej liberalnym odpowiednikiem GPL. Co ważne, w każdym momencie można dokonać konwersji LGPL na GPL. Odwrotne działanie nie jest możliwe. To, co najważniejsze zawarte jest w punkcie 5 licencji. Program, który korzysta z innego programu objętego licencją LGPL pod postacią bibliotek współdzielonych (to ważne!) może pozostać zamknięty (tj. może zostać zastosowana dowolna licencja). Nie dotyczy to jednak programów, które w kodzie binarnym zawierają fragmenty kodu binarnego aplikacji objętej LGPL (tyczy się to również kodu źródłowego).

Zmodyfikowana licencja BSD jest najbardziej liberalną spośród wymienionych (WTFPL nie jest wymieniona) licencji. Jedyne, czego wymaga to konieczność podania informacji o autorach pierwotnego kodu wraz z treścią licencji (zarówno w wersji binarnej aplikacji, jak i źródeł). Koniec, od tej pory możemy robić, co tylko nam się podoba.

Oczywiście, popularnych licencji jest znacznie więcej. Całkiem niezłym źródłem informacji na ten temat jest GNU.org. Niestety, spojrzenie na nie jest stosunkowo wąskie i dostosowane do zainteresowań GNU.

Czy tylko ja odnoszę wrażenie, że programistom przydałoby się proste porównanie popularnych licencji w formie tabelki? Jedno spojrzenie i koniec problemów. To, co przeczytaliście jest jedynie skrótem ułatwiającym podjęcie decyzji, ale z pewnością nie zastąpi samodzielnego przeczytania powyższych licencji.

[EDIT] Azrael udostępnił własną pracę magisterską na licencji Creative Commons BY-NC-SA 3.0 dot. licencji oprogramowania komputerowego.

Komentarze do wpisu Oprogramowanie z licencją na wolność
  1. Airborn powiedział(a):

    Tak tylko napomknę, że polskie prawo nie przewiduje możliwości zrzeknięcia się praw autorskich, a jedynie majątkowych.

    W tym miejscu dochodzimy do pytania: czy licencja GPL przysparza więcej kłopotów, czy korzyści, sam ostatnio miałem styczność z programistą tworzącym darmowe, aczkolwiek nie otwarte oprogramowanie, który nie mógł znaleźć potrzebnej biblioteki poza GPL. Moim zdaniem powinien być w jakiś sposób udostępniony dostęp do niekomercyjnego wykorzystania takiej licencji w aplikacjach niekomercyjnych (chyba, że można to osiągnąć prosząc autora o licencję LGPL).

    Rozumiem Zal, że teraz czekamy aż zbierzesz trochę sił, i przygotujesz tabelkę?:>

  2. Zal powiedział(a):

    @Airborn: To kwestia definicji wolności i tego jak działa. Podejrzewam, że dla wielu GPL pozostanie domyślną licencją i tego typu problemy nadal będą się pojawiać ;p LGPL w dużej mierze rozwiązuje ten problem, ale Stallman sukcesywnie zniechęca ludzi do korzystania z niej. Ideałem dla mnie jest BSD, lub np. WTFPL.

    Co do tabelki – zastanawiałem się nad tym i doszedłem do następujących wniosków. Po pierwsze – pomimo chęci posiadania takiej wiedzy nijak nie nadaję się do tego, aby odpowiednio interpretować poszczególne licencje – mogę popełnić fundamentalne błędy. Po drugie – najpierw należałoby zdefiniować to, co powinna posiadać licencja „idealna” i na jej podstawie stworzyć odpowiednią tabelkę tak, aby móc odhaczać odpowiednie „opcje”. Odnoszę jednak wrażenie, że nie dałoby się w takiej tabelce uniknąć pól opisowych. Ba! Byłoby ich nawet więcej, niż tych typu „tak/nie” :P

    Tak, czy inaczej – przydałaby się taka tabelka ;>

  3. Airborn powiedział(a):

    z definicji nie istnieje chyba coś takiego jak idealna licencja (poza beerware oczywiście), wszystko zależy od potrzeb ;) Można by założyć specjalny komitet który stworzy takową tabelką porównującą licencje i opublikuje ją, no właśnie… na jakiej licencji? CC-BY imo by najbardziej pasowało :P ale fakt, bez przynajmniej jednej osoby siedzącej mocno w temacie w dużej mierze wszystko pozostało by w strefie domniemań.

  4. Matthew powiedział(a):

    BSD niestety nie jest takie cudne… IMO jest to licencja dość niepraktyczna ze względów finansowych. Weźmy takich programistów OpenBSD. Trudno powiedzieć z czego się utrzymują, ale dajmy na to, że coś tam z racji kodzenia OpenBSD dostają. Weźmy takiego MacOSX. Zrobiony na OpenBSD, kosztuje fortunę, sprzęt do niego jeszcze więcej. A co mają z tego programiści OpenBSD? Nic. Mało kto wie, że MacOSX jest właśnie na nim zrobione.
    Poza tym pewna hipokryzja ludzi używających licencji BSD. Nikt nie robi problemu, gdy na Linuksie chcemy używać zamkniętych sterowników. Ściągamy, instalujemy, działa. W przypadku OpenBSD jest odwrotnie. Wielka afera o używanie zamkniętych sterowników. I to mimo bardziej liberalnej licencji, która pozwala prawie na wszystko.

  5. Zal powiedział(a):

    @Matthew: Tylko z drugiej strony GPL wymusza wolność. Każda z tych licencji ma swoje wady. LGPL wydaje mi się, przynajmniej teraz, rozsądnym kompromisem między „wolną wolnością”, a wymuszoną wolnością ;]

    Co do MacOSX – laicy nie orientują się pewnie w ogóle kwestii licencji, a ci którzy trochę liznęli tego (np. ja) wiedzą o co chodzi :D Ale oczywiście – nie jest to żaden argument, tylko moje spostrzeżenie.

  6. Bartek powiedział(a):

    Dorzuciłbym jeszcze beerware. Może mało istotna, ale bardzo fajna, idealna dla małych programów/skryptów.
    Matthew: Programiści OpenBSD po prostu chcą się podzielić swoją pracą i widać nie przeszkadza im zbytnio, że ktoś wykorzystał ich kod w celach komercyjnych. Nie rozumiem, co ci do tego, co kto pozwala robić ze swoim kodem.
    Hipokryzja? Źle interpretujesz sprawę. Programiści OpenBSD po prostu uważają, że niewolny kod w jądrze obniża jego wydajność, stabilność, bezpieczeństwo, nie jestem dokładnie pewny co. Jako, że OpenBSD stawia przede wszystkim na bezpieczeństwo i stabilność, takie posunięcie jest dla mnie jak najbardziej zrozumiałe.

  7. hm powiedział(a):

    uhm, dla przypomnienia sytuacji w OpenBSD (przynajmniej w 2006 roku):
    http://article.gmane.org/gmane.os.openbsd.misc/99533
    (potem dla przypomnienia dostali $ 10K od Mozilla Foundation)

    Ale jak teraz to wygląda, to nie wiem.

  8. Zal powiedział(a):

    @hm: Dzięki za info.

    Wygląda na to, że nie sposób, aby tak duże projekty realizowane były bez jakichkolwiek wydatków. A dobrowolne zrzutki pieniędzy nie zawsze są skuteczne. Przynajmniej od odbiorców indywidualnych ;D

    Tak na marginesie to ja też nie publikuję na zupełnie wolnej licencji ;p CC BY-SA 3.0 jest wirusowa ;>

  9. Azrael Nightwalker powiedział(a):

    Napisałem pracę magisterską z porównaniem wymienionych przez ciebie licencji.
    http://reksio.ftj.agh.edu.pl/~azrael/mgr/praca_v2.60-cc.pdf
    Udostępniłem ją na CC-BY-SA-NC.
    Myślę, że ci się przyda i sporo ci rozjaśni w tematyce licencjonowania oprogramowania.

  10. Zal powiedział(a):

    @Azrael: Dzięki! Brzmi interesująco. Co prawda wątpię, abym przeczytał całość, ale interesujące mnie fragmenty z pewnością przyczynią się do poszerzenia mojej wiedzy z tego zakresu. Mam nadzieję, iż w powyższej notce nie popełniłem błędów merytorycznych?

    Na marginesie – muszę zainteresować się kwestią praw autorskich związanych z pracą magisterską. Z chęcią pokusiłbym się o nadanie przyszłej pracy odpowiedniej licencji ;]

  11. mina86 powiedział(a):

    Zanim zaczniemy omawiać GPL, chyba warto uświadomić sobie o co w tej licencji chodzi. Z czego zapewne każdy zdaje sobie sprawę istotą tej licencji jest wolność, ale należy zwrócić uwagę, że nie ma tutaj mowy o autorze, a o użytkowniku i dlatego określenie, iż GPL „wymusza wolność” wydaje mi się śmieszne. GPL robi to, do czego został zaprojektowany — gwarantuje, że wszyscy użytkownicy programu z kodem na licencji GPL będą mogli go używać, kopiować, rozdawać, studiować, modyfikować, sprzedawać itp.

    Jedynym kłopotem jaki GPL może ze sobą nieść, jest kłopot dla autorów programów własnościowych, ale skoro chcą korzystać z kodu wydanego na zasadach licencji GPL to niech się do nich podporządkują — są wolni i mogą to zrobić albo znaleźć jakąś inną bibliotekę. Gdyby biblioteka była produktem własnościowym duża szansa, że autor nie miałby takiego wyboru, a gdyby była na licencji LGPL czy BSD to wolność traciłby użytkownik finalnego produktu — dlatego właśnie Stallman zachęca do stosowania GPL zamiast LGPL.

  12. Zal powiedział(a):

    @mina86: Stwierdzenie, iż istnieje wiele definicji wolności byłoby równie prawdziwe, jak stwierdzenie, iż w morzu jest wiele wody.

    „Wymuszeniem wolności” jest moim zdaniem nakazanie, aby wszystko, co powstaje na bazie kodu objętego GPL-em również było objęte GPL-em. Ale, w życiu nie zaryzykowałbym walki, o to, aby np. BSD nazywać bardziej wolnym, niż GPL ;]

  13. witek powiedział(a):

    „Jedynym kłopotem jaki GPL może ze sobą nieść, jest kłopot dla autorów programów własnościowych”

    Nie, także wolnych, ale np. zawierających kod objety inną licencją typu copyleft. Wtedy nie mozesz nawet wydać kodu na GPL.

  14. mina86 powiedział(a):

    No tak, to jest problem trochę innego rodzaju, który zostałby rozwiązany, gdyby wszyscy używali GPL.

  15. witek powiedział(a):

    Ale to jest problem jeszcze innego rodzaju;)

    1. Aby pozbyć się tego problemu, trzeba oczywiście używać GPL vX or later (niekompatybilnośc pomiędzy wersjami) => ktoś ustala warunki na jakich można korzystać z Twojego programu, a to nie każdemu musi się podobać.
    2. Warunki aktualnej wersji GPL mogą komuś nie pasować.
    3. Co z kodem na innych licencjach (w tym konkretnych wersjach GPL) który już jest, a ma tylu autorów, że zmiana licencji nie jest możliwa?

    Istnienie tylko licencji wolnego oprogramowania miało by oczywiście swoje zalety, ale też wady przez które zawsze znajdzie się ktoś, kto stworzy inną:)

    P.S. Ta captcha jest prawie nie do odczytania.

  16. Karol "Zal" Zalewski powiedział(a):

    @witek: Poprawiłem Captchę na taką, która to nie powinna nikomu sprawiać problemów, szczególnie OCR-om ;D Gdyby jednak pojawili się spamerzy (w co szczerze wątpię) to powrócę do mniej czytelnej. Chociaż, gdyby ktoś chciał to i ta mniej czytelna nie stanowiłaby problemu.

  17. Azrael Nightwalker powiedział(a):

    @Zal
    Niestety jest kilka błędów.
    1) „GNU GPL to tzw. licencja wirusowa.”
    Nie powinno się używać tego określenia bo jest nacechowane negatywnie (zna ktoś dobre wirusy?). Użyłeś go tak jakby to było standardowe określenie z literatury naukowej, a tak nie jest.

    2) „praca korzystająca z takiego kodu musi być również udostępniona na licencji GPL”
    Tylko jeśli ją rozpowszechniasz. Jeśli nie dystrybuujesz zmodyfikowanego programu to nie musisz udostępniać jego kodu (patrz co robi Google, i jak działa model Software as a Service).

    3) „Nie dotyczy to jednak programów, które w kodzie binarnym zawierają fragmenty kodu binarnego aplikacji objętej LGPL.”
    Tu przede wszystkim chodzi o kod źródłowy.

    4) „Oczywiście, popularnych licencji jest znacznie więcej. Całkiem niezłym źródłem informacji na ten temat jest GNU.org. Niestety, spojrzenie na nie jest wybiórcze, dostosowane do zainteresowań GNU”
    Dlaczego wybiórcze? Są tam opisane praktycznie wszystkie znane mi licencje. Jak jakiejś tam nie ma to możesz do nich napisać żeby opublikowali swoją opinię o niej (sam tak zrobiłem w sprawie licencji Microsoft Shared Source). A to że niektóre z tych opinii są wyjątkowo krótkie oznacza że tyle im wystarczy do ich opisania.

    Wszystkie takie zawiłości starałem się opisać ludzkim językiem w mojej magisterce.

    „Czy tylko ja odnoszę wrażenie, że programistom przydałoby się proste porównanie popularnych licencji w formie tabelki?”
    Takie tabelki istnieją:
    http://blogs.sun.com/chandan/entry/copyrights_licenses_and_cddl_illustrated
    http://en.wikipedia.org/wiki/File:Quick-guide-gplv3-compatibility.svg

    PS: polecam także lekturę ostatniego wywiadu z Brucem Perensem
    http://itmanagement.earthweb.com/osrc/article.php/12068_3803101_1/Bruce-Perens-How-Many-Open-Source-Licenses-Do-You-Need.htm

    @Matthew
    „A co mają z tego programiści OpenBSD? Nic. Mało kto wie, że MacOSX jest właśnie na nim zrobione.”
    Nie prawda. Mac OS X jest oparty na FreeBSD 5 z mikrojądrem Mach 3.0.
    http://images.apple.com/macosx/pdf/MacOSX_UNIX_TB_v2.pdf

  18. Matthew powiedział(a):

    Fakt, mój błąd. Miałem na myśli, że obsługa sieci jest wzięta z OpenBSD (którą to OpenBSD ma jedną z najlepszych i najbezpieczniejszych)
    Ciekawostka: Oprogramowanie na licencji GPL nie może brać kodu z BSD a oprogramowanie własnościowe może. Dziwne to trochę biorąc pod uwagę fakt, że GPLowi jest bliżej do BSD niż własnościowemu. Tym badziej, że obie licencje mają za zadanie dostarczać wolnego kodu.

  19. mina86 powiedział(a):

    Mógłbyś jakoś poprzeć swoją ciekawostkę? Bo wydaje się, że ludzie z FSF mają odmienne zdanie — tzn. uważają, że zmodyfikowana BSD jest zgodna z GPL.

  20. Matthew powiedział(a):

    Mówiłem o niezmodyfikowanym BSD.

  21. lolek powiedział(a):

    „Co ważne, w każdym momencie można dokonać konwersji LGPL na GPL. Odwrotne działanie nie jest możliwe.”
    Zawsze można zmienić licencje na której będą wydawane kolejne wersje. Wymaga to tylko zgody wszystkich autorów. Czasami to niepraktyczne. Między iinymi z tego powodu Sun wymaga podpisania Sun specjalnego „Contributor Agreement” żeby później nie ganiać za tysiącami autorów poprawek do OO przy wydawaniu Sun Ofice ;)

  22. mina86 powiedział(a):

    No właśnie — w przypadku LGPL niczyja zgoda nie jest potrzebna, bo licencja gwarantuje, że możesz „skonwertować” program do GPL.

  23. chester powiedział(a):

    Hello,
    dzięki Azrael za pracę, na pewno się przyda :)
    Od niedawna interesuje mnie właśnie zakres wykorzystania projektu opartego na licencji GPL, a konkretniej – CMS-a Drupal.
    Na forach widać wiele wypowiedzi na ten temat, ale nikt nie wie na 100% jak można go wykorzystać, wszędzie jedynie domysły, że „sprzedaż” strony opartej o Drupala nie jest stricte rozpowszechnianiem, a tylko usługą „dostosowania” i ja się do tego przychylam.
    Czy dobrze myślę ?

  24. mina86 powiedział(a):

    Kod oparty o GNU GPL można sprzedawać! Nieważne jak to nazywasz czy dostosowywanie, czy rozpowszechnianie. Stronę opartą na kodzie GPL można sprzedawać! Jak to mawia Stallman: „Free as in freedom not as in free beer”. GPL nie zabrania sprzedawania programu.

  25. chester powiedział(a):

    Chodzi mi raczej o to „rozpowszechnianie”, bo wg GPL kod należy rozpowszechniać dalej jako GPL. Ale ciężko stwierdzić tutaj czy samo wykonanie strony opartej o kod GPL jest jego dystrybucją..

  26. KosciaK powiedział(a):

    Azrael – dzięki za udostępnienie pracy! Trochę długie, ale o ile napisane jest „normalnym” językiem może pomoże zrozumieć różnice pomiędzy poszczególnymi licencjami.
    Swoją drogą tak się zastanawiam, zupełnie na marginesie, czy miałeś prawo do opublikowania pracy na takiej licencji? Na wielu uczelniach to uczelnia przejmuje (przynajmniej część) praw do pracy dyplomowej.

  27. chester powiedział(a):

    @KosciaK: ostatnio było o tym gdzieś na Joggerze – w większości przypadków uczelnia ma prawo wykorzystać Twoją pracę, ale nie ma prawa zabronić tego zrobić Tobie.

  28. Zal powiedział(a):

    @Azrael: Wielkie dzięki za poprawki! Zastosowałem się do pierwszej i drugiej. Co do trzeciej – dodałem i informację o kodzie źródłowym, ale najbardziej zdziwiła mnie konieczność wykorzystania „shared object” zamiast zastosowania statycznego podejścia. Odnośnie czwartej – zapewne złego słowa użyłem. Miałem na myśli to, iż ich opisy licencji (a jest ich sporo) tworzone są głównie pod kątem ich wolności. Możliwe, że dotarłem do złych źródeł.

  29. Airborn powiedział(a):

    http://www.ohesso.com/essays/essay006.htm cóż, to też jest jakieś wyjście, tylko będę musiał się chyba odczulić wpierw…

  30. Zal powiedział(a):

    @Airborn: So will I :D Interesująca koncepcja na akceptowanie licencji. Ew. przed drzwiami do pokoju postawić treść własnej licencji :P

  31. witek powiedział(a):

    „„sprzedaż” strony opartej o Drupala nie jest stricte rozpowszechnianiem, a tylko usługą „dostosowania””

    IMO to jeśli dostarczasz klijentowi kod, to nie można twierdzić, że to nie rozpowszechnianie, równie dobrze jeśli zmodyfikujesz jakiś program, mógł byś stwierdzić, że dajesz go komuś nie na GPL, bo to była tylko usługa dostosowania. Tyczy się to oczywiście zmodyfikowanego drupala, a nie np. szablonu.

    Co innego jeśli świadczysz tylko usługę „taka a taka strona bedzie pod takim a takim adresem” i sam zajmujesz się hostingiem, a klijentowi nie dostarczasz żadnego oprogramowania.

  32. chester powiedział(a):

    Tu jest właśnie problem: ja nie modyfikuję kodu drupala, bo dodanie skórki i modułów nie jest modyfikacją jego kodu. Przynajmniej moim zdaniem.

    Inna kwestia – nawet jeśli go rozpowszechniam wtedy Klientowi, to czy takie ‘rozpowszechnienie’ wystarczy aby spełnić warunki GPL, czy może mam obowiązek udostępnić go każdemu kto tylko chce ?
    Głupie to wszystko.. :)

  33. mina86 powiedział(a):

    Jeżeli modyfikujesz w jakikolwiek kod na licencji GPL (czy poprzez dodanie modułu czy poprzez zmodyfikowanie jakichś plików) to co dodasz również musi być na licencji GPL i w tym momencie bez znaczenia jest, czy zamierzasz ten kod komuś dawać czy nie.

    GPL nie zmusza cię do rozpowszechniania zmodyfikowanego programu. Wymaga jedynie, że jeżeli przekażesz komuś program na licencji GPL musisz udostępnić go wraz z czytelnymi źródłami (nie możesz np. przejechać po kodzie programem „zaciemniającym” chyba, że dostarczysz również oryginalne pliki). Ilu osobom i czy w ogóle dostarczysz program zależy wyłącznie od Ciebie — nikt Cię do niczego nie zmusza. Jesteś wolny i możesz przekazywać oprogramowanie komu chcesz.

  34. chester powiedział(a):

    aaa,no to troszkę mam rozjaśnione wszystko :) Jakoś cały czas byłem przekonany że rozpowszechnianie oznacza konieczne udostępnienie tego każdemu kto tylko chce. dzieki!

  35. witek powiedział(a):

    @chester
    Tak jak myślałeś działa AGPL. W przypadku GPL nie możesz tylko zabronić klijentowi modyfikacji (może zająć się tym sam, lub zlecić je komuś innemu) i dalszego rozpowszechniania kodu (istotne jeśli np. sam tworzysz moduły) i o ile dobrze pamiętam musisz poinformować go, że to co dostał jest na GPL.

  36. malpka powiedział(a):

    A mnie nurtuje jedna kwestia. Załóżmy że jest projekt, który korzysta z biblioteki na GPLu, w projekcie jest umieszczony super-ściśle-tajny algorytm szyfrowania, którego kodu źródłowego nie chcemy udostępniać. Czy jest możliwe utworzenie z tej części kodu biblioteki o zamkniętej licencji i rozpowszechnianie komercyjne oczywiście z dostępem do pozostałej części kodu? Jeżeli taka sytuacja nie przemawia do kogoś to dajmy na to nie sami stworzyliśmy nasz szczególny algorytm, tylko kupiliśmy od jakiejś firmy bez dostępu do kodu źródłowego…

  37. mina86 powiedział(a):

    Nie pamiętam już szczegółów, ale zasadniczo całość musi być na GPL-u, a więc również super tajny algorytm szyfrujący (swoją drogą, jeżeli jest super tajny to pewnie kiepski, bo nie było okresu, gdy cały świat mógł go weryfikować, ale to już materiał na inną dyskusję). Autorzy kodu na GPL mogą jednak dodać wyjątek do licencji i określić, że z danym programem może być wykorzystywana taka to a taka biblioteka pomimo, że nie jest ona rozpowszechniana na zasadach licencji GPL. Dalej jednak, wydaje mi się, że jest również zapis, że w takich wypadkach musi być możliwość „wyrzezania” tej biblioteki z programu, a jeżeli dostarcza ona krytycznej funkcjonalności to musi zostać udostępniona alternatywna biblioteka, którą można podmienić (przykładowo, może to być implementacja wolniejsza).

  38. witek powiedział(a):

    @mina86 „zasadniczo całość musi być na GPL-u”

    A jak definiuje się całość? Jak ma się to do linkowania do niewolnej implementacji standarcowej biblioteki danego języka, lub np. do kernel32.dll?

    „Autorzy kodu na GPL mogą jednak dodać wyjątek do licencji i określić, że z danym programem może być wykorzystywana taka to a taka biblioteka”

    Kiedy? Nie znam aż tak dobrze tej licencji. Jeśli korzystam już z czyjegoś kodu na GPL to mogę dodać swój, czy nie?

    „Dalej jednak, wydaje mi się, że jest również zapis, że w takich wypadkach musi być możliwość „wyrzezania” tej biblioteki z programu”

    Czyli można na bazie tego programu stworzyć program nie korzystający z tej biblioteki? To chyba dośc naturalne, często może za to pozbawić ten program funkcjonalności dostarczanej przez tą biblioteke.

    „jeżeli dostarcza ona krytycznej funkcjonalności to musi zostać udostępniona alternatywna biblioteka, którą można podmienić”

    Czyli wspomniany „super-ściśle-tajny algorytm szyfrowania” można podmnienić na rot13? Musi mieć to samo API/ABI? Musi działać w tych samych systemach?

  39. mina86 powiedział(a):

    „Kiedy? Nie znam aż tak dobrze tej licencji. Jeśli korzystam już z czyjegoś kodu na GPL to mogę dodać swój, czy nie?”
    Wyjątek można dodawać jeżeli wszyscy właściciele praw autorskich się na to zgodzą. Sama treść GPL nie ma tutaj większego znaczenia tak naprawdę, bo właściciele praw autorskich mogą rozpowszechniać program na dowolnej licencji więc w szczególności może to być GPL z dodaną klauzulą.

    „Czyli można na bazie tego programu stworzyć program nie korzystający z tej biblioteki? To chyba dość naturalne, często może za to pozbawić ten program funkcjonalności dostarczanej przez tą bibliotekę.”
    Nie chodzi o to, że można stworzyć coś nowego, tylko że modyfikując w trywialny sposób lub zmieniając opcję budowania ma istnieć możliwość stworzenia programu nie wykorzystującego biblioteki opartej na nie-GPL-u. Jednak tak jak mówię należałoby dokładniej przejrzeć treść licencji, bo może coś mieszam.

    „Czyli wspomniany „super-ściśle-tajny algorytm szyfrowania” można podmienić na rot13? Musi mieć to samo API/ABI? Musi działać w tych samych systemach?”
    Nie musi mieć tego samego API ani ABI — wystarczy, że program będzie się dało w prosty sposób skompilować z podmienioną biblioteką, a czy można podmienić na rot13 zależy zapewne od rodzaju aplikacji — jeżeli korzystanie z super tajnego algorytmu jest krytycznym fragmentem programu to raczej nie możesz podmienić tego na rot13, ale jeżeli jest to np. edytor tekstu, który ma dodatkową funkcjonalność szyfrowania to taką funkcjonalność można w całości usunąć. Ale ponownie — nie jestem ostateczną wyrocznią; jeżeli faktycznie taki problem gdzieś się pojawi należy przeanalizować licencję.

  40. jARRodx powiedział(a):

    Kiedyś czytanie różnych wojenek typy „licencja BSD jest bardziej wolna niż licencja GPL” doprowadziło mnie do znacznie szerszych rozważań nad istotą wolności. W ten sposób powstał esej, który polecam wszystkim mocno zainteresowanym tematem: http://blog.rmwysocki.net/eseje/wolność.tidy.html

Dodaj komentarz:

Możesz wykorzystać Markdown. Znaczniki HTML nie działają!

Wysyłając komentarz wyrażasz zgodę na jego publikację na zasadach licencji CC BY-NC-SA 3.0. Jeżeli się na to nie zgadzasz - nie komentuj.

Uwaga! Niniejszy serwis przechowuje adres IP osoby pozostawiającej komentarz. Chcesz pozostać anonimowy? Skorzystaj z Tora, lub bezpiecznego proxy. Z mojej strony gorąco polecam Tora w połączeniu z systemem GNU/Linux, przeglądarką Firefox oraz rozszerzeniem Torbutton.

Polecam: Tor Project

Powyższe logo jest zarejestrowanym znakiem handlowym The Tor Project, Inc.

Podgląd komentarza: