Oprogramowanie o otwartym kodzie źródłowym (OSS) to oprogramowanie, którego kod źródłowy można przeglądać i zmieniać publicznie lub w inny sposób otwierać. Gdy kod źródłowy nie jest widoczny ani zmieniony przez wszystkich, jest uważany za zamknięty lub zastrzeżony.
Kod źródłowy to zakulisowa część oprogramowania, na którą użytkownicy zwykle nie patrzą. Kod źródłowy zawiera instrukcje dotyczące działania oprogramowania i sposobu działania wszystkich jego funkcji.
Getty Images / Scott-Cartwright
Korzyści dla użytkowników z OSS
OSS umożliwia programistom współpracę nad ulepszaniem oprogramowania poprzez znajdowanie i naprawianie błędów w kodzie (poprawki błędów), aktualizowanie oprogramowania do pracy z nową technologią i tworzenie nowych funkcji. Podejście oparte na współpracy grupowej w projektach open source jest korzystne dla użytkowników oprogramowania, ponieważ błędy są naprawiane szybciej, nowe funkcje są dodawane i publikowane częściej, oprogramowanie jest bardziej stabilne, więcej programistów szuka błędów w kodzie, a aktualizacje zabezpieczeń są wdrażane szybciej niż wiele programów zastrzeżonych.
Większość OSS używa jakiejś wersji lub odmiany Powszechnej Licencji Publicznej GNU (GNU GPL lub GPL). Najprostszy sposób wyobrażenia sobie licencji GPL podobnej do zdjęcia znajdującego się w domenie publicznej. Zarówno GPL, jak i domena publiczna pozwalają każdemu modyfikować, aktualizować i ponownie wykorzystywać coś, tak jak tego potrzebują. GPL daje programistom i użytkownikom pozwolenie na dostęp i zmianę kodu źródłowego, podczas gdy domena publiczna daje użytkownikom uprawnienia do używania i dostosowywania zdjęcia. Część GNU GPL odnosi się do licencji stworzonej dla systemu operacyjnego GNU, wolnego / otwartego systemu operacyjnego, który był i nadal jest znaczącym projektem w technologii open source. Główna różnica między GPL a domeną publiczną wynika z jednego ograniczenia GPL; wszystko, co powstało w wyniku modyfikacji kodu GPL, musi pozostać otwarte. Nie możesz więc modyfikować programu GPL i sprzedawać go.
Kolejną zaletą dla użytkowników jest to, że OSS jest generalnie bezpłatny, jednak w przypadku niektórych programów mogą obowiązywać dodatkowe opłaty, takie jak pomoc techniczna.
Skąd się wzięło Open Source?
Podczas gdy koncepcja wspólnego kodowania oprogramowania ma swoje korzenie w środowisku akademickim z lat 1950-1960, to w latach 1970. i 1980. XX wieku kwestie takie jak spory prawne spowodowały, że to podejście oparte na otwartej współpracy przy kodowaniu oprogramowania straciło na sile. Oprogramowanie własnościowe przejęło rynek oprogramowania, dopóki Richard Stallman nie założył Free Software Foundation (FSF) w 1985 r., Przywracając otwarte lub wolne oprogramowanie na pierwszy plan. Pojęcie wolnego oprogramowania odnosi się do wolności, a nie do kosztów. Ruch społeczny stojący za wolnym oprogramowaniem utrzymuje, że użytkownicy oprogramowania powinni mieć swobodę przeglądania, zmiany, aktualizowania, poprawiania i dodawania do kodu źródłowego, aby zaspokoić ich potrzeby oraz mieć możliwość jego rozpowszechniania lub swobodnego udostępniania innym.
FSF odegrała formacyjną rolę w ruchu wolnego i otwartego oprogramowania w swoim Projekcie GNU. GNU to wolny system operacyjny (zestaw programów i narzędzi, które instruują urządzenie lub komputer, jak mają działać), zazwyczaj wydawany z zestawem narzędzi, bibliotek i aplikacji, które razem mogą być określane jako wersja lub dystrybucja. GNU jest połączone z programem zwanym jądrem, który zarządza różnymi zasobami komputera lub urządzenia, w tym komunikacją między aplikacjami a sprzętem. Najpopularniejszym jądrem sparowanym z GNU jest jądro Linuksa, pierwotnie stworzone przez Linusa Torvaldsa. Ten system operacyjny i parowanie jądra jest technicznie nazywany systemem operacyjnym GNU / Linux, chociaż często określa się go po prostu jako Linux.
Z różnych powodów, w tym zamieszania na rynku co do tego, co naprawdę oznacza termin „wolne oprogramowanie”, alternatywny termin „otwarte oprogramowanie” stał się terminem preferowanym dla oprogramowania tworzonego i utrzymywanego przy użyciu podejścia opartego na współpracy publicznej. Termin „open source” został oficjalnie przyjęty na specjalnym szczycie liderów technologicznych w lutym 1998 r., Którego gospodarzem był wydawca technologii Tim O'Reilly. W tym samym miesiącu Eric Raymond i Bruce Perens założyli Open Source Initiative (OSI) jako organizacja non-profit zajmująca się promowaniem OSS.
FSF nadal działa jako grupa rzeczników i aktywistów zajmująca się wspieraniem wolności i praw użytkowników związanych z używaniem kodu źródłowego. Jednak znaczna część branży technologicznej używa terminu „open source” w odniesieniu do projektów i programów, które umożliwiają publiczny dostęp do kodu źródłowego.
commons.wikimedia.org
Oprogramowanie typu open source jest częścią codziennego życia
Projekty open source są częścią naszego codziennego życia. Być może czytasz ten artykuł na telefonie komórkowym lub tablecie, a jeśli tak, prawdopodobnie korzystasz teraz z technologii open source. Systemy operacyjne dla iPhone'a i Androida zostały pierwotnie stworzone przy użyciu bloków konstrukcyjnych oprogramowania, projektów i programów open source.
Jeśli czytasz ten artykuł na swoim laptopie lub komputerze stacjonarnym, czy używasz przeglądarki Chrome lub Firefox jako przeglądarki internetowej? Mozilla Firefox to przeglądarka internetowa typu open source. Google Chrome to zmodyfikowana wersja projektu przeglądarki open source o nazwie Chromium - chociaż Chromium został uruchomiony przez programistów Google, którzy nadal odgrywają aktywną rolę w aktualizacji i dodatkowym rozwoju, Google dodał programowanie i funkcje (z których niektóre nie są otwarte source) do tego oprogramowania podstawowego w celu rozwijania przeglądarki Google Chrome.
W rzeczywistości Internet, jaki znamy, nie istniałby bez OSS. Pionierzy technologii, którzy pomogli zbudować światową sieć WWW, wykorzystali technologię open source, taką jak system operacyjny Linux i serwery WWW Apache, do stworzenia naszego współczesnego internetu. Serwery WWW Apache to programy OSS, które przetwarzają żądanie dotyczące określonej strony internetowej (na przykład po kliknięciu łącza do witryny internetowej, którą chcesz odwiedzić), wyszukując i przenosząc do tej strony. Serwery internetowe Apache są open source i są obsługiwane przez wolontariuszy programistów i członków organizacji non-profit o nazwie Apache Software Foundation.
Open source odtwarza i przekształca naszą technologię i nasze codzienne życie w sposób, z którego często nie zdajemy sobie sprawy. Globalna społeczność programistów, którzy biorą udział w projektach open source, stale rozwija definicję OSS i zwiększa wartość, jaką wnosi on do naszego społeczeństwa.