Większość instalowanych programów nie jest dostarczana z kodem źródłowym. Są dostarczane w postaci skompilowanych, gotowych do uruchomienia plików binarnych. Naciskasz przycisk i program działa. Ale nie można zajrzeć do środka, żeby zobaczyć, jak deweloper go stworzył. Producenci komercyjni lubią taki stan rzeczy. Zapobiega kradzieży kodu przez konkurencję i zapewnia kontrolę jakości.
Oprogramowanie open source wywraca ten model do góry nogami. Zawiera kod źródłowy wraz z wersją skompilowaną. To nie jest tylko dodatek pasywny. Zachęcamy do modyfikacji. Twórcy uważają, że umożliwienie każdemu zmiany kodu sprawi, że aplikacja z czasem stanie się bardziej użyteczna i mniej podatna na błędy.
Definiowanie open source: zasady gry
Aby projekt mógł zostać uznany przez branżę za oprogramowanie typu open source, musi przejść pewne testy. Nie wystarczy po prostu stwierdzić, że jesteś „otwarty”. Kryteria są rygorystyczne.
Po pierwsze, program musi być swobodnie rozpowszechniany. Nie oznacza to jednak, że musi kosztować zero dolarów. Możesz dołączyć go do płatnego pakietu. Red Hat robi to z Linuksem. Kluczową kwestią jest to, że samo oprogramowanie nie jest zamknięte za zaporą kodową.
Po drugie, należy uwzględnić kod źródłowy. Bez tego po prostu patrzysz w czarną skrzynkę.
Po trzecie, każdy powinien mieć możliwość zmiany kodu. Jeśli istnieją ograniczenia dotyczące tego, kto może wprowadzać zmiany, projekt nie przechodzi przeglądu.
Po czwarte, zmodyfikowane wersje muszą nadawać się do redystrybucji. Jeśli naprawiłeś błąd, powinieneś móc udostępnić swoją poprawkę.
Wreszcie, licencja nie może ograniczać innego oprogramowania. Nie powinno to zmuszać Cię do wykluczenia innych programów ani zakłócać działania innego oprogramowania.
Prawdziwy przykład: narodziny Linuksa
W 1991 roku Linus Torvalds, student Uniwersytetu Helsińskiego, rozpoczął tworzenie nowego systemu operacyjnego. Oparł go na Minixie, który z kolei był pochodną Uniksa. Nazwał go Linux.
Torvalds wydał wersję 0.02 na licencji GNU General Public License (GPL). Licencja ta zapewniła podstawę prawną dla ruchu oprogramowania open source. Pobrali ją ludzie na całym świecie. Wielu z nich było samymi programistami. Nie tylko używali kodu; zmienili to.
W ciągu trzech lat Torvalds zebrał te modyfikacje od innych programistów. Zawiera najlepsze zmiany w wersji podstawowej. W 1994 roku wydał wersję Linuksa 1.0.
Ten model współpracy udowodnił, że rozwój kierowany przez społeczność może działać. To nie był tylko projekt hobbystyczny. Stał się niezawodnym, skalowalnym systemem operacyjnym.
Paradoks wsparcia: darmowe oprogramowanie, płatna pomoc
Użytkownicy końcowi często martwią się brakiem gwarancji i wsparcia technicznego. Jeśli każdy może zmienić kod, jak uzyskać pomoc, gdy coś się zepsuje? Licencja zachęca do dostosowywania, sprawiając, że standardowe wsparcie jest prawie niemożliwe dla oryginalnego autora.
I tu właśnie pojawiło się Red Hat Software. Założona w 1994 roku firma Red Hat stworzyła „oficjalny system Red Hat Linux”. Wzięli darmowe oprogramowanie i dodali do niego wartość. Ich głównym produktem nie był sam kod. Była to gwarancja i wsparcie techniczne.
Dla biznesu to wsparcie stało się czynnikiem decydującym. Zdecydowali się kupić Red Hat Linux, zamiast pobrać go za darmo. Spokój ducha wynikający z faktu, że było się do kogo zwrócić, gdy coś poszło nie tak, był wart tej ceny.
Za tym modelem poszło kilka innych firm. Spakowali Linuksa z dodatkowym oprogramowaniem do odsprzedaży. Podstawowa idea pozostała ta sama: zapewnić stabilność i wsparcie dla oprogramowania open source.
Poza Linuksem: popularne narzędzia typu open source
Linux nie jest jedynym przykładem. Wiele narzędzi, z których korzystasz na co dzień, opiera się na zasadach oprogramowania open source.
Mozilla stanowi podstawę przeglądarki Netscape. Jego otwarty charakter pozwolił na ogromny wkład społeczności.
Apache obsługuje znaczną część serwerów internetowych. Jego elastyczność i niezawodność uczyniły go standardem dla hostingu.
PERL to popularny język skryptowy stron internetowych. Pomógł ukształtować wczesny rozwój stron internetowych.
PNG – format pliku graficznego. Dzięki otwartym standardom oferuje lepszą kompresję i jakość w porównaniu do starszych formatów.
Projekty te pokazują, że oprogramowanie open source to coś więcej niż tylko systemy operacyjne. Jest wbudowany w infrastrukturę internetową.
„Twórcy oprogramowania, którzy popierają koncepcję open source, wierzą, że umożliwienie każdemu zainteresowanemu zmiany kodu źródłowego czyni aplikację bardziej użyteczną i mniej podatną na błędy w dłuższej perspektywie”.
Wkład i zrozumienie licencji
Dlaczego programiści biorą udział w tych projektach? To nie jest tylko altruizm. Wkład pomaga programistom doskonalić ich umiejętności. Daje im to uznanie w społeczeństwie. Umożliwia im także współpracę przy znaczących projektach.
Kluczowe znaczenie ma zrozumienie różnic pomiędzy licencjami. Licencje Oprogramowanie Open Source umożliwiają użytkownikom swobodne używanie, modyfikowanie i redystrybucję oprogramowania. Licencje zastrzeżone ograniczają te wolności. Zwykle wymagają zakupu lub subskrypcji.
To rozróżnienie ma znaczenie. Wpływa na sposób używania, udostępniania i rozwijania oprogramowania. Dla przedsiębiorstw ma to wpływ na koszty i elastyczność. Dla programistów ma to wpływ na kreatywność i współpracę.
Krajobraz oprogramowania wciąż ewoluuje. Oprogramowanie open source pozostaje jego podstawową częścią. Od serwerów Linux po przeglądarki Mozilla – wpływ jest wszędzie. Pytanie nie brzmi, czy to działa. Pytanie brzmi, jak głęboko wpłynie to na naszą cyfrową przyszłość.












































