Co to jest open source?
Autor: Redakcja Domeny.ForSale Opublikowano
W skrócie: Open source to oprogramowanie udostępniane na licencji, która pozwala korzystać z niego, analizować kod, modyfikować go i rozpowszechniać na określonych warunkach. Nie oznacza automatycznie darmowej usługi ani braku ograniczeń. O tym, co możesz zrobić z programem, decyduje jego licencja, a nie sam fakt opublikowania kodu w internecie.
Co oznacza otwarty kod źródłowy?
Kod źródłowy to zapis instrukcji programu w języku programowania, czytelny dla osób znających ten język. Dostęp do niego pozwala sprawdzić, jak działa aplikacja, poprawić błąd lub dopasować funkcje do własnych potrzeb. W oprogramowaniu zamkniętym użytkownik zwykle otrzymuje gotowy produkt bez takich uprawnień i bez pełnego dostępu do źródeł.
Open source oznacza jednak więcej niż możliwość przeczytania kodu. Licencja musi dopuszczać między innymi jego modyfikowanie i dalsze rozpowszechnianie, także w zastosowaniach komercyjnych. Repozytorium, czyli miejsce przechowywania kodu i historii zmian, może być publiczne, a mimo to zawierać program, którego nie wolno swobodnie przerabiać ani udostępniać.
Przykładami otwartego oprogramowania są przeglądarka Firefox, edytor graficzny GIMP i WordPress, czyli system zarządzania treścią strony internetowej. Nie trzeba być programistą, żeby z nich korzystać. Dostępność źródeł ma znaczenie również dla użytkownika: pozwala zlecić rozwój lub naprawę programu innemu wykonawcy, o ile znajdzie on potrzebne kompetencje.
Open source a darmowy program i płatna usługa
„Darmowy” opisuje cenę, a „open source” — prawa do oprogramowania. Bezpłatna aplikacja może mieć zamknięty kod i zabraniać modyfikacji. Z kolei twórca otwartego programu może pobierać opłaty za jego dystrybucję, wdrożenie, utrzymanie, dodatkowe usługi lub wsparcie techniczne.
Dobrym przykładem jest strona na WordPressie. Sam system jest otwartym oprogramowaniem, ale domena, serwer, konfiguracja i opieka nad stroną mogą kosztować. Nie wszystkie motywy, wtyczki i powiązane usługi mają też takie same warunki jak podstawowy program.
Własna instalacja daje większą kontrolę nad środowiskiem, lecz oznacza odpowiedzialność za aktualizacje i kopie zapasowe. Płatna usługa zarządzana może przejąć część tych zadań. Porównując oferty, sprawdź więc nie tylko cenę licencji, ale cały koszt działania narzędzia oraz zakres obowiązków dostawcy.
Jakie znaczenie ma licencja?
Licencja to warunki, na których autor zezwala na korzystanie z utworu. Open source nie oznacza zrzeczenia się praw autorskich. Informacji o uprawnieniach szukaj w pliku LICENSE, dokumentacji projektu i informacjach dołączonych do konkretnej wersji programu.
Dwie często spotykane grupy licencji różnią się przede wszystkim obowiązkami przy dalszym udostępnianiu kodu:
- Licencje liberalne, np. MIT i Apache 2.0, pozwalają szeroko wykorzystywać kod, również w produktach zamkniętych, pod warunkiem spełnienia ich wymagań. Obejmują one między innymi zachowanie odpowiednich informacji o prawach autorskich i licencji.
- Licencje copyleft, np. GPL, wymagają w określonych sytuacjach udostępnienia kodu źródłowego przekazywanego dalej programu lub jego modyfikacji na wskazanych warunkach. Zakres obowiązków zależy od licencji i sposobu połączenia oraz dystrybucji kodu.
Samo używanie programu na GPL w firmie nie oznacza automatycznie konieczności opublikowania własnych dokumentów czy całego firmowego oprogramowania. Istotne jest rozróżnienie używania, modyfikowania i przekazywania programu innym. Niektóre licencje, takie jak AGPL, obejmują również określone przypadki udostępniania zmodyfikowanego programu użytkownikom przez sieć.
To ogólne wyjaśnienie, nie indywidualna porada prawna. Przed włączeniem cudzego kodu do sprzedawanego produktu sprawdź oficjalny tekst właściwej licencji, licencje zależności — bibliotek potrzebnych do działania programu — i w razie wątpliwości skonsultuj sposób wykorzystania.
Czy open source jest bezpieczny i rozwijany?
Jawny kod umożliwia niezależną kontrolę, ale nie dowodzi, że ktokolwiek rzeczywiście ją przeprowadził. Bezpieczeństwo zależy między innymi od jakości projektu, reakcji na zgłoszenia błędów i regularnego instalowania poprawek. Otwarty program może być dobrze utrzymywany albo porzucony, podobnie jak produkt zamknięty.
Nie każdy projekt powstaje też dzięki dużej społeczności. Za rozwojem może stać firma, fundacja, niewielki zespół lub jedna osoba. Użytkownik nie otrzymuje automatycznie gwarancji pomocy ani terminu usunięcia awarii; takie zobowiązania mogą wynikać z osobnej umowy wsparcia.
Przed wdrożeniem przejrzyj historię wydań, dokumentację, komunikaty bezpieczeństwa i sposób obsługi zgłoszeń. Sama liczba osób zainteresowanych projektem nie zastępuje tych informacji. Brak częstych wydań nie musi oznaczać problemu, jeśli program jest dojrzały, ale brak reakcji na poważne usterki jest sygnałem ostrzegawczym.
Jak ocenić, czy otwarte narzędzie pasuje do zadania?
Załóżmy, że wybierasz system do firmowej strony. Otwarty kod będzie realną korzyścią, jeśli potrzebujesz nietypowych funkcji, kontroli nad instalacją lub możliwości zmiany wykonawcy. Jeśli nie masz osoby odpowiedzialnej za utrzymanie, wygodniejsza może być usługa z jasno opisanym wsparciem — również oparta na open source.
Przed decyzją wykonaj krótki test:
- Zainstaluj wersję próbną w środowisku bez danych klientów i sprawdź najważniejsze zadanie, np. publikację oferty.
- Zweryfikuj licencję programu oraz potrzebnych dodatków.
- Sprawdź eksport danych, wykonywanie kopii zapasowej i możliwość jej odtworzenia.
- Ustal, kto będzie instalował aktualizacje i usuwał awarie, oraz oszacuj koszt tej pracy.
Wybór oprzyj na wyniku testu i możliwościach utrzymania programu, nie tylko na etykiecie „open source”.
Zobacz też: Co to jest 2FA?
