O Joomla!Projekt Joomla!LicencjeAntylopa, otwartość i źródło

Antylopa, otwartość i źródło

Joomla! jest rozpowszechniany na licencji GNU/GPL, co ma wiele różnych konsekwencji, z których, jak wskazuje doświadczenie i ostatnie wydarzenia w międzynarodowej społeczności Joomla!, wiele osób nie zdaje sobie sprawy. Przyjrzyjmy się więc licencji i wartościom, w obronie których ją stworzono.

Dobrze sprzedane kłamstwo

Żyjemy w świecie, gdzie używanie oprogramowania, na które nie mamy wpływu, którego działania nie możemy poznać, zrozumieć i zmodyfikować dla własnych potrzeb, czy nawet naprawić, gdy działa źle, jest czymś oczywistym i naturalnym. Nie wydaje nam się to dziwne dlatego, że przez dłuższy czas alternatywy były słabe, a sprzedawcom tego upośledzonego oprogramowania udało się wmówić nam, że program w swojej istocie, nie różni się niczym od samochodu czy ciastka. Przyzwyczailiśmy się myśleć o oprogramowaniu, jak o produkcie, który „coś robi”. Jednak, jeśli się przyjrzymy bliżej, to „robi coś” komputer, a program jest jedynie ideą zapisaną w języku zrozumiałym dla człowieka i dla komputera. Bez komputera, na którym można by go uruchomić, nie przedstawia żadnej wartości, tak jak pomysł, którego nie można zrealizować.

Program nie jest podobny do samochodu, ponieważ jego powielenie nie stanowi realnego kosztu. Nie jest podobny do ciastka, ponieważ nie możemy go zjeść ani zużyć. Gdyby ciastko było programem, podzielenie się nim oznaczałoby, że każdy z obdarowanych dostałby takie samo ciastko, takie jak to, które mieliśmy, zanim zaczęliśmy się nim dzielić.

Program jest najbardziej podobny do pomysłu, idei, do wiedzy. Jeśli podzielimy się z kimś ideą czy wiedzą, pomnażamy ją dzięki temu, że ludzie, którzy ją poznają, mają możliwość dodania do niej własnego punktu widzenia i doświadczeń oraz ulepszenia jej, kiedy okaże się, że w jakimś zakresie funkcjonuje ona źle. Owe ulepszenia mogą być potem oddane pozostałym dla ogólnego dobra. Albert Einstein nie mógłby stworzyć teorii względności, gdyby nie rozumiał Newtonowskiej mechaniki. Newton, tworząc mechanikę, nie mógł przewidzieć efektu relatywistycznego, ponieważ w świecie, w którym żył, prędkości były tak małe, że efekt ten nie był obserwowany. Dopiero połączenie jego geniuszu (i wielu innych po drodze) z doświadczeniem świata, w którym żył Einstein, oraz jego geniuszem, pozwoliło na ulepszenie mechaniki, tak by jeszcze dokładniej opisywała ruch we wszechświecie.

Ruch wolnego oprogramowania ma na celu przywrócenie prawdziwego rozumienia tego, czym jest program komputerowy oraz zapewnienie rozwoju oprogramowania poprzez zagwarantowanie jego użytkownikom czterech podstawowych wolności:

  • wolności działania (swobody uruchamiania programu w dowolnym celu);
  • wolności do nauki (swobody studiowania zasady działania programu);
  • wolności pomocy sąsiadowi (swobody upowszechniania kopii programu);
  • wolności bycia twórczym członkiem społeczności (swobody udoskonalania programu i publikowania własnych poprawek).

Wolność i matematyka

Eben Moglen doskonale wyjaśnił ideę wolnego kodu w wystąpieniu na konferencji Plone w październiku ubiegłego roku. Tych, którzy nie mieli okazji go wysłuchać, a znają język angielski, gorąco zachęcam do odwiedzenia YouTube.

Eben Moglen, prawnik i programista, trafnie porównuje tę ideę do idei matematycznej i pyta, czy gdyby matematyka była produktem, rozwój łacińskiej cywilizacji mógłby postąpić tak szybko.

Wyobraźmy sobie, że matematykę kupuje się tak, jak obecnie oprogramowanie i każdy może jej użyć tylko tyle, na ile go stać. Łatwo przewidzieć, że sprzedawcy matematyki staliby się bajecznie bogaci, ale rozwój matematyki szybko by zwolnił ze względu na ograniczenie dostępu do niej. Fizyka, biorąc pod uwagę ilość potrzebnej przy jej uprawianiu matematyki, przestałaby się rozwijać. W efekcie nigdy nie wynaleziono by silnika czy telefonu lub stałoby się to znacznie, znacznie później. Problem wolności oprogramowania nigdy by nie zaistniał, ponieważ nigdy nie wynaleziono by komputera...

Odrobina historii

W latach sześćdziesiątych oprogramowanie było wolne, programiści wymieniali ze sobą kod źródłowy, pomysły i rozwiązania w sposób całkowicie nieskrępowany. Programy nie należały do nikogo, a raczej należały do każdego, kto ich używał. Później ktoś wpadł na pomysł, by za pomocą licencji zabezpieczać prawo do informacji o tym, kto jest autorem programu.

Nie byłoby w tym nic złego, jednakże szybko znaleźli się ludzie, którzy wykorzystali ten pomysł do ograniczenia wolności wykorzystywania, modyfikowania i dzielenia się programami. Pomysł ten rozwinięto dalej w kierunku pobierania opłat za możliwość korzystania z nich. W efekcie pod koniec lat siedemdziesiątych nie można już było uruchomić komputera bez zakupienia od kogoś systemu operacyjnego. System operacyjny musieli też kupić ludzie, którzy włożyli ogromny wkład w to, żeby powstało coś takiego jak system operacyjny i rozwiązania w nim zastosowane. Pod koniec lat osiemdziesiątych firma, która okazała się najdoskonalsza w ograniczaniu cudzych praw, najsprawniejsza w naginaniu prawa dla swoich celów i najlepsza w wykorzystywaniu cudzych rozwiązań, by traktować je potem jak własne, stała się globalnym monopolistą w produkcji oprogramowania. Oprogramowanie stało się produktem. Podziwiam Bila Gatesa za to, co udało mu się osiągnąć. Biorąc jednak pod uwagę wolność i prawa innych ludzie, które zostały zniszczone, by to osiągnąć, „podziwiam” go na tej samej zasadzie, co dwóch największych wodzów ubiegłego stulecia.

Już na początku lat osiemdziesiątych próbowano przeciwdziałać zawłaszczeniu i zniewoleniu oprogramowania. 23 lata temu Richard Stallman, twórca systemów operacyjnych, inżynier MIT założył projekt GNU (GNU is Not UNIX). Rok później założył Fundację Wolnego Oprogramowania (FSF – Free Software Foundation) powołaną do ochrony wolnego oprogramowania i rozpowszechniania wiedzy o nim. Ponieważ z czasem stało się jasne, że jedynym sposobem obrony przed ograniczającymi wolność i prawa licencjami jest wydanie licencji jej gwarantującej, w 1989 roku Fundacja opracowała pierwszą wersję GNU/GPL.

Powszechne nieporozumienia

Wokół wolnego oprogramowania narosło wiele nieporozumień, wyjaśnijmy niektóre z nich.

Open source – jawny kod

Często wolne oprogramowanie jest utożsamiane z oprogramowaniem open source. Nie jest to jednak słuszne. Wolność jest pojęciem ogólnym, podczas gdy jawność jest pojęciem praktycznym.

Łatwo wyobrazić sobie oprogramowanie o jawnym kodzie, które ogranicza wolność jego użytkowania. Powiedzenie komuś: „możesz patrzeć, ale nie możesz dotykać” jest w pewnym sensie bardziej wredne niż całkowite zabronienie dostępu. Czego oczy nie widzą, tego sercu nie żal. Każde wolne oprogramowanie jest oprogramowaniem o jawnym kodzie, ponieważ tylko w ten sposób można zapewnić swobodę zrozumienia zasad jego działania. Ale nie każde oprogramowanie open source jest wolne, ponieważ w wielu przypadkach ogranicza którąś z pozostałych podstawowych wolności.

Rozwój społeczny a korporacyjny

Powszechny jest pogląd, że dobre oprogramowanie może być tworzone tylko przez firmę gwarantującą posiadanie odpowiednich zasobów, jakość oprogramowania i wsparcie techniczne. W zasięgu ręki mamy dowody, że tak nie jest. Microsoft po sześciu latach pracy nad swoją przeglądarką udostępnił w końcu jej siódmą wersję, która już podczas premiery była przeglądarką gorszą niż FireFox rozwijany na zasadach wolnego oprogramowania. FireFox jest szybszy, stabilniejszy i co najważniejsze znacznie bezpieczniejszy w użyciu. Ewentualne błędy dostrzeżone w FF są poprawiane niemal natychmiast, podczas gdy użytkownicy IE muszą miesiącami czekać na wydanie łaty zabezpieczającej ich komputery przed powszechnie znanymi sposobami ataku.

Joomla! jest wydajniejszy, bardziej elastyczny i przyjazny użytkownikowi niż większość CMS-ów dostępnych na warunkach ograniczających wolność użytkowników. Co więcej, żaden z jego konkurentów nie posiada tak bogatej, ogólnie dostępnej i wielojęzycznej dokumentacji, poradników i wsparcia technicznego. Szybkość i jakość prac nad oprogramowaniem w modelu korporacyjnym ma większe ograniczenia niż w wolnym świecie. Przykład: Dwie godziny temu ktoś napisał moduł dla Joomla! i poprosił o przetłumaczenie go na inne języki. W tej chwili dostępnych jest już pięć pełnych tłumaczeń. Okazuje się, że ludzie są z natury dobrzy i skłonni do współpracy. Wystarczy ją tylko umożliwić.

Darmowy znaczy wolny

Podobnie jak w przypadku jawności, możliwość używania programu bez wnoszenia opłat za jego użytkowanie jest pojęciem czysto praktycznym. Zapewnia jedynie (często w ograniczonym zakresie) pierwszą ze swobód wolnego oprogramowania.

Wolny znaczy darmowy

Zwykle tak, choć czasem pobierane są opłaty za dystrybucję programu (utrzymanie serwera, nagranie płyty kosztuje), to sam program pozostaje darmowy. Co więcej, mogę go udostępnić koledze za darmo. Zmniejszam dzięki temu obciążenie serwera wydawcy lub nie narażam go na koszty związane z nagrywaniem płyty. Nie mniej ważne jest też to, że zmniejszam obciążenie Sieci, która jest naszym środowiskiem naturalnym i należy o nią dbać.

TCO dla wolnego oprogramowania jest wyższe

Total Cost of Ownership (TCO) to wskaźnik całkowitego kosztu oprogramowania dla końcowego odbiorcy, uwzględniający nie tylko koszt zakupu, ale również koszt wdrożenia i utrzymania oprogramowania. Był czas, gdy ze względu na małą ilość liczbę specjalistów koszty wdrożenia wolnego oprogramowania przekraczały koszty zakupienia licencji i wdrożenia oprogramowania sprzedawanego jako produkt. Jednak dzięki rozwojowi projektów w wolnym świecie, coraz lepszej dokumentacji i rosnącej liczbie użytkowników, wzrosła również liczba ilość specjalistów, pomoc techniczna stała się bardziej dostępna, a TOC dla wielu wolnych programów jest znacząco niższy od TOC ich konkurencji sprzedającej program jako produkt.

Licencja

Jak wspomnieliśmy wcześniej, pierwsza wersja GNU/GPL została stworzona w 1989 roku. Nieco ponad dwa lata później, 2 czerwca 1991, powstała wersja druga, która jest z powodzeniem używana do dziś.

GNU/GPL wersja druga

Druga wersja licencji od wielu lat doskonale broni praw programistów chcących udostępniać innym owoce swojej pracy i chcących korzystać z pracy innych. Jednak przez szesnaście lat korporacje dążące do utrzymania swojej pozycji na rynku i dotychczasowego modelu prowadzenia interesów w sposób niezgodny i często zagrażający wolnemu oprogramowaniu znalazły sposoby, by działać zgodnie z literą licencji, ale wbrew jej duchowi lub w inny sposób zagrozić prawom chronionym przez licencję. Dlatego FSF zdecydowało się wydać trzecią wersję GPL, która ukazała się w tym roku, 29 czerwca.

GNU/GPL wersja trzecia

Sposób działania zmierzający do wykorzystania wolnego oprogramowania bez poszanowania wolności jego użytkowników zwykle nazywany tivoizacją, od firmy, która zastosowała go po raz pierwszy na masową skalę. TiVo używa wolnego oprogramowania w swoich urządzeniach, ale jednocześnie sprzętowo ogranicza jedną z podstawowych swobód – swobodę do modyfikacji, uniemożliwiając uruchomienie zmienionej wersji.

Wolne oprogramowanie ma wielu naturalnych adwersarzy. Największym z nich jest monopolista na rynku oprogramowania, który na ograniczenia swobód użytkowników swojego oprogramowania zbił fortunę. Jedną ze strategii zmierzających do przywrócenia nadwątlonej pozycji Microsoftu jest metoda FUD (Fear Uncertenity and Doubt – rozsiewanie strachu, niepewności i wątpliwości), polegająca na sugerowaniu, że Microsoft jest właścicielem patentów na rozwiązania używane również w wolnym oprogramowaniu i może wykorzystać je przeciwko programistom, którzy z nich korzystają. Taka strategia może być skuteczna wobec pojedynczych programistów, niewielkich firm, czy nawet całej wolnej społeczności. Może się ona jednak obrócić przeciwko stronie ją stosującej, jeśli zagrożone poczują się inne korporacje, takie jak Novell, IBM, a wraz z nimi ich udziałowcy, wielcy potentaci finansowi. Dlatego też Microsoft dąży do ograniczenia zasięgu tej kampanii do projektantów, programistów i osób prywatnych, podpisując takie umowy jak ostatnia, zezwalająca Novellowi na wykorzystanie patentów.

Takie praktyki budzą uzasadnione obawy wśród zwolenników wolnego oprogramowania, pozostaną bowiem bezbronni, jeśli Microsoft będzie mógł wystąpić selektywnie, tylko przeciw nim, pomijając firmy i korporacje mające zasoby finansowe, pozwalające mu się przeciwstawić. FSF stoi na stanowisku, że patentowanie oprogramowania jest czymś gruntownie niesłusznym i dąży  do jego zniesienia, ale musi liczyć się z istnieniem patentów i bronić przez ich wykorzystywaniem przeciwko swoim podopiecznym. Dlatego do wersji trzeciej GNU/GPL wprowadzono zapis mówiący, że jeżeli program jest udostępniany na licencji GNU/GPL jednemu użytkownikowi wraz z prawem do wykorzystywania patentów, automatycznie z tych patentów mogą korzystać wszyscy. Pozostałymi zaletami wersji trzeciej są: lepsze dostosowanie do prawa międzynarodowego, wsparcie dla BitTorrenta i zgodność z licencją Apache.

Joomla! jest skłonny zaktualizować swoją licencję do trzeciej wersji GNU/GPL. Licencje te są jednak niezgodne. Każda z nich wymaga, by utwory zależne były publikowane na tej samej licencji. Możliwość wykorzystania wersji trzeciej jako licencji Joomla! zależy więc od tego, czy kod, z którego korzysta Joomla!, zostanie opublikowany na tej wersji. Aby przygotować się na wydanie Joomla! na licencji trzeciej, powinniśmy wydawać rozszerzenia na podwójnej licencji – drugiej i trzeciej (tymczasowo nie aktywnej).

Konsekwencje stosowania GNU/GPL

Wydanie Joomla! na licencji GNU/GPL oznacza, że zapewniamy wszystkim cztery podstawowe swobody wymienione wcześniej (uruchamiania, studiowania, upowszechniania i udoskonalania). Oznacza również, że zgodnie z zasadami licencji wszelkie utwory zależne muszą być udostępniane na tej samej zasadzie. Przyjrzyjmy się więc, jakie licencja ma konsekwencje dla twórców rozszerzeń, ich użytkowników i osób wdrażających serwisy oparte na Joomla!.

Utwory zależne

Rozszerzenia w większości są utworami zależnymi Joomla!, w związku z czym muszą być wydawane na licencji GNU/GPL.

Obowiązek przekazania licencji

Jeżeli następuje przekazanie programu, odbiorca musi być świadom licencji i akceptować ją, aby móc go używać.

Autorstwo

To, że autor oprogramowania zrzeka się większości praw zwyczajowo mu przynależnych, w tym w dużej mierze praw związanych z własnością, nie oznacza, że można traktować go, jakby nie istniał. Licencja wymaga, by właściwa informacja o prawie autorskim i autorach była obecna w każdej kopii programu, wiernej lub zmodyfikowanej.

Wynagrodzenia

Nie można pobierać opłat za sam program, ponieważ nie posiadamy do niego wyłącznych praw. Można natomiast pobierać opłaty za jego dystrybucję, za usługi wykonywane przy jego pomocy oraz za jego wdrożenie.

Gwarancja

Licencja stanowi, że program nią objęty jest udostępniany bez żadnych gwarancji, w tym również domyślnej gwarancji przydatność handlowej lub przydatności do określonych celów. Jednakże jeśli program wdrożony dla klienta posiada rozwiązanie licencjonowane na zasadach GPL, i jeśli chcesz udzielić gwarancji, możesz to zrobić na zasadach oddzielnej umowy.

Udostępnianie kodu

Joomla! jest napisany głównie w języku PHP i Javascrpt, więc kod programu jest z natury jawny. Jeżeli zachodzi potrzeba jego zakodowania, to na żądanie każdego, kto otrzyma ten program na licencji GNU/GPL należy udostępnić mu go w wersji jawnej.

Wprowadzenie modyfikacji

Każdy ma prawo do wprowadzenia modyfikacji do utworów objętych licencją, jednak pod warunkiem czytelnego oznaczenia, że wersja została zmodyfikowana, a w przypadku dalszej dystrybucji przekazania jej na tych samych prawach i zasadach, na których otrzymano program oraz zachowania wszelkich informacji o autorstwie (w tym również komunikatów ekranowych, jeżeli oryginalny program takie wyświetla).

Joomla! dobrowolnie rezygnuje z prawa do zachowania komunikatu o autorstwie i licencji w stopce witryn tworzonych na jej podstawie. Muszą jednak być zachowane wszelkie dane o autorstwie, w plikach oraz tagu meta w generowanym kodzie HTML.

Mimo że nie ma obowiązku wyświetlania stopki informującej o tym, że serwis działa na Joomla!, pozostawienie jej, jest miłym gestem wobec jego autorów i społeczności. Zachęcamy więc do pozostawienia stopki, przecież naprawdę niczemu to nie szkodzi, a to, że witryna jest postawiona na jednym z najlepszych CMS-ów i informuje o tym, dobrze świadczy o jej właścicielach.

Rozpowszechnianie

Rozpowszechnianie może być dokonywane tylko z przekazaniem tych samych praw, na jakich otrzymano program, i oraz z przekazaniem praw licencji. Oznacza to, że każdy ma prawo rozpowszechniać kopię Joomla!, jej modyfikacje i rozszerzenia na licencji GNU/GPL.

Artykuł został opublikowany w Software Developer’s Journal Extra! nr 26 (r. 2007)

Ostatnio zmieniany So. 24 Lis 2012
comments powered by Disqus Powrót na górę
Oglądasz teraz:   O Joomla!Projekt Joomla!LicencjeAntylopa, otwartość i źródło