Większość pobieranego oprogramowania to czarna skrzynka. Jest wstępnie skompilowany, pozbawiony wewnętrznej logiki i zamknięty za zaporą płatniczą. Nie możesz tego dostosować. Nie możesz zobaczyć jak to działa. To po prostu działa.
Oprogramowanie open source całkowicie zmienia ten model. Daje ci klucze do silnika.
Różnica pomiędzy kodem skompilowanym a kodem źródłowym
Kiedy programiści piszą aplikację, używają czytelnego dla człowieka języka zwanego kodem źródłowym. Kompilator następnie tłumaczy ten kod na język maszynowy — te same zera i jedynki, które faktycznie wykonuje komputer. Ten produkt końcowy jest wersją skompilowaną.
W przypadku oprogramowania komercyjnego ta kompilacja jest funkcją, a nie błędem. Ukrywa własność intelektualną dewelopera. Konkurenci nie mogą łatwo skopiować logiki. Użytkownicy nie mogą łatwo naprawić błędów głęboko w jądrze.
Oprogramowanie typu open source obejmuje zarówno wersję skompilowaną i kod źródłowy. Celem nie jest tylko przejrzystość. Celem jest możliwość modyfikacji.
„Pozwalając każdemu zainteresowanemu na modyfikację kodu źródłowego, na dłuższą metę aplikacja staje się bardziej użyteczna i wolna od błędów.”
Co właściwie definiuje oprogramowanie typu open source?
Nie każdy darmowy program jest oprogramowaniem typu open source. Branża ma rygorystyczne kryteria. Aby osiągnąć ten status, oprogramowanie musi spełniać określone standardy prawne i techniczne.
- Darmowa dystrybucja: Oprogramowanie może być swobodnie rozpowszechniane. Może nawet stanowić część sprzedawanego opakowania.
- Dostępność kodu źródłowego: Kod źródłowy musi być dostępny.
- Prawo do modyfikacji: Każdy może modyfikować kod.
- Redystrybucja zmodyfikowanych wersji: Możesz udostępniać swoje modyfikacje innym.
- Licencja niedyskryminacyjna: Licencja nie może ograniczać korzystania z innego oprogramowania ani zakłócać działania innych programów.
Zasady te sprawiają, że otwartość nie jest jedynie marketingowym hasłem. Jest to norma możliwa do wyegzekwowania.
Linux: historia sukcesu Open Source
Najbardziej wyraźnym przykładem tego modelu w działaniu jest Linux.
W 1991 roku Linus Torvalds, student Uniwersytetu Helsińskiego, rozpoczął prace nad nowym systemem operacyjnym. Oparł go na Minixie, pochodnej Uniksa. Wydał wersję 0.02 na licencji GNU General Public License. Licencja ta stanowi podstawę prawną dla oprogramowania typu open source.
Ludzie pobrali kod. Programiści to zmodyfikowali. Torvalds otrzymał te łatki na następne trzy lata. Umieścił je w wersji podstawowej. Linux 1.0 pojawił się w 1994 roku.
To nie był solowy wysiłek. Był to rozproszony model rozwoju. Kod został ulepszony, ponieważ obserwowały go tysiące oczu.
Luka w wsparciu i model biznesowy
W tym miejscu sprawy stają się bardziej skomplikowane dla zwykłych użytkowników.
Oprogramowanie typu open source zwykle nie jest objęte gwarancją. Brak wsparcia technicznego. Jeśli się zepsuje, zostaniesz sam z problemem. Licencja zachęca do dostosowywania, co sprawia, że standaryzacja wsparcia jest prawie niemożliwa.
Kto więc to naprawia?
Oprogramowanie Red Hat rozwiązało ten problem. Założona w 1994 roku firma Red Hat spakowała Linuksa jako „oficjalny Red Hat Linux”. Nie znali kodu. Byli właścicielami serwisu.
Dodali gwarancję. Zapewnili wsparcie techniczne.
Dla przedsiębiorstw to zaufanie ma kluczowe znaczenie. Wiele firm decyduje się na zakup obsługiwanego systemu Linux zamiast pobierania bezpłatnych kopii. Płacą za stabilność, a nie za sam kod. Inne firmy poszły w ich ślady, pakując Linuksa w dodatkowe narzędzia do odsprzedaży.
Poza Linuksem: inne ważne narzędzia typu open source
Linux nie jest jedynym graczem na rynku. Kilka podstawowych technologii umożliwiających działanie Internetu opiera się na zasadach open source.
- Mozilla: Główny silnik przeglądarki Netscape.
- Apache: Serwer WWW obsługujący ogromną część Internetu.
- PERL: Język skryptowy do tworzenia stron internetowych.
- PNG: Format pliku graficznego przeznaczony do bezstratnej kompresji.
Narzędzia te są bezpłatne. Można je dowolnie modyfikować. Kształtują sposób, w jaki na co dzień korzystamy z Internetu.
Dlaczego jest to dla Ciebie ważne?
Można by pomyśleć, że open source dotyczy tylko programistów. To jest błędne.
Jeśli używasz urządzenia opartego na systemie Linux. Kiedy odwiedzasz witrynę hostowaną na platformie Apache. Gdy korzystasz z przeglądarki zbudowanej na silniku Gecko. Używasz oprogramowania, które teoretycznie możesz przetestować. Korzystasz z oprogramowania, którego nie może zablokować jedna korporacja.
Próg wejścia jest wyższy. Musisz wiedzieć jak go zainstalować. Musisz wiedzieć gdzie znaleźć wsparcie. Ale kompromisem jest kontrola.
Internet działa na tych protokołach. Przyszłość oprogramowania zależy od tego, czy pozostawimy otwarte drzwi.





























