Open source: co daje firmie?

Prawie każda strona i aplikacja stoi na darmowym, otwartym kodzie. Wyjaśniam, czym jest open source, co oznaczają licencje, co z tego ma Twoja firma i na co uważać, zanim projekt oprze się na cudzej bibliotece.

DefinicjaOpen source (otwarte oprogramowanie) to programy i biblioteki, których kod źródłowy jest publicznie dostępny na licencji pozwalającej go używać, czytać, zmieniać i rozpowszechniać, także w zastosowaniach komercyjnych. Licencja określa warunki, np. obowiązek zachowania informacji o autorach albo udostępnienia własnych zmian.

Czy moja strona korzysta z open source?

Prawie na pewno. WordPress, na którym działa duża część stron firmowych, jest open source. Tak samo większość narzędzi, z których programiści budują strony i aplikacje: języki programowania, oprogramowanie serwerów, biblioteki do formularzy, map czy płatności. Wykonawca nie pisze wszystkiego od zera, tylko składa projekt z gotowych, sprawdzonych części i dopisuje to, co jest specyficzne dla Twojej firmy.

Co oznaczają licencje open source?

Darmowy nie znaczy „bez zasad”. Każdy projekt open source ma licencję, a licencje dzielą się na kilka głównych grup.

RodzajPrzykładyCo oznacza w praktyce
LiberalneMIT, BSD, Apache 2.0Możesz używać kodu w swoim produkcie, także zamkniętym i płatnym. Trzeba zachować informację o autorach i treść licencji. Apache 2.0 dodatkowo udziela licencji na patenty autorów.
CopyleftGPL, AGPLJeśli rozpowszechniasz program zbudowany na takim kodzie, musisz udostępnić jego kod na tej samej licencji. AGPL obejmuje też programy udostępniane przez internet, np. jako usługa online.
Słaby copyleftLGPL, MPLZmiany w samej bibliotece trzeba udostępnić, ale Twój kod, który z niej korzysta, może pozostać zamknięty.

Przy stronie firmowej licencje rzadko są problemem. Ważniejsze stają się przy aplikacji, którą chcesz sprzedawać albo udostępniać klientom jako usługę: wtedy trzeba wiedzieć, czy któraś z użytych bibliotek nie wymaga otwarcia Twojego kodu. To nie jest porada prawna; przy produkcie warto, żeby wykonawca przygotował listę użytych bibliotek i ich licencji.

Co open source daje firmie?

  • Brak opłat licencyjnych. Płacisz za pracę wykonawcy, a nie za prawo do używania podstawowych narzędzi.
  • Niezależność. Kod jest jawny i znany wielu programistom, więc projekt może przejąć inny wykonawca. Przy zamkniętym, autorskim systemie jednej firmy jesteś od niej zależny.
  • Jawność. Popularne projekty sprawdza wiele osób, a błędy są publicznie zgłaszane i poprawiane. To nie gwarancja bezpieczeństwa, ale problemy szybciej wychodzą na jaw.
  • Szybszy start. Formularze, logowanie czy mapy nie powstają od zera, więc budżet idzie na to, co wyróżnia Twoją firmę.

Na co uważać przy open source?

  • Porzucone biblioteki. Projekt, którego nikt nie rozwija, przestaje dostawać poprawki bezpieczeństwa. Przed użyciem warto sprawdzić, kiedy było ostatnie wydanie i ilu ludzi z niego korzysta.
  • Aktualizacje. Zależności trzeba regularnie aktualizować, tak jak wtyczki w WordPressie. Narzędzia do sprawdzania zależności same ostrzegają o znanych lukach.
  • Złośliwe paczki. Zdarzają się podróbki popularnych bibliotek o podobnych nazwach i przejęte konta autorów. Dlatego dokładne wersje bibliotek zapisuje się w projekcie i nie dodaje się wszystkiego, co znajdzie się w internecie.
  • Licencja. Kod na licencji AGPL w aplikacji udostępnianej jako usługa może oznaczać obowiązek otwarcia własnego kodu.

Czym open source różni się od open weights w AI?

O modelach AI często mówi się, że są „otwarte”. Zwykle chodzi o to, że twórcy udostępniają do pobrania wagi modelu (open weights), czyli wynik trenowania, który można uruchomić na własnym serwerze. Nie zawsze idą za tym dane i kod treningowy, a licencja potrafi ograniczać zastosowania, np. dla bardzo dużych firm albo w określonych celach.

Open Source Initiative, organizacja, która od lat pilnuje definicji open source, w 2024 roku opisała osobno, kiedy model AI można nazwać otwartym (Open Source AI Definition). Praktyczny wniosek: zanim firma zbuduje produkt na „otwartym” modelu, trzeba przeczytać jego licencję, tak samo jak przy każdej bibliotece.

Kto jest właścicielem kodu, który zrobi wykonawca?

Części open source zostają na swoich licencjach: możesz z nich korzystać, ale nie stajesz się ich właścicielem. Kod napisany specjalnie dla Ciebie to co innego. To, czy przechodzą na Ciebie autorskie prawa majątkowe, zależy od umowy, więc warto to w niej zapisać. Dobrze też, gdy kod od początku trafia do repozytorium na Twoim koncie; o tym, jak działa repozytorium, piszę w artykule Kontrola wersji po ludzku.

Sam publikuję biblioteki open source. Jakie i ile osób z nich korzysta, pokazuję na stronie Open source.

O co zapytać wykonawcę

  • Na jakich licencjach są biblioteki, których użyjesz w projekcie?
  • Czy któraś z nich wymaga udostępnienia mojego kodu?
  • Jak będziesz aktualizować zależności i sprawdzać je pod kątem luk?
  • Czy kod napisany dla mnie będzie mój i gdzie będzie przechowywany?

Najczęstsze pytania

Czy open source jest darmowy?

Licencja zwykle nic nie kosztuje, ale praca nad wdrożeniem, aktualizacjami i utrzymaniem już tak. Niektóre projekty mają też płatne wersje z dodatkowymi funkcjami albo wsparciem.

Czy open source jest bezpieczny?

Popularne, aktywnie rozwijane projekty zwykle tak, bo sprawdza je wiele osób, a poprawki wychodzą szybko. Ryzyko pojawia się przy porzuconych bibliotekach i braku aktualizacji.

Czy mogę użyć open source w płatnym produkcie?

Zwykle tak. Licencje liberalne (MIT, Apache 2.0) na to pozwalają. Przy licencjach copyleft (GPL, AGPL) trzeba sprawdzić, czy nie musisz udostępnić kodu swojego produktu.

Sebastian Musiał: programista i twórca stron internetowych dla firm. Robię strony firmowe, aplikacje webowe i mobilne oraz automatyzacje AI. Pracuję zdalnie z całą Polską, a na Śląsku (Katowice i okolice) także na miejscu.

Czytaj dalej

Więcej konkretów,
mniej żargonu.

Kontakt

Porozmawiajmy.

Napisz kilka zdań o swojej firmie i o tym, czego potrzebujesz. Odpowiadam w ciągu doby.

Zarezerwuj 30 min
  1. Piszesz kilka zdań
  2. Odpowiadam w 24 h
  3. Rozmawiamy 30 min