Oprogramowanie typu open source (OSS) to oprogramowanie, którego kod źródłowy jest widoczny i zmieniany publicznie lub w inny sposób otwarty. Gdy kod źródłowy nie jest widoczny i nie można go zmienić publicznie, jest uważany za zamknięty lub zastrzeżony.
Kod źródłowy to zakulisowa część programistyczna oprogramowania, na którą użytkownicy zwykle nie patrzą. Kod źródłowy zawiera instrukcje dotyczące działania oprogramowania i działania wszystkich różnych funkcji oprogramowania.
Jak użytkownicy korzystają z OSS
OSS umożliwia programistom współpracę przy ulepszaniu 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 do współpracy grupowej w projektach open source przynosi korzyści użytkownikom oprogramowania, ponieważ błędy są naprawiane szybciej, nowe funkcje są dodawane i wydawane częściej, oprogramowanie jest bardziej stabilne, a większa liczba programistów szuka błędów w kodzie, a aktualizacje zabezpieczeń są wdrażane szybciej niż wiele prawnie zastrzeżonych programów.
Powszechna Licencja Publiczna
Większość OSS używa jakiejś wersji lub odmiany Powszechnej Licencji Publicznej GNU (GNU GPL lub GPL). Najprostszy sposób na wymyślenie 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ś w dowolny sposób. GPL daje programistom i użytkownikom pozwolenie na dostęp i zmianę kodu źródłowego, podczas gdy domena publiczna daje użytkownikom pozwolenie na używanie i dostosowywanie zdjęcia. Część GNU 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 wykonane przez modyfikację kodu GPL musi pozostać otwarte. Nie możesz więc modyfikować programu na licencji GPL i sprzedawać go.
Kolejną premią dla użytkowników jest to, że OSS jest generalnie bezpłatny, jednak może wiązać się z kosztami dodatkowych, takich jak pomoc techniczna, dla niektórych programów.
Skąd się wzięło Open Source?
Podczas gdy koncepcja wspólnego kodowania oprogramowania ma swoje korzenie w środowisku akademickim lat 50. i 60., w latach 70. i 80. XX wieku problemy takie jak spory prawne spowodowały, że podejście otwartej współpracy w zakresie kodowania oprogramowania straciło na sile. Oprogramowanie prawnie zastrzeżone przejęło rynek oprogramowania, dopóki Richard Stallman nie założył Free Software Foundation (FSF) w 1985 roku, wynosząc na pierwszy plan otwarte lub wolne oprogramowanie. Pojęcie wolnego oprogramowania odnosi się do wolności, a nie kosztów. Ruch społeczny stojący za wolnym oprogramowaniem utrzymuje, że użytkownicy oprogramowania powinni mieć swobodę przeglądania, zmieniania, aktualizowania, naprawiania i dodawania do kodu źródłowego w celu zaspokojenia swoich potrzeb i swobodnego rozpowszechniania go lub dzielenia się nim z innymi.
FSF odegrała rolę formacyjną w ruchu wolnego i otwartego oprogramowania dzięki swojemu projektowi GNU. GNU to darmowy system operacyjny (zestaw programów i narzędzi, które instruują urządzenie lub komputer, jak działać), zwykle wydany z zestawem narzędzi, bibliotek i aplikacji, które razem mogą być określane jako wersja lub dystrybucja. GNU jest sparowany 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 Linux, pierwotnie stworzone przez Linusa Torvaldsa. To połączenie systemu operacyjnego i jądra jest technicznie nazywane systemem operacyjnym GNU/Linux, chociaż często jest określane po prostu jako Linux.
Z różnych powodów, włączając w to zamieszanie na rynku co do tego, co naprawdę oznacza termin „wolne oprogramowanie”, alternatywny termin „open source” stał się preferowanym terminem 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 myśli technologicznej w lutym 1998 roku, którego gospodarzem był wydawca technologii, Tim O'Reilly. Jeszcze w tym samym miesiącu Eric Raymond i Bruce Perens założyli Open Source Initiative (OSI) jako organizację non-profit zajmującą się promowaniem OSS.
FSF kontynuuje swoją działalność jako grupa rzeczników i aktywistów, której celem jest wspieranie wolności i praw użytkowników związanych z wykorzystaniem kodu źródłowego. Jednak większość 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.
Oprogramowanie Open Source jest częścią codziennego życia
Projekty open source są częścią naszego codziennego życia. Być może czytasz ten artykuł na swoim 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 utworzone przy użyciu bloków konstrukcyjnych z oprogramowania, projektów i programów typu open source.
Jeśli czytasz ten artykuł na laptopie lub komputerze stacjonarnym, czy używasz przeglądarki Chrome czy Firefox? Mozilla Firefox to przeglądarka internetowa typu open source. Google Chrome to zmodyfikowana wersja projektu przeglądarki o otwartym kodzie źródłowym o nazwie Chromium - chociaż Chromium zostało zapoczątkowane przez programistów Google, którzy nadal odgrywają aktywną rolę w aktualizacji i dodatkowym rozwoju, Google dodało programowanie i funkcje (niektóre z nich nie są otwarte źródło) do tego oprogramowania podstawowego w celu opracowania przeglądarki Google Chrome.
Internet został zbudowany w technologii Open Source
W rzeczywistości Internet, jaki znamy, nie istniałby bez OSS. Pionierzy technologii, którzy pomogli zbudować światową sieć, wykorzystali technologię open source, taką jak system operacyjny Linux i serwery 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, jeśli klikniesz łącze do witryny, którą chcesz odwiedzić), znajdując i przenosząc Cię do tej strony internetowej. Serwery internetowe Apache są oprogramowaniem typu open source i są obsługiwane przez wolontariuszy programistów i członków organizacji non-profit o nazwie Apache Software Foundation.
Open source to odtwarzanie i przekształcanie naszej technologii i naszego codziennego życia w sposób, z którego często nie zdajemy sobie sprawy. Globalna społeczność programistów, którzy przyczyniają się do projektów open source, wciąż poszerza definicję OSS i zwiększa wartość, jaką wnosi ona do naszego społeczeństwa.