Kod szeroko dostępny
- Marian Łakomy,
- 29.03.1999
Otwarte środowisko z dostępnym kodem źródłowym pozwala tworzyć lepsze, bezpieczniejsze aplikacje.
Otwarte środowisko z dostępnym kodem źródłowym pozwala tworzyć lepsze, bezpieczniejsze aplikacje.
Popularność Linuxa i bezpłatnych aplikacji dostępnych dla tego systemu wywołały gorące dyskusje na temat modeli działania biznesu informatycznego w zakresie produkcji, dystrybucji i stosowania oprogramowania. W uproszczeniu można wyróżnić trzy modele działania biznesu informatycznego: zamknięty z bezpłatnym oprogramowaniem i z dostępnym kodem źródłowym.
Oprogramowanie firmowe
Model zamknięty polega na tym, że użytkownik kupuje licencję na używanie wykonywalnej wersji programu, nie ma dostępu do kodu źródłowego i ma znikomy wpływ (jeśli w ogóle) na możliwość poprawienia pojawiających się błędów i niedoróbek programów. Jest on popularny nie tylko w firmowych systemach, takich jak mainframe, ale również w pozornie "otwartych" systemach unixowych i PC. Na co dzień stosowany jest w środowiskach Windows i programach biurowych.
Oprogramowanie bezpłatne
Przeciwieństwem modelu zamkniętego jest model bezpłatnego oprogramowania, najlepiej egzemplifikowany przez Linuxa i programy chroniące (nieliczne) prawa autorskie twórców przez tzw. licencję GNU. Pozwala ona na swobodną zmianę kodu źródłowego, jednak bez przywłaszczania praw autorskich do kodu innych programistów, którzy współuczestniczyli w przygotowaniu programu.
W praktyce sprowadza się to więc do swobodnego dysponowania programem dla własnych potrzeb z możliwością wprowadzania dowolnych zmian i dystrybucji tak zmienionego oprogramowania, pod warunkiem że nie wiąże się to z korzyściami materialnymi. Najwięksi dystrybutorzy systemów linuxowych pobierają opłaty nie za system Linux i programy GNU, lecz koszty nagrania, nośnik, publikowaną dokumentację i koszty przesyłki.
Otwarty kod źródłowy
Większość producentów oprogramowanie chroni kod źródłowy i nie udostępnia go użytkownikom swoich programów. Powszechnie uważa się, że kod źródłowy stanowi ważną część dorobku firmy i jej wkład intelektualny w rozwój oprogramowania, powinien więc być chroniony nie tylko przez prawo autorskie, ale również innymi środkami. W efekcie nawet najwięksi i najsolidniejsi odbiorcy oprogramowania nie mają bezpośredniego wpływu na kształt programów. Mogą jedynie postulować zmiany, wprowadzane (lub nie) przez producenta.
Pomińmy w dalszych rozważaniach aspekty ochrony wartości intelektualnej praw autorskich do programu. Jeśli udostępnimy kod źródłowy programów klientom, to nawet w Polsce istnieją metody dostatecznej ochrony tych wartości. Uważni obserwatorzy rynku oprogramowania sądzą, że otwarte środowisko (z dostępnym kodem źródłowym) tworzy aplikacje lepsze niż zamknięte środowiska firmowe. Rozważmy ich argumenty i korzyści biznesowe takiego modelu działania.
Solidność kodu
Każdy producent oprogramowania rozprowadza wśród wybranych klientów - zawierającą zwykle liczne błędy - wersję beta oprogramowania. I nie jest to krok podyktowany desperacją, aby dotrzymać zapowiadanych terminów. To raczej metoda na poprawienie i ukończenie programu, gdyż testerzy beta wykrywają więcej błędów niż programiści w firmie.
Model z dostępnym kodem źródłowym umożliwia produkcję niezwykle solidnego oprogramowania. Każdy klient będzie starał się wykryć błędy, gdyż leży to również w jego interesie. Każde usprawnienie, przesłane do oryginalnego producenta i rozpropagowane wśród innych klientów, wpływa na poprawę programu, pokazuje możliwości poprawiającego, tworzy atmosferę przyjacielskiej współpracy i zainteresowania w grupie użytkowników konkretnego programu.
Bezpieczeństwo
Hakerzy częściej próbują złamać zabezpieczenia firmowych programów zamkniętych niż programów powszechnie dostępnych. Informacje o tego typu działaniach rzadko pojawiają się w prasie (firmy starają się ukryć, że zabezpieczenia ich programów zostały złamane np. przez nastolatka), zamknięte środowisko tworzy więc fałszywe poczucie bezpieczeństwa. W efekcie prawomyślni użytkownicy programu rzadko próbują złamać jego zabezpieczenia, a jeśli już znajdą jakieś błędy, mają trudności z ich poprawieniem i rozpropagowaniem swojego rozwiązania.
Otwarte środowisko programowe oznacza, że to najpierw przyjaciele, a nie hakerzy znajdą dziury i błędy w programie.
Elastyczność
Ścisła współpraca z liczną grupą użytkowników pozwala na znaczenie szybsze ulepszanie programu niż w jakimkolwiek innym modelu działania. Żadna firma, nawet Microsoft, nie ma do dyspozycji talentów tak licznej rzeszy programistów, jak mają twórcy programów powszechnie dostępnych. Microsoft przyznał w dokumencie zatytułowanym "Halloween Document" z listopada 1998 r.: "Możliwość (środowisk z dostępnym kodem źródłowym) wykorzystywania przez Internet kolektywnych talentów i inteligencji tysięcy osób jest zdumiewająca. Co ważniejsze, ewangelizacja środowisk otwartych rośnie szybciej niż nasze wysiłki w tym zakresie".
Środowisko otwarte ma unikatowe możliwości rynkowe. W świecie sieciowej ekonomii, wynikającej z powszechnej dostępności WWW, standardem staje się połączenie produkcji i konsumpcji dóbr: pojawia się prosument. Klienci systemów otwartych najlepiej wskazują kierunki rozwoju firm i produktów. Jeśli ponadto mają bezpośredni wpływ na kształt produktu, tym lepiej.