Porównanie oprogramowania o otwartym i zamkniętym kodzie źródłowym - Comparison of open-source and closed-source software

Oprogramowanie bezpłatne / open source - model dostępności źródła używany przez oprogramowanie bezpłatne i otwarte (FOSS) - oraz oprogramowanie zamknięte to dwa podejścia do dystrybucji oprogramowania.

tło

W modelu zamkniętym 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 stanie skompilowanym do wykonania, do czego rynek ma dostęp. Microsoft , właściciel i twórca Windows i Microsoft Office , wraz z innymi głównymi producentami oprogramowania, od dawna są zwolennikami tego modelu biznesowego, chociaż w sierpniu 2010 roku dyrektor generalny Microsoft ds. Interoperacyjności Jean Paoli powiedział, że Microsoft „kocha otwarte oprogramowanie” i jego stanowisko open source było błędem.

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

Licencja niewolna służy do ograniczenia tego, co zwolennicy ruchu wolnego oprogramowania uważają za podstawowe wolności. Licencja, bez względu na to, czy zawiera kod open source, czy też nie, która nie określa „czterech swobód oprogramowania”, nie jest uważana za „wolną” przez ruch wolnego oprogramowania. Licencja zamkniętego źródła to taka, która ogranicza tylko dostępność kodu źródłowego. Natomiast licencja typu „ copyleft” twierdzi, że chroni „cztery swobody dotyczące oprogramowania” poprzez wyraźne ich przyznanie, a następnie wyraźny zakaz rozpowszechniania pakietu lub ponownego wykorzystywania zawartego w nim kodu do tworzenia dzieł pochodnych bez włączania tych samych klauzul licencyjnych. Niektóre licencje przyznają cztery swobody dotyczące oprogramowania, ale pozwalają redystrybutorom na ich usunięcie, jeśli chcą. Takie licencje są czasami nazywane liberalnymi licencjami na oprogramowanie . Przykładem takiej licencji jest Licencja FreeBSD, która pozwala na rozpowszechnianie oprogramowania pochodnego jako niewolnego lub zamkniętego źródła, pod warunkiem, że podaje on informacje o oryginalnych projektantach.

Błędne przekonanie, które często popełniają zarówno zwolennicy, jak i przeciwnicy FOSS, jest takie, że nie można go skapitalizować. FOSS może i został skomercjalizowany przez takie firmy, jak Red Hat , Canonical , Mozilla , Google , IBM , Novell , Sun / Oracle , VMware i inne.

Komercjalizacja

Oprogramowanie z zamkniętym źródłem

Podstawowy model biznesowy dla oprogramowania o zamkniętym kodzie źródłowym obejmuje stosowanie ograniczeń co do tego, co można zrobić z oprogramowaniem, oraz ograniczenie dostępu do oryginalnego kodu źródłowego. Może to skutkować narzuconą sztuczną rzadkością produktu, który w innym przypadku jest bardzo łatwy do skopiowania i rozpowszechniania. W rezultacie użytkownik końcowy nie kupuje oprogramowania, ale kupuje 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ą wykorzystania oprogramowania w ten sposób. Zamiast tego model przychodów opiera się głównie na usługach wsparcia. Firmy Red Hat Inc. i Canonical Ltd. to firmy, które udostępniają swoje oprogramowanie bezpłatnie, ale pobierają opłaty za usługi pomocy technicznej. Kod źródłowy oprogramowania jest zazwyczaj oddawane, a skompilowane oprogramowanie binarny często towarzyszy go dla wygody. Dzięki temu kod źródłowy można dowolnie modyfikować. Mogą jednak istnieć pewne ograniczenia licencyjne dotyczące ponownej dystrybucji oprogramowania. Zasadniczo oprogramowanie można modyfikować i ponownie rozprowadzać za darmo, pod warunkiem wskazania źródła dla oryginalnego producenta oprogramowania. Ponadto FOSS może być ogólnie sprzedawany komercyjnie, o ile dostarczony 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 (zobacz licencje typu GPL , LGPL i BSD ). FOSS może być również finansowany z darowizn.

Filozofia oprogramowania, która łączy aspekty FOSS i oprogramowania zastrzeżonego, to oprogramowanie typu open core lub komercyjne oprogramowanie typu open source. Pomimo krytyki ze strony niektórych zwolenników FOSS, odniosła marginalny sukces. Przykłady oprogramowania z otwartym rdzeniem obejmują MySQL i VirtualBox . System operacyjny MINIX był używany zgodnie z tym modelem biznesowym, ale po 2000 roku podlegał pełnym warunkom licencji BSD .

Obsługa konkurencji

Ten model okazał się nieco skuteczny, 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 jest pochodną Fedory Linux. To jest przykład jednego dostawcy, który tworzy produkt, zezwala stronie trzeciej na modyfikację oprogramowania, a następnie tworzy produkt trzeciorzędny w oparciu o zmodyfikowaną wersję. Wszystkie wymienione powyżej produkty są obecnie wytwarzane 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 dla PowerPC i SPARC . Żadne z nich nie może równać się z samą popularnością architektury x86 , niemniej jednak 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 przeciwko firmie FOSS dotyczy faktu, że zarabianie pieniędzy za pomocą tradycyjnych metod, takich jak sprzedaż indywidualnych kopii i płatności z tytułu tantiem patentowych , jest znacznie trudniejsze, a czasem niepraktyczne w przypadku FOSS. Ponadto FOSS został uznany za szkodliwy dla rynku oprogramowania komercyjnego, o czym świadczą dokumenty ujawnione w ramach wycieku dokumentów Microsoft Halloween .

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

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

Niektórzy twierdzą, że komercjalizacja FOSS jest słabo opracowanym modelem biznesowym, ponieważ komercyjne firmy FOSS odpowiadają stronom o przeciwnych planach. Komercyjne firmy FOSS z jednej strony odpowiadają na wolontariuszy deweloperów, których trudno jest dotrzymać harmonogramu, z drugiej zaś na udziałowców oczekujących zwrotu z inwestycji. Często rozwój firmy FOSS nie przebiega zgodnie z harmonogramem i dlatego może mieć negatywny wpływ na komercyjną firmę FOSS, która wydaje oprogramowanie na czas.

Innowacja

Gary Hamel odpiera to twierdzenie, mówiąc, że ilościowe określenie, kto lub co jest innowacyjne, jest niemożliwe.

Free Software Foundation zachęca do implementacji kompatybilnych zamienników FOSS dla prawnie zastrzeżonego oprogramowania, aby umożliwić swoim użytkownikom używanie FOSS zamiast oprogramowania zastrzeżonego, na przykład wymieniali GNU Octave , kompatybilny z API zamiennik MATLAB , jako jeden z ich wysokim priorytecie . W przeszłości ta lista zawierała darmowe implementacje Java i CLI kompatybilne z binarnymi, takie jak GNU Classpath i DotGNU . Dlatego zdaniem wielu osób z FOSS ważne są nawet „pochodne” zmiany. Jednak nie ma analizy ilościowej, jeśli FOSS jest mniej innowacyjny niż oprogramowanie własnościowe, ponieważ istnieją również rozwiązania pochodne / ponowne wdrażanie zastrzeżonych rozwiązań.

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

Innowacje przyszły i nadal pochodzą 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 język Python kontynuuje tę innowację, oferując takie funkcje, jak konstrukcje funkcjonalne i ujednolicenie słownika klas.
  • dcraw to narzędzie typu open source 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 sprzedawców aparatów.
  • Dostępnych jest wiele modeli laptopów, ze szczególnym naciskiem na możliwości multimedialne. Chociaż są one zawsze 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. To zajmuje dużo czasu, jaki może zająć uruchomienie systemu Windows.
  • VLC media player , Songbird i Amarok to odtwarzacze muzyki FOSS, które integrują internetowe źródła danych w bezprecedensowym stopniu, pobierając informacje o utworach z MusicBrainz , powiązane informacje o utworach z last.fm , okładki albumów z amazon.com i wyświetlając Wikipedię artysty. stronę w odtwarzaczu.
  • Choć trzeba przyznać inspirowane Mac OS X jest Quartz warstwie graficznej, Compiz Fusion jest pionierem koncepcji «wtyczki» w dekoratorów okiennych 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 .
  • Podejmowane są znaczne wysiłki na rzecz wdrożenia semantycznego pulpitu w społecznościach FOSS.
  • Dzisiejsze środowiska graficzne są innowacyjne pod względem unikalnego pomysłu na pulpit społecznościowy.
  • Wiele naukowych projektów badawczych publikuje swoje wyniki jako FOSS.

Jakość kodu

Analiza kodu jądra systemów operacyjnych FreeBSD , Linux , Solaris i Windows szukała różnic między kodem utworzonym przy użyciu właściwości open source (pierwsze dwa jądra) a kodem zastrzeżonym (dwa pozostałe jądra). W badaniu zebrano metryki w obszarach organizacji plików, struktury kodu, stylu kodu, wykorzystania preprocesora C i organizacji danych. Zagregowane wyniki wskazują, że w różnych obszarach i wielu różnych metrykach cztery systemy opracowane przy użyciu procesów rozwoju otwartego i zamkniętego dają porównywalne wyniki. Wspomniane powyżej badanie zostało obalone przez badanie przeprowadzone przez Coverity, Inc, w którym stwierdzono, że kod open source jest lepszej jakości.

Bezpieczeństwo

Badanie przeprowadzone na siedemnastu oprogramowaniach o otwartym i zamkniętym kodzie pokazało, że model dostępności źródła, z którego korzysta, nie wpływa na liczbę luk w zabezpieczeniach oprogramowania. W badaniu wykorzystano bardzo proste wskaźniki porównania liczby luk w oprogramowaniu typu open source i o zamkniętym kodzie źródłowym. Grupa profesorów z Northern Kentucky University przeprowadziła także inne badanie na czternastu aplikacjach internetowych typu open source napisanych w języku PHP . W badaniu zmierzono gęstość podatności w aplikacjach internetowych i wykazano, że niektóre z nich miały zwiększoną gęstość podatności, ale niektóre z nich również ją zmniejszały.

Modele biznesowe

W swoim raporcie rocznym za 2008 r. Microsoft stwierdził, że modele biznesowe firmy FOSS stanowią wyzwanie dla modelu oprogramowania opartego na licencji, a firmy, które stosują te modele biznesowe, nie ponoszą kosztów rozwoju oprogramowania. Firma w raporcie stwierdziła również:

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 w zakresie interoperacyjności . W zakresie, w jakim oprogramowanie open source zyskuje coraz większą akceptację na rynku, nasza sprzedaż, przychody i marże operacyjne mogą spaść. Dostawcy oprogramowania typu open source wkładają wiele wysiłku w tworzenie oprogramowania, które naśladuje funkcje i funkcjonalność naszych produktów, w niektórych przypadkach na podstawie specyfikacji technicznych technologii firmy Microsoft, które udostępniamy. W odpowiedzi na konkurencję tworzymy wersje naszych produktów z podstawową funkcjonalnością, które są sprzedawane po niższych cenach niż wersje standardowe.

Istnieje wiele modeli biznesowych dla firm open source, które można znaleźć w literaturze.

Zobacz też

Bibliografia