Porównanie oprogramowania otwartego i zamkniętego

bezpłatne / o otwartym kodzie źródłowym model dostępności źródła używany przez oprogramowanie bezpłatne i o otwartym kodzie źródłowym (FOSS) — oraz oprogramowanie o zamkniętym kodzie źródłowym to dwa podejścia do dystrybucji oprogramowania.

Tło

W modelu z zamkniętym kodem źródłowym kod źródłowy nie jest udostępniany publicznie. Oprogramowanie o zamkniętym kodzie źródłowym jest utrzymywane przez zespół, który wytwarza swój produkt w skompilowanym stanie wykonywalnym, do którego rynek ma dostęp. Microsoft , właściciel i twórca systemu Windows i pakietu Microsoft Office , wraz z innymi dużymi firmami programistycznymi, od dawna są zwolennikami tego modelu biznesowego, chociaż w sierpniu 2010 roku dyrektor generalny ds. stanowisko open source było błędem.

Model FOSS umożliwia użytkownikom przeglądanie i modyfikowanie kodu źródłowego produktu, ale większość takiego kodu nie jest własnością publiczną . Powszechne korzyści wymieniane przez zwolenników posiadania takiej struktury wyrażają się w kategoriach zaufania, akceptacji, pracy zespołowej i jakości.

Niewolna licencja jest używana do ograniczania tego, co zwolennicy ruchu wolnego oprogramowania uważają za podstawowe wolności. Licencja, niezależnie od tego, czy zawiera kod open source, czy nie, która nie określa „czterech swobód oprogramowania”, nie jest uważana za „wolną” przez ruch wolnego oprogramowania. Licencja na zamknięte źródła to taka, która ogranicza jedynie dostępność kodu źródłowego. Z kolei typu copyleft ma chronić „cztery wolności oprogramowania” poprzez wyraźne ich przyznanie, a następnie wyraźne zakazanie komukolwiek redystrybucji pakietu lub ponownego wykorzystania zawartego w nim kodu do tworzenia dzieł pochodnych bez uwzględniania tych samych klauzul licencyjnych. Niektóre licencje przyznają cztery swobody oprogramowania, ale pozwalają redystrybutorom na ich usunięcie, jeśli sobie tego życzą. Takie licencje są czasami nazywane liberalnymi licencjami na oprogramowanie . Przykładem takiej licencji jest Licencja FreeBSD , która umożliwia dystrybucję oprogramowania pochodnego jako niewolnego lub zamkniętego źródła, o ile przypisuje się oryginalnym projektantom.

Błędnym przekonaniem, często popełnianym zarówno przez zwolenników, jak i przeciwników FOSS, jest to, że nie można go pisać wielką literą. FOSS może i został skomercjalizowany przez takie firmy jak Red Hat , Canonical , Mozilla , Google , IBM , Novell , Sun / Oracle , VMware i inne.

Komercjalizacja

Oprogramowanie o zamkniętym kodzie źródłowym

Podstawowy model biznesowy dla oprogramowania o zamkniętym kodzie źródłowym obejmuje stosowanie ograniczeń dotyczących tego, co można zrobić z oprogramowaniem, oraz ograniczenie dostępu do oryginalnego kodu źródłowego. Może to skutkować pewnego rodzaju sztucznym niedoborem produktu, który w przeciwnym razie jest bardzo łatwy do skopiowania i redystrybucji. W rezultacie użytkownik końcowy w rzeczywistości nie kupuje oprogramowania, ale nabywa prawo do korzystania z oprogramowania. W tym celu kod źródłowy oprogramowania o zamkniętym kodzie źródłowym jest uważany przez jego producentów za tajemnicę handlową.

FOSS

Z drugiej strony metody FOSS zazwyczaj nie ograniczają korzystania z oprogramowania w ten sposób. Zamiast tego model przychodów opiera się głównie na usługach wsparcia. Red Hat Inc. i Canonical Ltd. to takie firmy, które bezpłatnie udostępniają swoje oprogramowanie, ale pobierają opłaty za usługi wsparcia. Kod źródłowy oprogramowania jest zwykle udostępniany, a dla wygody często towarzyszy mu wstępnie skompilowane oprogramowanie binarne. Dzięki temu kod źródłowy może być dowolnie modyfikowany. Mogą jednak obowiązywać pewne ograniczenia licencyjne dotyczące ponownej dystrybucji oprogramowania. Ogólnie rzecz biorąc, oprogramowanie można modyfikować i rozpowszechniać za darmo, pod warunkiem uznania oryginalnego producenta oprogramowania. Ponadto FOSS może być ogólnie sprzedawany komercyjnie, o ile dostarczany jest kod źródłowy. Istnieje wiele różnych licencji wolnego oprogramowania , które określają, w jaki sposób program może być używany, modyfikowany i sprzedawany komercyjnie (patrz licencje typu GPL , LGPL i BSD ). FOSS może być również finansowany z darowizn.

Filozofia oprogramowania, która łączy aspekty oprogramowania firmy FOSS i oprogramowania własnościowego , to oprogramowanie typu open core lub komercyjne oprogramowanie typu open source. Pomimo krytyki ze strony niektórych zwolenników FOSS, odniósł on marginalny sukces. Przykładami otwartego oprogramowania rdzeniowego są MySQL i VirtualBox . System MINIX był zgodny z tym modelem biznesowym, ale po roku 2000 podlegał pełnym warunkom licencji BSD .

Konkurs obsługi

Ten model okazał się w pewnym stopniu udany, o czym świadczy społeczność Linuksa . Dostępnych jest wiele dystrybucji Linuksa , ale wiele z nich to po prostu zmodyfikowane wersje niektórych poprzednich wersji. Na przykład Fedora Linux , Mandriva Linux i PCLinuxOS są pochodnymi wcześniejszego produktu, Red Hat Linux . W rzeczywistości Red Hat Enterprise Linux sam w sobie jest pochodną Fedory Linux. To jest przykład, jak jeden dostawca tworzy produkt, pozwalając stronie trzeciej na modyfikację oprogramowania, a następnie tworzy produkt trzeciorzędny na podstawie zmodyfikowanej wersji. Wszystkie wymienione powyżej produkty są obecnie produkowane przez firmy świadczące usługi w zakresie oprogramowania.

Systemy operacyjne zbudowane na jądrze Linuksa są dostępne dla szerszego zakresu architektur procesorów niż Microsoft Windows , w tym PowerPC i SPARC . Żadna z nich nie dorównuje popularności architektury x86 , mimo to mają one znaczną liczbę użytkowników; Windows pozostaje niedostępny dla tych alternatywnych architektur, chociaż w przeszłości istniały takie porty.

Najbardziej oczywisty zarzut wobec firmy FOSS dotyczy faktu, że zarabianie pieniędzy za pomocą tradycyjnych metod, takich jak sprzedaż poszczególnych kopii i opłaty patentowe , jest znacznie trudniejsze, a czasem niepraktyczne w przypadku firmy FOSS. Co więcej, firma FOSS została uznana za szkodliwą dla komercyjnego rynku oprogramowania, o czym świadczą dokumenty opublikowane w ramach wycieku dokumentów Microsoft Halloween .

Koszt wykonania kopii oprogramowania jest zasadniczo zerowy, więc opłaty za użytkowanie są być może nieracjonalne w przypadku oprogramowania typu open source. W pewnym momencie rozwój oprogramowania open source był prawie całkowicie napędzany przez wolontariuszy i chociaż dotyczy to wielu małych projektów, zidentyfikowano i wykorzystano wiele alternatywnych strumieni finansowania dla FOSS:

  • Oddaj program i pobierz opłatę za instalację i wsparcie (używane przez wiele dystrybucji Linuksa ).
  • „Utowarowienie uzupełnień”: spraw, aby produkt był tańszy lub bezpłatny, aby ludzie byli bardziej skłonni do zakupu powiązanego produktu lub usługi, którą sprzedajesz.
  • Unikanie kosztów / dzielenie kosztów: wielu programistów potrzebuje produktu, więc sensowne jest dzielenie się kosztami rozwoju (taka jest geneza systemu X Window i serwera WWW Apache ).
  • Darowizny
  • Finansowanie społecznościowe

Coraz częściej FOSS jest rozwijany przez organizacje komercyjne. W 2004 roku Andrew Morton zauważył, że 37 000 z 38 000 ostatnich poprawek w jądrze Linuksa zostało stworzonych przez programistów bezpośrednio opłaconych za opracowanie jądra Linuksa. Wiele projektów, takich jak X Window System i Apache, od samego początku miało rozwój komercyjny jako główne źródło ulepszeń. Z czasem ten trend przyspieszył. [ potrzebne źródło ]

Są tacy [ kto? ] , którzy twierdzą, że komercjalizacja FOSS jest źle opracowanym modelem biznesowym, ponieważ komercyjne firmy FOSS odpowiadają stronom o przeciwnych programach. Z jednej strony komercyjne firmy FOSS są odpowiedzią na wolontariuszy programistów, których trudno dotrzymać harmonogramu, az drugiej strony na akcjonariuszy, którzy oczekują zwrotu z inwestycji. Rozwój firmy FOSS często nie przebiega zgodnie z harmonogramem, co może mieć niekorzystny wpływ na terminowe wydawanie oprogramowania przez komercyjną firmę FOSS.

Innowacja

Gary Hamel przeciwstawia się temu twierdzeniu, mówiąc, że ilościowe określenie, kto lub co jest innowacyjne, jest niemożliwe.

Fundacja Wolnego Oprogramowania zachęca do wdrażania kompatybilnych zamienników FOSS dla oprogramowania własnościowego, aby umożliwić swoim użytkownikom korzystanie z FOSS zamiast oprogramowania własnościowego, na przykład wymieniła GNU Octave , kompatybilny z API zamiennik MATLAB , jako jeden z ich projekty o wysokim priorytecie . W przeszłości ta lista zawierała darmowe implementacje Java i CLI kompatybilne z formatem binarnym, takie jak GNU Classpath i DotGNU . Tak więc, zdaniem wielu osób z FOSS, nawet „pochodne” rozwiązania są ważne. Jednak nie ma analizy ilościowej, jeśli FOSS jest mniej innowacyjny niż oprogramowanie własnościowe, ponieważ istnieją również pochodne/ponowne wdrażanie własnościowych rozwiązań.

Niektóre z największych, dobrze znanych projektów FOSS to albo starszy kod (np. FreeBSD czy Apache) opracowany dawno temu niezależnie od ruchu wolnego oprogramowania , albo firmy takie jak Netscape (które udostępniły swój kod z nadzieją, że uda im się konkurować lepiej) lub przez firmy takie jak MySQL , które wykorzystują FOSS do przyciągania klientów do droższego licencjonowanego produktu. Warto jednak zauważyć, że większość z tych projektów została gruntownie lub nawet całkowicie przepisana (na przykład w przypadku kodu Mozilli i Apache 2) i nie zawiera dużej części oryginalnego kodu.

Innowacje nadeszły i nadal nadchodzą ze świata open source:

  • Perl , pionierski język skryptowy typu open source, spopularyzował wiele funkcji, takich jak wyrażenia regularne i tablice asocjacyjne , które były wówczas niezwykłe. Nowszy Python kontynuuje tę innowację, oferując funkcje takie jak konstrukcje funkcjonalne i ujednolicenie słowników klasowych.
  • dcraw to narzędzie o otwartym kodzie źródłowym do dekodowania obrazów w formacie RAW z różnych aparatów cyfrowych , które może generować lepsze obrazy niż narzędzia o zamkniętym kodzie źródłowym dostarczane przez samych dostawców aparatów.
  • Dostępnych jest wiele modeli laptopów ze szczególnym naciskiem na możliwości multimedialne. Chociaż są one niezmiennie dostarczane z preinstalowaną kopią systemu Microsoft Windows, niektóre z nich oferują również alternatywny tryb „ szybkiego rozruchu ” (taki jak Phoenix HyperSpace ) oparty na systemie Linux. Ma to na celu wydłużenie czasu uruchamiania systemu Windows.
  • Odtwarzacz multimedialny VLC , Songbird i Amarok to odtwarzacze muzyczne firmy FOSS, które integrują internetowe źródła danych w niespotykanym dotąd stopniu, pobierając informacje o utworach z MusicBrainz , powiązane informacje o utworach z last.fm , okładki albumów z Amazon i wyświetlając stronę artysty w Wikipedii w gracz.
  • Choć wprawdzie inspirowany warstwą graficzną Quartz systemu Mac OS X , Compiz Fusion jest pionierem koncepcji „plug-in” dekoratorów okien i efektów animacji. Użytkownicy mogą tworzyć własne, kreatywne i niepowtarzalne efekty.
  • Produkty telekomunikacyjne typu open source, takie jak Asterisk PBX , zrewolucjonizowały branżę ICT.
  • Istnieją znaczne wysiłki na rzecz wdrożenia pulpitu semantycznego w społecznościach FOSS.
  • Dzisiejsze środowiska graficzne wprowadzają innowacje, jeśli chodzi o ich unikalną koncepcję pulpitu społecznościowego.
  • Wiele akademickich projektów badawczych publikuje swoje wyniki jako FOSS.

Jakość kodu

W 2008 roku Wydział Nauk o Zarządzaniu i Technologii Uniwersytetu Ekonomii i Biznesu w Atenach opublikował analizę jąder systemów operacyjnych FreeBSD , Linux , Solaris i Windows , w której poszukiwano różnic między kodem opracowanym przy użyciu procesów open source i zastrzeżonych. W badaniu zebrano metryki w obszarach organizacji plików, struktury kodu, stylu kodu, użycia preprocesora C i organizacji danych. Zbiorcze wyniki wskazywały, że uzyskali porównywalne wyniki. Inne badanie przeprowadzone przez Synopsys , opublikowane w 2014 roku, wykazało, że kod open source jest lepszej jakości.

Bezpieczeństwo

Badanie przeprowadzone na siedemnastu oprogramowaniu typu open source i o zamkniętym kodzie źródłowym wykazało, że na liczbę luk w zabezpieczeniach istniejących w oprogramowaniu nie ma wpływu model dostępności źródła, z którego korzysta. W badaniu wykorzystano bardzo prostą metrykę polegającą na porównaniu liczby luk w oprogramowaniu typu open source i o oprogramowaniu o zamkniętym kodzie źródłowym. Inne badanie zostało również przeprowadzone przez grupę profesorów z Uniwersytetu Północnego Kentucky na czternastu aplikacjach internetowych typu open source napisanych w PHP . Badanie zmierzyło gęstość podatności w aplikacjach internetowych i wykazało, że niektóre z nich miały zwiększoną gęstość podatności, ale niektóre z nich miały również mniejszą gęstość podatności.

Modele biznesowe

W swoim raporcie rocznym za rok 2008 firma Microsoft stwierdziła, że ​​modele biznesowe firmy FOSS stanowią wyzwanie dla jej modelu oprogramowania opartego na licencji i że firmy korzystające z tych modeli biznesowych nie ponoszą kosztów rozwoju oprogramowania [ wymagane wyjaśnienie ] . Firma podała również w raporcie:

Niektóre z tych firm [oprogramowania open source] mogą opierać się na pomysłach firmy Microsoft, które udostępniamy im bezpłatnie lub po niskich opłatach licencyjnych w związku z naszymi inicjatywami dotyczącymi interoperacyjności . W miarę jak oprogramowanie typu open source zyskuje coraz większą akceptację rynkową, nasza sprzedaż, przychody i marże operacyjne mogą spadać. Dostawcy oprogramowania typu open source poświęcają znaczne wysiłki na opracowywanie oprogramowania, które naśladuje cechy i funkcjonalność naszych produktów, w niektórych przypadkach na podstawie specyfikacji technicznych technologii firmy Microsoft, które udostępniamy. W odpowiedzi na konkurencję opracowujemy wersje naszych produktów o podstawowej funkcjonalności, które sprzedawane są po niższych cenach niż wersje standardowe.

W literaturze można znaleźć wiele modeli biznesowych dla firm open source.

Zobacz też