Wiele osób przy zakupie nowego smartfona martwi się specyfikacją aparatu, rozmiarem ekranu i pojemnością pamięci. Jednym z najważniejszych elementów tych atrakcyjnych produktów konsumenckich jest system operacyjny, który łatwo przeoczyć.
Android firmy Google to najpopularniejszy na świecie mobilny system operacyjny. Znajduje się w ponad 86 procentach smartfonów na całym świecie. Co bardziej zdumiewające, Android jest oparty na systemie operacyjnym Linux o otwartym kodzie źródłowym. Oznacza to, że każdy może czytać, zmieniać i, co najważniejsze, udostępniać kod znajdujący się w sercu większości smartfonów. Współpraca jest możliwa dzięki tej otwartości.
Na przykład w przeciwieństwie do Microsoft Windows, który został stworzony i utrzymywany przez jedną firmę. Ponad 15000 programistów z całego świata przyczynia się do rozwoju i utrzymania Linuksa. Tacy programiści mogą zaoferować zbudowanie czegoś nowego, które będzie swobodnie rozpowszechniane.
Co to jest Open Source?
Oprogramowanie, dla którego oryginalny kod źródłowy jest publicznie dostępny i może być udostępniany i aktualizowany zgodnie z potrzebami użytkownika. Oprogramowanie typu open source to oprogramowanie, w którym kod źródłowy lub kod podstawowy jest zwykle dostępny dla każdego, kto może go zmodyfikować lub ulepszyć w celu ponownego wykorzystania i dostępności.
Każdy może manipulować i zmieniać fragment oprogramowania, aby program lub aplikacja działała poprawnie. Programiści mający dostęp do kodu źródłowego programu komputerowego mogą go ulepszyć, dodając funkcje lub poprawiając sekcje, które nie zawsze działają poprawnie.
Oprogramowanie typu open source jest tworzone w sposób zdecentralizowany i oparty na współpracy, opierając się na recenzowaniu i wynikach społeczności. Ponieważ jest tworzone przez społeczności, a nie jednego autora lub korporację, oprogramowanie typu open source jest na ogół tańsze, bardziej elastyczne i ma dłuższą żywotność niż oprogramowanie zastrzeżone.
Każdego roku open source staje się coraz bardziej powszechny, pojawiając się wszędzie, od miast rządowych po instytucje. Jest również coraz bardziej popularny wśród firm każdej wielkości. W rzeczywistości niektóre firmy przenoszą open source na wyższy poziom, finansując projekty lub współpracując z programistami.
Współpraca wspiera innowacje dzięki bezpłatnemu i otwartemu oprogramowaniu. Wiele technologii, które dziś uważamy za oczywiste, nie rozwinęłoby się lub byłoby chronionych prawem patentowym, gdyby nie to.
Historia
Naukowcy pracujący nad wczesnymi technologiami internetowymi i protokołami sieci komunikacyjnych skorzystali z otwartego i opartego na współpracy środowiska badawczego w latach 1950. i 1960. XX wieku. Recenzja i otwarte komentarze były promowane przez Sieć Agencji Zaawansowanych Projektów Badawczych (ARPANET), która ostatecznie stała się kamieniem węgielnym współczesnego internetu.
Udostępniono i poprawiono kod źródłowy każdej grupy użytkowników. Fora pomogły w facylitacji dyskusji oraz wypracowaniu norm otwartej komunikacji i współpracy. Współpraca, wzajemne recenzowanie, komunikacja i otwartość zostały zakorzenione w korzeniach Internetu, zanim został uruchomiony na początku lat 1990. XX wieku.
Pomysł udostępnienia kodu źródłowego publicznie wywodzi się z kampanii intelektualnej rozpoczętej nieformalnie przez Richarda Stallmana, programistę z MIT, w 1983 roku. rozumieć, uczyć się i ulepszać.
Stallman rozpoczął dystrybucję wolnego oprogramowania na własnej licencji, GNU Public License. Ta nowa technika i podejście do tworzenia oprogramowania zyskały popularność, ostatecznie prowadząc do powstania inicjatywy Open Source w 1998 r.
Oprogramowanie typu Open Source a oprogramowanie typu Closed-Source
Oprogramowanie open source
- Dostępne oprogramowanie źródłowe to oprogramowanie komputerowe, którego kod źródłowy jest ogólnodostępny, co pozwala każdemu na jego przeglądanie i używanie.
- Kod mogą być zmieniane przez inne osoby i organizacje, kod źródłowy jest dostępny dla każdego.
- Koszt oprogramowania open source jest dość niski.
- Jeśli program jest popularny, do projektu może zostać przydzielona znaczna liczba programistów.
- Użytkownicy mają mniej ograniczeń w zakresie użytkowania oprogramowania i dostosowywania.
- Każda maszyna może być skonfigurowana do uruchamiania otwartego oprogramowania.
- Firefox, Android od Google, system operacyjny Linux, Android, Thunderbird, MySQL, Mailman, Moodle, Perl, PHP i Python to tylko niektóre przykłady.
Oprogramowanie zamkniętego źródła
- Zamknięte oprogramowanie źródłowe to oprogramowanie komputerowe z zamkniętym kodem źródłowym, co oznacza, że społeczeństwo nie ma dostępu do kodu źródłowego.
- Tylko osoba lub grupa, która wyprodukowała oprogramowanie, ma możliwość zmiany kodu.
- Kod źródłowy oprogramowania o zamkniętym kodzie źródłowym jest chroniony.
- Istnieje kilka ograniczeń nałożonych na użytkowników w zależności od użyteczności i dostosowania oprogramowania.
- Firma/organizacja programistyczna zatrudnia programistów do ulepszania oprogramowania.
- Oprogramowanie o zamkniętym kodzie źródłowym jest drogie.
- Zamknięte oprogramowanie przed zainstalowaniem na dowolnym komputerze musi posiadać ważną licencję.
- W oprogramowaniu o zamkniętym kodzie nie ma miejsca na błędy.
- Skype, Google Earth, Java, Adobe Flash, Virtual Box, Adobe Reader, Microsoft Office, Microsoft Windows, WinRAR, mac OS, Adobe Flash Player to tylko niektóre przykłady.
Korzyści
Kod open source pomógł zarówno początkującym programistom, jak i dużym korporacjom w ich wiedzy technologicznej. To niekończąca się edukacja, zwłaszcza biorąc pod uwagę rosnące konsekwencje kodowania. Ta stale rozwijająca się sieć pomysłów to dopiero początek tego, jak takie oprogramowanie może pomóc Twojej firmie.
Rozciągnięcie budżetu może być codzienną walką startupów. Dostępność projektów open source pozwala konsumentom korzystać z nowych technologii bez płacenia składek członkowskich lub podpisywania umów długoterminowych. Poza niskimi (lub nieistniejącymi) kosztami, biblioteki typu open source pozwalają zespołom na rozpoczęcie budowy infrastruktury IT lub opracowywania nowej aplikacji.
Duża część tej pracy została już wykonana za Ciebie dzięki open-source. To zwalnia czas programistów na optymalizację i dostosowywanie. Zawsze będą sytuacje, w których organizacje będą chciały zacząć od zera z rozwojem, ale nawet największe światowe marki rozpoznają czas i pieniądze zaoszczędzone dzięki wykorzystaniu technologii open source. Komponenty typu open source, używane jako zestawy początkowe dla złożonych aplikacji lub elementy małej układanki, pomagające ukończyć projekt, mogą być użyteczną alternatywą zarówno dla indywidualnych programistów, jak i zespołów korporacyjnych.
Społeczności internetowe, takie jak GitHub, demonstrują potencjał współpracy oprogramowania typu open source, zapewniając milionom programistów i firm miejsce do hostowania, oceny i wykorzystywania platform typu open source. Microsoft zapłacił za platformę 7.5 miliarda dolarów w 2018 roku. Jest to prawdopodobnie najbardziej widoczny do tej pory przykład tego, jak popularna stała się technologia open source i że uznani giganci IT inwestują w przyszłość tej społeczności.
Z różnych powodów opracowywanie i wdrażanie strategii oprogramowania typu open source stało się kluczowe. Indywidualnie i wspólnie twórcy oprogramowania typu open source szukają najlepszych odpowiedzi na wyzwania techniczne, dzięki czemu oprogramowanie jest niezawodne, bezpieczne i bezpłatne. Program poprawia się z czasem w wyniku ich niestrudzonej pracy.
Proces ten jest wspomagany przez liczne fundacje, w tym Linux Foundation, która wspiera open source w kilku domenach technologicznych, Apache Software Foundation i Eclipse Foundation.
Ustanawiają standardy we współpracy z cyfrowymi gigantami, takimi jak AWS, Facebook, Google, IBM, Microsoft, Netflix i SAP, a także z producentami sprzętu, takimi jak Cisco, Intel i Tesla. Budują również domy niezależne od dostawców dla projektów, oferują pomoc finansową na infrastrukturę, pomagają w marketingu i wybierają komisje, aby dokonywać mądrych wyborów projektów.
Podsumowując, niektóre z głównych zalet open-source to:
- Koszty sprzętu są niższe.
- Oprogramowanie o wyjątkowej jakości.
- Globalne wsparcie ze strony programistów.
- Elastyczność i swoboda.
- Zarządzanie licencjami jest proste.
- Koncentracja i skalowanie projektów.
Ryzyko
Jak wspomniano w poprzedniej sekcji, open source może mieć kilka zalet. Teraz przyjrzymy się potencjalnym wadom lub niebezpieczeństwom z tym związanym, które można podzielić na trzy następujące kategorie:
- Ryzyko bezpieczeństwa
- Ryzyko jakości
- Ryzyko braku zgodności
Komponenty open source można znaleźć w różnych repozytoriach internetowych, a programiści nie mają możliwości dowiedzenia się, jak dobre i bezpieczne są. Organizacje, które nie inwestują w kontrolowanie ich wykorzystania, narażają się na ryzyko, a cenę mogą zapłacić później, gdy poprawianie błędów stanie się znacznie droższe.
Ryzyko bezpieczeństwa
Hakerzy mogą zarobić dużo pieniędzy, wykorzystując luki w zabezpieczeniach oprogramowania typu open source. Daje to hakerom wszystkie informacje potrzebne do przeprowadzenia ataku. Co gorsza, ponieważ jest tak szeroko stosowana, luka w popularnym komponencie oferuje hakerom dużą liczbę potencjalnych ofiar. Oznacza to, że hakerzy bacznie obserwują społeczność i szybko wykorzystują znane luki w zabezpieczeniach popularnych komponentów open source.
Firmy produkujące oprogramowanie są podatne na złośliwe ataki, jeśli nie monitorują korzystania z oprogramowania typu open source i nie znają żadnych podatnych na ataki bibliotek w swoim kodzie.
Ryzyko jakości
Podczas gdy firma spędza dużo czasu i pieniędzy, aby zapewnić jakość własnego kodu, wydaje się, że wiele zespołów programistycznych nie docenia lub ignoruje jakość komponentów open source. Oczywiście wszyscy chcemy, aby nasz produkt końcowy był spójny i stabilny pod presją.
Jednym z powodów, dla których trudno jest zweryfikować, czy komponent oprogramowania o otwartym kodzie źródłowym nie zagraża statusowi twojego produktu, jest to, że nie ma uzgodnionych kryteriów oceny jego jakości, a wspólny charakter oprogramowania typu open source może utrudniać mierzyć.
Ryzyko braku zgodności
Każdy składnik oprogramowania typu open source oraz jego zależności są objęte licencją. Kiedy wykorzystujemy je w naszym projekcie, zobowiązujemy się do przestrzegania zestawu warunków, których musimy przestrzegać. Dla tych, którzy nie są zaznajomieni ze złożonością licencjonowania open source, może to być koszmar.
Niektóre projekty typu open source nie mają żadnej licencji źródłowej, co oznacza, że domyślnie obowiązują zasady dotyczące praw autorskich. Ponieważ licencji jest tak wiele, spełnienie wszystkich wymogów prawnych jest dość trudne. Czy wiesz, że istnieje ponad 200 różnych typów licencji open-source, z których każda ma swój własny zestaw unikalnych, specjalistycznych i często zaskakujących warunków?
Przyszłość Open Source
Nowe fale innowacji będą napędzane przez oprogramowanie, które jest wynikiem wspólnego wysiłku nie tylko jednej firmy, ale społeczności zaangażowanej w ulepszanie całego środowiska.
Firmy uwalniają swoich programistów do konkurowania na arenie cyfrowej, aby jako pierwsi generować coraz większą innowacyjność w branży technologicznej, która stale zyskuje ekspozycję wśród przedsiębiorstw.
Programiści mogą skutecznie rozwiązywać problemy z testowaniem i wdrażaniem, korzystając ze społeczności open-source i ucząc się od najlepszych programistów, zwłaszcza w obliczu zalewu nowych technologii, takich jak sztuczna inteligencja, uczenie maszynoweoraz postępy w robotyce.
Kiedy pracownicy korzystają z dynamicznej, zorientowanej na rozwiązania społeczności, widzimy, jak firmy zyskują. Od autonomicznych pojazdów po roboty medyczne, inteligentne miasta i centra danych, nie chcemy powierzać odpowiedzi na te wyzwania niewielkiej liczbie firm. Zamiast tego powinniśmy polegać na oprogramowaniu open source i mnóstwie genialnych wynalazców, aby uzyskać najlepsze wyniki.
Wnioski
Ruch open source jest odpowiedzialny za szybki rozwój technologii w ciągu ostatnich kilku dekad. Chociaż open source niesie ze sobą pewne ryzyko, istnieje wiele korzyści i obiecujących sposobów na przyszłość. Duża społeczność współpracowników, wskazówki dotyczące rozpoczęcia pracy, nauka poprzez studiowanie kodu innych osób i zdobywanie doświadczenia w komunikacji z innymi inżynierami to wspaniałe korzyści, jakie daje oprogramowanie typu open source.
Jeśli chcesz również zacząć współtworzyć projekt typu open source, najpierw znajdź taki, który Cię fascynuje, a następnie wyszukaj w serwisie GitHub etykietę z napisem „dobre pierwsze wydanie” lub coś podobnego. Dobry pierwszy numer to projekt, który wybiera łatwe wybory z popularnych projektów dla programistów, którzy nigdy wcześniej nie współpracowali.
Dodaj komentarz