Prace / Artykuły / Licencjonowanie otwartego oprogramowania
Licencjonowanie otwartego oprogramowania
Wolne oprogramowanie
Termin wolne oprogramowanie (free software) został stworzony przez Richarda Stallmana. Stallman nie mógł pogodzić się z faktem, że w latach 70. dwudziestego wieku firmy nagminnie zaczęły rozpowszechniać oprogramowanie, którego kod źródłowy nie był dostępny. Według niego użytkownicy powinni mieć prawo do samodzielnego rozwijania i poprawiania już istniejących aplikacji.
W 1985 roku założył on Free Software Foundation (FSF), organizację, która działa na rzecz rozwoju wolnego oprogramowania. Według definicji FSF takie oprogramowanie musi gwarantować cztery swobody:
- uruchamiania programu w dowolnym celu;
- analizy działania programu i dostosowywania go do swoich potrzeb, z czym związana jest dostępność kodu źródłowego;
- rozprowadzania kopii programu;
- ulepszania programu i rozpowszechniania własnych modyfikacji.
Najprostszą odmianą wolnego oprogramowania jest nazywana public domain. Tego rodzaju kod może być wykorzystany bez jakichkolwiek ograniczeń i nie chroni w żaden sposób praw autorskich jego twórcy.
Richard Stallman jest również twórcą pojęcia copyleft. Mianem tym określa się uczynienie oprogramowania wolnym i zapewnienie, by wszelkie modyfikacje również były wolne. Oprogramowanie public domain może zostać zawłaszczone przez jakąś osobę lub przedsiębiorstwo i przestanie być wolne. Natomiast zgodnie z regułą copyleft raz udostępniony kod pozostaje już wolny.
Aby ująć ogólnie sformułowaną zasadę copyleft w bardziej precyzyjnej formie, FSF opracowało GNU General Public License (GNU GPL bądź po prostu GPL). Oto niektóre postanowienia tej licencji:
- program może być rozpowszechniany bez ograniczeń, w tym również sprzedawany, o ile jest udostępniany także w formie umożliwiającej dowolną modyfikację (a zatem nie tylko w postaci binarnej, ale także źródłowej) i na zasadach GPL;
- program może być modyfikowany w całości lub częściowo, a autor zmian musi zamieścić stosowną informację na temat tych modyfikacji;
- prace wykorzystujące przynajmniej fragmenty programów rozpowszechnianych na licencji GNU GPL również muszą być objęte tą licencją;
- oprogramowanie objęte GPL jest licencjonowane bezpłatnie i jako takie nie podlega gwarancji.
Licencja GNU GPL wywołała sporo kontrowersji w środowisku programistów. Główną tego przyczyną jest wspomniana konieczność udostępnienia na zasadach GPL wszelkich programów wykorzystujących jakikolwiek fragmenty kodu objęte tą licencją. Innymi słowy, jeśli programista stworzy aplikację, która wykorzystuje komponent objęty licencją GNU GPL, to musi upublicznić cały kod swojego programu. Z tego powodu wiele firm zajmujących się produkcją oprogramowania woli zrezygnować z używania jakiegokolwiek kodu opartego na tej licencji.
Istnieje też mniej restrykcyjna odmiana GPL o nazwie Lesser GPL (LGPL), która wcześniej była znana jako Library GPL (GPL dla bibliotek). Pozwala ona na wykorzystanie bibliotek nią objętych również w programach, których źródła nie zostaną w całości upublicznione. Sama biblioteka i jej modyfikacje powinny być dostępne także w formie kodu źródłowego, ale pozostałe fragmenty aplikacji, które korzystają z biblioteki, nie muszą spełniać tego wymagania.
FSF za swój cel uważa nie tyle samo zwiększenie popularności kodu tworzonego w zgodzie z GPL, ale raczej upowszechnienie zasady swobodnego modyfikowania i rozpowszechniania oprogramowania. Tego rodzaju podejście nie zyskało powszechnej akceptacji, szczególnie wśród przedsiębiorców.