Obejmują one:
- Redystrybucja oprogramowania
- Dostępność kodu źródłowego
- Dystrybucja licencji
- Właściwości licencji
- Przeciwdziałanie dyskryminacji
Licencje
Różne licencje pozwalają programistom na modyfikowanie oprogramowania z różnymi dołączonymi warunkami. OSI zatwierdza licencje zgodne z definicją oprogramowania typu open source. 5 najpopularniejszych licencji zgodnie z Bazą wiedzy Black Duck to:
- Licencja MIT
- Powszechna Licencja Publiczna GNU (GPL) 2.0
- Licencja Apache 2.0
- Powszechna Licencja Publiczna GNU (GPL) 3.0
- BSD License 2.0 (3-klauzula, nowa lub poprawiona)
Kiedy zmieniasz kod źródłowy, jednym z wymagań OSS jest włączenie tego, co zmieniłeś, jak również twoich metod. Oprogramowanie utworzone po modyfikacji kodu może, ale nie musi zostać udostępnione za darmo.
Różnica między oprogramowaniem typu open-source i komercyjnym
Dostępne na rynku oprogramowanie lub zastrzeżone oprogramowanie nie zapewnia dostępu do kodu źródłowego, ponieważ oprogramowanie jest własnością intelektualną innej osoby.
W rezultacie użytkownicy często za to płacą.
Z drugiej strony, OSS to wspólny wysiłek - oprogramowanie jest wspólną własnością intelektualną pośród wszystkich, którzy pomogli ją opracować lub zmienić.
Oprogramowanie open-source Vs. Darmowe oprogramowanie
Wbrew powszechnemu przekonaniu, żaden z nich nie koncentruje się na kosztach lub ich braku w programach.
Open Source oznacza bezpłatną dostępność kodu źródłowego i dystrybucji. Darmowe oprogramowanie w podobny sposób obejmuje modyfikację kodu, ale podkreśla wolności, z których użytkownicy korzystają, robiąc to, co chcą z oprogramowaniem. Free Software Foundation określa 4 warunki, aby oprogramowanie było całkowicie bezpłatne.
Ponadto oprogramowanie można sklasyfikować jako freeware. Oznacza to, że użytkownicy pobierają oprogramowanie bezpłatnie, ale nie mogą wprowadzać żadnych zmian w kodzie źródłowym.
Zalety oprogramowania Open Source
Podczas gdy koszt jest czynnikiem napędowym, OSS ma kilka dodatkowych korzyści:
- Wysokiej jakości wyniki, gdy kod źródłowy jest przekazywany, testowany i naprawiany.
- Jest to cenna okazja do nauki dla programistów . Mogą uczyć się i stosować umiejętności w najpopularniejszych obecnie dostępnych programach.
- Wielu uważa, że oprogramowanie open source jest bezpieczniejsze niż oprogramowanie własne, ponieważ błędy są szybko identyfikowane i naprawiane.
- Ponieważ oprogramowanie typu open-source jest w domenie publicznej, istnieje małe prawdopodobieństwo, że stanie się niedostępne. Jest to ważne dla długoterminowych projektów, które opierają się na tych narzędziach przez cały czas trwania projektu.
- Większość oprogramowania jest darmowa. Koszty mogą jednak powstać później, np. Subskrypcje lub opłaty za wsparcie.
Popularne typy oprogramowania typu Open Source
Technologie Open Source pomogły w ustanowieniu dużej części Internetu. Ponadto wiele programów, z których korzystam na co dzień, jest opartych na technologiach open-source. Na przykład system operacyjny Android i system operacyjny Apple X są oparte odpowiednio na technologiach Open Source opartych na jądrze i systemie Unix / BSD.
Inne popularne oprogramowanie typu open source to:
- Przeglądarka Mozilla Firefox
- Klient poczty e-mail Thunderbird
- Język skryptowy PHP
- Język programowania Python
- Serwer WWW Apache
- system baz danych
Open Source i programiści
Projekty OSS to możliwości współpracy, które podnoszą umiejętności i budują połączenia w terenie. Programiści muszą być biegli w posługiwaniu się standardowymi narzędziami rozwoju oprogramowania typu open source.
- Narzędzia komunikacji - e-mail, wiadomości w czasie rzeczywistym, fora i wiki pomagają programistom znaleźć rozwiązania lub odrzucić pomysły od siebie nawzajem.
- Rozproszone systemy kontroli wersji - gdy wielu programistów w różnych lokalizacjach geograficznych modyfikuje dane i pliki, systemy te zarządzają różnymi wersjami i aktualizacjami.
- Narzędzia do śledzenia błędów i listy zadań - pozwalają projektom na dużą skalę monitorować problemy i śledzić ich poprawki.
- Narzędzia do testowania i debugowania - Zautomatyzuj testowanie podczas integracji systemu i debuguj inne programy.
Wniosek
Tysiące projektów open source stanowią alternatywę dla prawnie zastrzeżonego oprogramowania. Praca nad projektem OSS jako droga do budowania kariery w tworzeniu oprogramowania. Ponadto programiści mogą doskonalić swoje umiejętności, pracując nad największymi programami na świecie. Oprogramowanie do udostępniania Facebook, Google i LinkedIn jako Open Source, dzięki czemu programiści mogą dzielić się wiedzą, wprowadzać innowacyjne rozwiązania i przyczyniać się do tworzenia stabilnych, funkcjonalnych produktów.