Jak działa oprogramowanie typu open source

Jak działa oprogramowanie typu open source

Oprogramowanie typu open source (OSS) to każde oprogramowanie komputerowe, które jest dystrybuowane z kodem źródłowym dostępnym do modyfikacji. Oznacza to, że zwykle zawiera licencję dla programistów na zmianę oprogramowania w dowolny sposób: mogą naprawić błędy, ulepszać funkcje lub dostosować oprogramowanie do własnych potrzeb.

Kryteria oprogramowania typu open source

The Open Source Initiative (OSI), globalna organizacja non -profit założona w 1998 r., Działa jako wiodący autorytet w zakresie OSS. Jego definicja oprogramowania typu open source obejmuje dziesięć kryteriów związanych z takimi sprawami, jak:

  • Redystrybucja oprogramowania
  • Dostępność i integralność kodu źródłowego
  • Dystrybucja i nieruchomości licencji
  • Prowadzone prace
  • Antydyskryminacja

Licencje

Różne licencje umożliwiają programistom modyfikację oprogramowania o różnych dołączonych warunkach. Według Black Duck KnowledgeBase, baza danych około dwóch milionów projektów typu open source, pięć najpopularniejszych licencji to:

  1. Licencja MIT
  2. GNU General Public Licens (GPL) 2.0
  3. Licencja Apache 2.0
  4. GNU General Public Licens (GPL) 3.0
  5. Licencja BSD 2.0 (3-klauzuli, nowy lub poprawiony)

Po zmianie kodu źródłowego OSS wymaga włączenia tego, co zmieniłeś, a także metody. Oprogramowanie utworzone po modyfikacjach kodu może być udostępnione, ale nie musi być dostępne za darmo.

Oprogramowanie komercyjne

Oprogramowanie dostępne w handlu, czyli oprogramowanie komercyjne lub zastrzeżone, nie daje dostępu do kodu źródłowego, ponieważ oprogramowanie jest czyjąś własnością intelektualną. W rezultacie użytkownicy często za to płacą. Z drugiej strony Oss jest wspólnym wysiłkiem; Oprogramowanie jest wspólną własnością intelektualną wśród wszystkich, którzy pomogli ją opracować lub zmienić.

Darmowe oprogramowanie

Chociaż terminy są często używane zamiennie, OSS nieco różni się od wolnego oprogramowania. Oba zajmują się możliwością pobierania i modyfikowania oprogramowania bez ograniczeń lub opłaty. Jednak Free Software-A Concept opracowana w latach 80. przez badacza informatyki MIT, Richard Stallman-Is zdefiniowany przez cztery warunki, określone przez Fundację Non-profit Free Software Foundation. Te „cztery swobody” podkreślają zdolność użytkowników do korzystania i cieszenia się oprogramowaniem, jak uznają za stosowne.

Natomiast kryteria OSS, które inicjatywa open source opracowała dekadę później, kładą większy nacisk na modyfikację oprogramowania oraz konsekwencje zmiany kodu źródłowego, licencjonowania i dystrybucji.

Dwa nakładają się; Niektórzy powiedzieliby, że różnice między OSS a wolnym oprogramowaniem są bardziej filozoficzne niż praktyczne. Jednak nie należy mylić z darmowym oprogramowaniem. Freeware zwykle odnosi się do zastrzeżonego oprogramowania, które użytkownicy mogą pobrać bez żadnych kosztów, ale którego kodu źródłowego nie można zmienić.

Zalety

Chociaż jego brak kosztów jest kluczową zaletą, OSS ma kilka dodatkowych korzyści:

  • Jego jakość można łatwo i znacznie ulepszyć, gdy kod źródłowy jest przekazywany, testowany i ustalony.
  • Oferuje dla programistów cenne możliwości uczenia się. Mogą zastosować umiejętności do najpopularniejszych dostępnych programów.
  • Może być bezpieczniejszy niż oprogramowanie zastrzeżone, ponieważ błędy są identyfikowane i ustalane szybko.
  • Ponieważ znajduje się w domenie publicznej i stale podlega aktualizacji, istnieje niewielka szansa, że ​​może stać się niedostępne lub szybko przestarzałe-ważne dla projektów długoterminowych.

Popularne typy

Technologie open source pomogły ustanowić większość Internetu. Ponadto wiele używanych programów każdego dnia opiera się na technologiach typu open source. Przypadki w punkcie: Android OS i OS X Apple są oparte odpowiednio na technologiach jądra i UNIX/BSD Open-Source.

Inne popularne oprogramowanie typu open source to:

  • Przeglądarka internetowa Firefox Mozilla
  • Klient e -mail Thunderbird
  • Język scenariusza PHP
  • Język programowania Pythona
  • Apache HTTP Server

Programiści

Projekty OSS to możliwości współpracy, które poprawiają umiejętności i budują połączenia w terenie. Obszary, nad którymi programiści mogą pracować, obejmują:

Narzędzia komunikacyjne

E-mail, wiadomości w czasie rzeczywistym, fora i wiki pomagają programistom znaleźć rozwiązania lub odrzucić pomysły.

Rozproszone systemy kontroli rewizji

Gdy wielu programistów w różnych lokalizacjach geograficznych modyfikuje dane i pliki, systemy te zarządzają różnymi wersjami i aktualizacjami.

Śledzenie błędów i listy zadań

Funkcje te pozwalają projektom na dużą skalę monitorować problemy i śledzić ich poprawki.

Narzędzia testowe i debugowanie

Funkcje te automatyzują testy podczas integracji systemu i debuguj inne programy.

Dolna linia

Oprogramowanie typu open source to alternatywa dla zastrzeżonego oprogramowania. Udział w projekcie OSS może być ścieżką do budowania kariery w zakresie rozwoju oprogramowania, umożliwiając programistom doskonalenie swoich umiejętności poprzez pracę nad największymi programami na świecie. Facebook, Google i LinkedIn All Release OSS, aby programiści mogą udostępniać wiedzę, innowacje i przyczyniać się do stabilnych, funkcjonalnych produktów.