Jak dobrze wiecie, oprogramowanie dla dzisiejszych systemów operacyjnych pisane jest na dwóch zasadach. Pierwsza z nich to tworzenie oprogramowania z ...
Open Source vs zamknięte oprogramowanie - co dzieje się z nimi po "śmierci"?
Fan mobilnych okienek, technologii internetowych o...
Jak dobrze wiecie, oprogramowanie dla dzisiejszych systemów operacyjnych pisane jest na dwóch zasadach. Pierwsza z nich to tworzenie oprogramowania z brakiem publicznego dostępu do kodu, w którego skład wchodzi masa darmowych jak i komercyjnych produkcji. Druga i coraz bardziej popularna - Open Source, jest niczym więcej jak upublicznionym kodem źródłowym dzięki czemu takowe twory mogą być rozwijane przez społeczność.
Obydwa sposoby tworzenia oraz dystrybucji oprogramowania mają swoje plusy i minusy. Największą zaletą oprogramowania zamkniętego jest to, że twórca aplikacji czy gry pozostaje osobą indywidualną, będącą jedynym człowiekiem (lub jednym z nielicznych) posiadającym dostęp do kodu źródłowego swojego produktu. Oprócz tego, ewentualne osoby zatrudnione do pracy przy zamkniętym projekcie często dostają za swoją pracę honorarium, dlatego też taka praca im się po prostu opłaca - w końcu mają za co wykarmić dzieci. Tylko my mamy możliwość modyfikacji, rozwijania oraz "uśmiercenia" produktu.
Open Source to z reguły inna półka. Otwartość, wolność i bezpieczeństwo - to głównie powody, dla których ludzie przywiązani do pracy charytatywnej i chęci współpracy przy czymś ogólnodostępnym decydują się na tworzenie wolnego oprogramowania. Największą zaletą tego rozwiązania jest to, że dosłownie każdy zainteresowany człowiek może przejrzeć kod źródłowy, wyszukać w nim błędy, niedoróbki czy też może wnieść do aplikacji swoje poprawki, takie jak np. likwidacja odnalezionych luk bezpieczeństwa. Wielką zaletą pracy zespołowej ze społecznością jest to, że nasze aplikacje pomimo bycia produktami mniej profesjonalnymi od konkurencyjnych, nadal są uwielbiane przez setki tysięcy użytkowników oraz są idealnymi kandydatami do bycia narzędziami pracy w miejscach publicznych takich jak szkoły, biblioteki czy różnego rodzaju urzędy.
Wszystko dlatego, że oprogramowanie te nie posiada żadnych ukrytych back-doorów i specjalnie pozostawionych "dziur" tylko dlatego, że ma do niego dostęp każdy, dlatego też poprawić lub usunąć może je każdy.
Ideologia ideologią... a jak to działa w praktyce?
Bardziej profesjonalnymi produktami wydają się aplikacje i usługi znanych, komercyjnych firm takich jak Microsoft, Adobe czy Google niż różnorakie, niszowe projekty powstałe w przeróżnych społecznościach. Jest tak głównie dlatego, że te gigantyczne korporacje są po prostu bardziej znane, częściej spotykane - dlatego też podświadomie kierujemy się w ich stronę. Nie oznacza to, że nie istnieją fajne i naprawdę funkcjonalne aplikacje tworzone na licencji Open Source - wręcz przeciwnie, mógłbym ich wyliczyć dziesiątki, a między innymi byłyby to: Firefox, Thunderbird, GIMP, LibreOffice, Pidgin, czy Wine.
Prawda jest taka, że większość użytkowników korzysta z zamkniętego, komercyjnego bądź darmowego oprogramowania, które jest popularne i dopracowane na tyle, aby służyć idealnie do tego, do czego jest stworzone. Jeżeli kogoś nie stać na płatną aplikację, taką jak Microsoft Office czy Adobe PhotoShop - sięga wtedy do zatoki piratów po alternatywne aplikacje, takie jak właśnie LibreOffice czy Gimp.
Często staje się jednak tak, że aplikacja po jakimś czasie przestaje być rozwijana
Dotyczy to zarówno aplikacji zamkniętych jak i otwartych. Twórca programu w każdym momencie może zaprzestać dostarczania aktualizacji swojego produktu, zostawiając go w finalnym stadium rozwoju - nic w tym nadzwyczajnego, każdy produkt to przecież czeka. Problemy zaczynają się, gdy od czasu ukończenia prac nad projektem minie jakiś czas, a brak alternatyw zmusi nas do korzystania z przestarzałego programu.
Zacznijmy więc od aplikacji z niepublicznym kodem. Tworzę program, rozwijam go, zdobywam rzeszę użytkowników i nagle oświadczam, że to ostatnia wersja mojego produktu. Użytkownicy są zawiedzeni, my możemy sprzedać aplikację komuś innemu lub odtajnić jej kod - no chyba, że na aplikacji nadal zarabiamy. Tworząc aplikację z publicznym kodem, bądź odtajniając źródła naszej aplikacji po ukończeniu nad nią pracy oraz po zaprzestaniu jej wspierania dajemy społeczności możliwość rozwijania naszego dzieła we własnym zakresie, pozwalając nam nadal w jakimś sensie kontrolować jej rozwój - bo kto nam zabroni?
Sprzedając nasze dzieło niestety zwykle wyzbywamy się do niego praw, przez co nasze późniejsze próby powrócenia do wspierania aplikacji mogą zakończyć się jedynie dość nieprzyjemnymi awanturami - no chyba, że wcześniej to przemyśleliśmy.
Wolność nie jest jednak idealnym rozwiązaniem
Tworząc aplikacje Open Source często doklejana jest do nas metka osób tworzących wolne i darmowe oprogramowanie. Kiedy więc spróbujemy stworzyć produkt komercyjny, możemy spotkać się z gigantyczną krytyką - a to właśnie jest największym demotywatorem każdej, nawet najmilszej pracy. Oprócz tego, patrząc na ogół wolnych programów, większość z nich zostaje brutalnie porzucona na pastwę losu przed doprowadzeniem jej do stanu stabilnej używalności i pełnej funkcjonalności.
Nie ma rozwiązań idealnych, są jedynie takie, z którymi się godzimy. Według mnie, wolne oprogramowanie mogłoby być przyszłością aplikacji, jednak rodzi się tu problem - jeżeli wszystko jest ogólnodostępne, tworzą się odłamy z funkcjami, które nie spodobały się jej twórcy. Dziesięć forków nie oznacza idealnego rozwiązania - twórcy zamkniętego softu są bardzo ważnym elementem tej układanki, ponieważ coś musi być tym "pełnym dobrem" oraz produktem, którego alternatywę trzeba utworzyć.
Produkt, który sprzedajemy musi być bardziej dopracowany, a to dlatego, że po prostu może zostać skrytykowany, a krytyka w przypadku dóbr komercyjnych nie działa raczej pozytywnie na sprzedaż naszej twórczości więc twórcy wszystkimi receptorami badają rynek i potrzeby klientów.
Słowa słowami, pokaż mi kod!
Parafrazując Linusa Tovaldsa pragnę wam pokazać coś bardzo istotnego, a za razem niedocenianego. Bezpieczeństwo w sieci oraz w samym systemie operacyjnym jest elementem, który pozwala nam zachować przynajmniej ułamek naszych danych prywatnych dla siebie. Oczywiście, większość osób wybiera drogę uzyskania dostępu do ogromnej biblioteki aplikacji, rozszerzeń i gier w zamian za transparentność naszej działalności, nie tylko przy komputerze. Telefony, tablety, smartwatche, a przede wszystkim Internet to ustrojstwa, za pomocą których udostępniamy nasze informacje innym - często chcąc nie chcąc z przymusu.
Nie chce jednak demonizować sprawy, dlatego też powiem, że szanuje i korzystam z aplikacji zamkniętych przed "gapiami kodu", jednak prywatnie bardziej ufam usługom i produktom Open Source - korzystając z nich czuję się po prostu bezpieczniej. Będąc użytkownikiem końcowym - konsumentem treści, nie warto ograniczać się tylko do zamkniętych, czy tylko do otwartych aplikacji i usług, głównie dlatego, że tak jak w naturze, w technologii nic nie znika, tak więc jeżeli coś posiada brak - ktoś próbuje go zapełnić, a dokładnie tak wygląda niepisana "wojna" pomiędzy Open Source i kodem zamkniętym.
Co dzieje się po śmierci z aplikacjami zamkniętymi? Zostają uśmiercone, sprzedane lub ich kod jest upubliczniony. Co stanie się, gdy aplikacja z otwartym kodem źródłowym przestanie być wspierana? Społeczność może dobrowolnie rozwijać swoją ukochaną aplikację - nie zawsze tak, jak wyglądała wcześniej.
Jak sądzicie, lepiej sprzedać bądź uśmiercić zamykaną przez nas aplikację, czy po prostu warto pozwolić innym zrobić z nią to, czego Ty nie możesz?
Hej, jesteśmy na Google News - Obserwuj to, co ważne w techu