Open Source

Open Source w pigułce

Od czytelników naszego bloga otrzymujemy pytania związane z szeroko pojętym IT. Wiele z nich dotyczy problematyki otwartego oprogramowania – Open Source. Dlatego dziś po raz kolejny podejmiemy interesujący Was temat. Przede wszystkim wskażemy różnice między Open Source a Free Software. Skupimy się na historii oraz głównych założeniach otwartego oprogramowania. Przybliżymy także definicję otwartego źródła oraz […]

Od czytelników naszego bloga otrzymujemy pytania związane z szeroko pojętym IT. Wiele z nich dotyczy problematyki otwartego oprogramowania – Open Source. Dlatego dziś po raz kolejny podejmiemy interesujący Was temat. Przede wszystkim wskażemy różnice między Open Source a Free Software. Skupimy się na historii oraz głównych założeniach otwartego oprogramowania. Przybliżymy także definicję otwartego źródła oraz role najważniejszych osób, które przyczyniły się do rozwoju Open Source.

Open Source (otwarte oprogramowanie) jest rodzajem oprogramowania komputerowego, w którym kod źródłowy można uruchamiać, kopiować, rozpowszechniać, analizować oraz zmieniać i poprawiać. Wywodzi się on od szerszego terminu – Free Software (wolne oprogramowanie). Obydwa pojęcia mają ze sobą wiele wspólnego, dlatego też często używane są zamiennie, mimo iż de facto niosą różne znaczenia.

Jak wyjaśnia Richard Stallman (jeden z twórców wolnego oprogramowania): te dwa pojęcia opisują niemal tę samą kategorię oprogramowania, ale są to poglądy oparte na fundamentalnie odmiennych wartościach. Open Source jest metodologią rozwoju, a wolne oprogramowanie to ruch społeczny. W praktyce Free Software cechuje się dużą liberalizacją użytkowania oprogramowania, podczas gdy Open Source pozwala na pewne ograniczenia, np. licencja NASA Open Source Agreement, która wymaga, aby kod był „oryginalną” pracą.

Kod źródłowy otwartego oprogramowania wydawany jest na podstawie licencji. Na jej mocy posiadacz praw autorskich udziela użytkownikom prawa do użytkowania, modyfikowania oraz dystrybucji tego oprogramowania. Różnice między obydwoma terminami wiążą się także z licznymi zawiłościami licencyjnymi. Zatem nie wszystkie licencje zgodne z ideologią Open Source są zgodne z ideą Free Software i odwrotnie. Zestawienie licencji uznawanych przez obydwa ruchy znajduje się tutaj.

Niemniej, przedstawiciele Open Source i Free Software nie postrzegają się jako wrogów i współpracują nad wieloma projektami. Stąd termin FOSS lub FLOSS (ang. free and open-source software) oznaczający wolne i otwarte oprogramowanie. Obejmuje on zarówno ideę Open Source, jak i Free Software. Nazwa Open Source, czyli otwarte oprogramowanie pochodzi od angielskiego sformułowania open source movement, które dosłownie oznacza ruch otwartych źródeł.

Eric Raymond – uosobienie wolnego oprogramowania

Pisząc o Open Source, wypada wspomnieć kilka słów o człowieku, który z otwartym oprogramowaniem kojarzony jest najbardziej – mowa o Ericu Stevenie Raymondzie. Ten amerykański haker, jedna z czołowych postaci ruchu otwartego oprogramowania, współzałożyciel i były prezes organizacji Open Source Initiative urodził się w 1957 roku w Bostonie. W młodości mieszkał w Wenezueli. Dopiero w 1971 roku wraz z rodziną przeniósł się do Pensylwanii. Raymond od urodzenia cierpi na porażenie mózgowe. To właśnie jego słaba kondycja fizyczna zmotywowała go do pracy przy komputerze.

Swoją karierę programistyczną rozpoczął w 1980 roku. Wówczas podjął współpracę z Burroughs’s Artificial Intelligence oraz grupą badawczą Advanced Programming Environments. Następnie pracował w MicroCorp, gdzie zajmował się opracowywaniem oprogramowania dla mikroprocesorów. Kolejne firmy, w których się rozwijał to Rabbit Software, Independent Consulting oraz Chester County InterLink, gdzie był dyrektorem technicznym. W 1996 roku przejął pracę nad napisanym przez Carla Harrisa programie do obsługi poczty nazywanym „PopClient”. Po dodaniu obsługi IMAP zmienił mu nazwę na dobrze znaną „Fetchmail”. Następnie zajął się pracą na rzecz Open Source Initiative, którą współtworzy do dziś.

Raymond jest autorem „Prawa Linusa” (inspirowanego twórcą Linuksa – Linusem Torvaldsem), które brzmi: Given enough eyeballs, all bugs are shallow, co tłumaczy się jako: Wystarczająca liczba przyglądających się oczu sprawia, że wszystkie błędy stają się banalne.

Trochę historii

Od wczesnych lat komputeryzacji deweloperzy i programiści dzielili się tworzonym oprogramowaniem, by uczyć się od siebie nawzajem. Jednak historia terminu Open Source rozpoczęła się w maju 1997 roku. Wtedy to Eric Raymond opublikował refleksyjną analizę społeczności hakerów – Katedrę i Bazar (ang. The Cathedral and the Bazaar). Jest to esej, który przedstawia korzyści płynące z tworzenia otwartego oprogramowania, oparty o obserwacje autora dotyczące powstawania jądra Linuksa (artykuł na temat historii systemu Linux można przeczytać na naszym blogu). Dokument ten zmotywował współpracującą z Raymondem firmę Netscape Communications Corporation do udostępnienia kodu źródłowego stworzonej przez siebie przeglądarki – Netscape Communicator – na licencji Netscape Public License, czyli jako wolne oprogramowanie. Kod ten stał się później podstawą takich programów jak SeaMonkey, Mozilla Firefox, Thunderbird czy KompoZer.

Akt ten skłonił Raymonda do zastanowienia się nad tym, jak przenieść idee Free Software Foundation do komercyjnego wykorzystania oprogramowania. W lutym 1998 roku Eric Raymond, Bruce Perens, Jon Hall, Larry Augustin i inni założyli organizację pożytku publicznego – Open Source Initiative (OSI) w celu promocji nowego terminu – Open Source. Uważali, że mocna promocja przekona do otwartego oprogramowania duże przedsiębiorstwa. Raymond komentował, że: jeśli chcesz zmieniać świat, musisz zjednać ludzi, którzy wypisują duże czeki.

Niebezpieczny Open Source

Podczas gdy OSI zachęcała do używania nowego sformułowania, komercyjni dostawcy oprogramowania czuli się coraz bardziej zagrożeni szybko rozpowszechniającym się otwartym oprogramowaniem i swobodnym dostępem do jego kodu źródłowego. Amerykańska korporacja Microsoft prowadziła kampanie publiczne przeciw idei Open Source. Steve Ballmer, były dyrektor generalny firmy Microsoft, nazwał nawet Linuksa rakiem, który przyczepia się do każdej własności intelektualnej, jakiej dotknie. Kilka lat później firma zmieniła jednak diametralnie zdanie i wprowadziła do swojego sklepu linuksowe dystrybucje do pobrania za darmo. Proces topnienia lodowca opisaliśmy w tym materiale.

Wracając do lat ‘90, co prawda nie udało się zapewnić dla Open Source znaku towarowego, który mógłby zapobiegać niewłaściwemu używaniu sformułowania. Osiągnięto jednak poparcie wielu osób, które twierdziły, że termin Free Software powinien zostać zastąpiony przez Open Source, ponieważ jest mniej niejednoznaczny. Ponadto uważały one, że twórcy oprogramowania mogą chcieć publikować swoje programy po to, by każdy mógł je modyfikować, ulepszać czy wprowadzać na rynek. OSI osiągnęło także wpływy w środowisku dużych korporacji.

Definicja otwartego źródła

Aby móc określić, czy licencję danego programu można uznać za zgodną z Open Source, czy nie, powstała definicja otwartego źródła. Opracował ją Bruce Perens na podstawie Wytycznych Debiana dotyczących Wolnego Oprogramowania. W dużej mierze opiera się ona na idei wolnego oprogramowania umożliwiającej użytkownikom uruchamianie, kopiowanie, rozpowszechnianie, analizowanie, modyfikowanie oraz ulepszanie i rozbudowywanie istniejących produktów.

Aby uznać program za Open Source’owy, musi on spełniać 10 warunków:

1. Swobodna redystrybucja – program można swobodnie przekazywać lub sprzedawać.
2. Kod źródłowy – program musi zawierać kod źródłowy lub umożliwiać pobranie go.
3. Programy pochodne – licencja programu musi zezwalać na modyfikację i rozpowszechnianie prac pochodnych.
4. Integralność autorskiego kodu źródłowego – licencja programu może wymagać, by modyfikacje udostępniane były jako patche.
5. Niedyskryminowanie osób i grup – nie wolno nikogo wykluczyć.
6. Niedyskryminowanie obszarów zastosowań – nie wolno ograniczać korzystania z programu w konkretnej dziedzinie lub w celach komercyjnych.
7. Dystrybucja licencji – prawa dołączone do programu muszą odnosić się do wszystkich jego odbiorców.
8. Licencja nie może być specyficzna dla produktu – nie wolno dystrybuować programu jako części szerszej dystrybucji.
9. Licencja nie może ograniczać innego oprogramowania – nie wolno nakładać ograniczeń na inne oprogramowanie rozpowszechniane wraz z licencjonowanym oprogramowaniem.
10. Licencja musi być technicznie neutralna – nie wolno opierać postanowień licencji na żadnej indywidualnej technologii lub stylu interfejsu.

Oryginalny tekst definicji otwartego źródła dostępny jest tutaj.

Open Source – niekoniecznie za darmo

Wbrew powszechnej opinii, otwarte oprogramowanie nie musi być darmowe. Istotą Open Source jest bowiem otwartość kodu źródłowego i płynące za tym korzyści, a nie brak opłat. Dzięki temu, że mamy otwarty kod, program możemy w dowolny sposób modyfikować i dostosowywać do własnych potrzeb. Nie jest to jednak jednoznaczne z nieodpłatnością. Niektóre licencje pozwalają nawet na odsprzedaż zmienionego oprogramowania. Co więcej, niektóre komercyjne rozwiązania informatyczne mogą być uznane za Open Source. W tym miejscu warto przytoczyć słynny cytat Richarda Stallmana, założyciela projektu GNU, Free Software Foundation oraz współtwórcy licencji GNU GPL: free as in free speech, not as in free beer, co oznacza: wolne jak wolność słowa, a nie jak darmowe piwo.

Za co więc płacimy? Przede wszystkim większości komercyjnych rozwiązań towarzyszy profesjonalne wsparcie techniczne do portalu. To jest właśnie główny czynnik, z którym związana jest opłata. Także korzystanie z niektórych Open Source’owych systemów może, choć jest to bardzo rzadkie, wiązać się z opłatami licencyjnymi. Te mogą być wymagane na przykład w przypadku chęci wykorzystania oprogramowania w celach komercyjnych, a nie prywatnych. Czasami twórcy rozwiązań o otwartym kodzie udostępniają użytkownikom zarówno wersje bezpłatne, jak i płatne. Te drugie z reguły charakteryzują się szerszą funkcjonalnością. Opłaty wymagane są też niekiedy w przypadku dodatków do oprogramowania. Tutaj mamy analogiczną sytuację jak wyżej. Płatne rozszerzenia mogą mieć więcej funkcjonalności od darmowych lub po prostu mogą być przeznaczone do innego zastosowania. Zdarza się także, że odpłatne są pakiety językowe. Opłaty za rozwiązania typu Open Source pobierane są także za usługę wdrożenia oprogramowania i dostosowanie go do potrzeb użytkownika.

Open Source rośnie w siłę

Open Source to ogromna społeczność, która nieustannie się rozwija dzięki zaangażowaniu w dzielenie się kodem źródłowym swoich rozwiązań. Z portalu Stackoverflow.com przeznaczonego dla osób, które interesują się programowaniem, korzysta 17 mln osób miesięcznie. 70% z nich programuje hobbystycznie lub rozwija projekty Open Source przez minimum 2 godziny w tygodniu. Co piąty programista poświęca 10 godzin swojej pracy w ciągu tygodnia na otwartoźródłowe rozwiązania. Robią to jednak nie tylko osoby prywatne, ale i firmy z całego świata. Badanie 2016 Future of Open Source Survey Results wskazuje, że aż 65% przedsiębiorstw kontrybuuje do projektów, które bazują na otwartym kodzie. W co trzeciej firmie przynajmniej 50% deweloperów pracuje nad otwartymi rozwiązaniami.

Ogromnym atutem ruchu Open Source jest efekt skali. Nad otwartym oprogramowaniem pracuje wielomilionowa społeczność specjalistów, która weryfikuje jakość kodu, wyłapuje błędy, sugeruje usprawnienia czy projektuje nowe funkcjonalności. Taka działalność to dla wielu z nich sposób na ciągłe doskonalenie umiejętności zawodowych, wzbogacanie portfolio czy budowanie relacji wewnątrz branży – twierdzi Dariusz Świąder, prezes Linux Polska.

Udostępnianie kodu źródłowego staje się coraz bardziej powszechne. Dzięki temu nawet światowi technologiczni giganci słynący z zamkniętych rozwiązań zmieniają swoje nastawienie i dostosowują swoje oferty do rynkowych potrzeb i trendów. Warto zaznaczyć, iż wspomniany wyżej Microsoft w 2014 roku udostępnił swoją platformę programistyczną .Net Framework na zasadach Open Source, a w 2016 roku stał się członkiem Linux Foundation. Inna znana korporacja – Apple – udostępniła kod źródłowy opracowywanego przez siebie języka programowania Swift. Świat się zmienia, niewątpliwie Open Source jest jednym z kierunków tych zmian.

Źródła:
http://informatykawfirmie.pl/systemy-informatyczne/21-oprogramowanie-open-source-czy-zawsze-darmowe
http://catb.org/~esr/resume.html
https://opensource.org/
https://interaktywnie.com/biznes/newsy/biznes/open-source-zmienia-biznes-dzielenie-sie-jest-oplacalne-255179
https://www.slideshare.net/blackducksoftware/2016-future-of-open-source-survey-results
https://en.wikipedia.org/wiki/Eric_S._Raymond
https://en.wikipedia.org/wiki/Open-source_software

Autorzy

Artykuły na blogu są pisane przez osoby z zespołu EuroLinux. 80% treści zawdzięczamy naszym developerom, pozostałą część przygotowuje dział sprzedaży lub marketingu. Dokładamy starań, żeby treści były jak najlepsze merytorycznie i językowo, ale nie jesteśmy nieomylni. Jeśli zauważysz coś wartego poprawienia lub wyjaśnienia, będziemy wdzięczni za wiadomość.