Przejdź do treści
Alternatywy

Klient ma login do darmowego odpowiednika, który stoi na Twoim serwerze. Tu kończy się darmowa licencja

Darmowy odpowiednik płatnego programu bywa darmowy tylko do własnego użytku. Sprawdź, które zdanie licencji decyduje, czy wolno dać go klientowi.

Redakcja: Redakcja katalogu11 min czytania

Darmowy odpowiednik płatnego programu bywa darmowy dokładnie do chwili, w której login do niego dostaje ktoś z zewnątrz. Granica nie przebiega tam, gdzie większość jej szuka, czyli między użyciem prywatnym a komercyjnym. Przebiega między „używam tego u siebie” a „udostępniam to innym”.

Dlatego dwa identyczne wdrożenia tego samego programu mogą mieć różny status: instancja postawiona na serwerze klienta, którą klient sam obsługuje, i instancja stojąca u Ciebie, do której klient dostaje login, to w języku licencji dwie różne rzeczy. Poniżej jest to rozpisane na konkretne licencje, konkretne zdania i cztery sytuacje, w których pytanie zadaje się zwykle za późno.

Jedno zastrzeżenie od razu: to nie jest opinia prawna, a wskazanie, gdzie w dokumentach szukać odpowiedzi i o co zapytać. Przy realnej umowie i realnych pieniądzach rozstrzyga pełny tekst licencji wersji, którą instalujesz, i w razie wątpliwości sam licencjodawca.

Co licencja nazywa „własnym użytkiem wewnętrznym”, a co usługą dla osób trzecich?

Najbardziej czytelnie zapisała to licencja n8n. Sustainable Use License w wersji 1.0 pozwala używać i modyfikować program „tylko na własne wewnętrzne cele biznesowe albo niekomercyjnie i prywatnie”, a dystrybucję dopuszcza wyłącznie nieodpłatnie i niekomercyjnie. Dokumentacja producenta dopowiada, gdzie leży granica: użytek wewnętrzny jest w porządku, dopóki nie „udostępniasz n8n swoim klientom, żeby podłączali własne konta i budowali przepływy”.

To zdanie warto przeczytać dwa razy, bo nie mówi nic o pieniądzach. Możesz na programie zarabiać — automatyzując własną firmę, obsługując własne zlecenia, skracając własną pracę. Nie możesz dać go do rąk klientowi jako usługi, którą utrzymujesz.

Ten sam podział wraca w licencji Elastica, tylko innymi słowami. Elastic License 2.0 stawia trzy ograniczenia: nie wolno udostępniać produktów innym jako usługi zarządzanej, obchodzić mechanizmu kluczy licencyjnych ani usuwać not licencyjnych. Na tej samej stronie producent wprost rozstrzyga dwa przypadki: korzystanie z domyślnej dystrybucji wewnątrz firmy nie wymaga licencji handlowej, a wyszukiwarka schowana pod własną aplikacją jest dozwolona — natomiast dawanie klientom bezpośredniego dostępu do znacznej części API albo interfejsu już nie.

Kryterium jest więc operacyjne, nie księgowe. Pytanie nie brzmi „czy zarabiam”, ale „kto jest operatorem instancji i kto się do niej loguje”.

Czego zakazuje konkretna licencja i co z tego wynika dla Ciebie?

Nazwy licencji mało mówią, dopóki nie postawi się ich obok siebie. W tabeli są te, na które realnie trafisz, szukając darmowego odpowiednika programu do monitoringu, automatyzacji, raportowania, bazy danych albo infrastruktury.

Licencja (przykłady) Co wolno Czego nie wolno Czy kiedyś się otworzy
MIT, Apache 2.0 Wszystko, także hosting dla klientów i odsprzedaż Usuwać not o autorstwie i licencji Już jest licencją otwartą
AGPL-3.0 (Grafana, Nextcloud, Metabase OSS) Uruchamiać bez ograniczeń, też komercyjnie i dla klientów Ukrywać źródeł własnych modyfikacji udostępnianych po sieci Jest licencją otwartą, zatwierdzoną przez OSI
SSPLv1 (jedna z opcji Redisa, MongoDB) Używać, modyfikować, redystrybuować nieodpłatnie Oferować jako usługę bez opublikowania pod SSPL źródeł całej warstwy zarządzania Nie, nie jest licencją otwartą
RSALv2 (jedna z opcji Redisa) Używać, kopiować, dystrybuować, tworzyć prace pochodne Komercjalizować programu i udostępniać go jako usługę zarządzaną dającą osobom trzecim jego funkcje Nie
Elastic License 2.0 (Elasticsearch, Kibana, Airbyte) Używać wewnątrz firmy bez opłat; trzymać pod własną aplikacją Udostępniać jako usługę zarządzaną, obchodzić kluczy licencyjnych, usuwać not Nie
BSL 1.1 (Terraform, Vault) Używać produkcyjnie, także komercyjnie, na własnej infrastrukturze Oferować osobom trzecim w modelu hostowanym lub wbudowanym, konkurencyjnie wobec płatnych wersji licencjodawcy Tak — cztery lata od publikacji danej wersji, na MPL 2.0
Sustainable Use License 1.0 (n8n) Używać i modyfikować na własne wewnętrzne cele biznesowe Dystrybuować inaczej niż nieodpłatnie i niekomercyjnie; udostępniać klientom do pracy na własnych kontach Nie
FSL 1.1 (Sentry) Niemal wszystko, w tym własny hosting Używać komercyjnie w sposób konkurencyjny wobec licencjodawcy Tak — dwa lata od wydania, na Apache 2.0 albo MIT

Dwie rzeczy w tej tabeli są praktyczne od razu. Pierwsza: cztery z ośmiu pozycji nie są licencjami otwartymi, mimo że program ściągasz bez opłaty i bez rejestracji. Druga: zakaz prawie zawsze dotyczy tej samej czynności — podania programu dalej jako usługi.

Przykład Redisa pokazuje przy tym, że licencja nie jest stałą cechą programu. Baza przeszła z BSD-3 na parę RSALv2 i SSPLv1 w marcu 2024 roku, co skończyło się forkiem Valkey pod opieką Linux Foundation, a potem od wersji Redis 8 producent dołożył trzecią opcję, AGPLv3, i opisuje dziś całość jako tri-licencję: RSALv2, SSPLv1 albo AGPLv3 do wyboru. Czternaście miesięcy, dwie zmiany, trzy możliwe odpowiedzi na pytanie „co wolno” — zależnie od tego, którą wersję masz na serwerze.

Cztery sytuacje, w których pytanie o licencję zadaje się za późno

Te same cztery scenariusze wracają przy każdym darmowym odpowiedniku. Różnica między nimi nie polega na wielkości firmy ani na kwocie faktury, tylko na tym, kto trzyma instancję i kto ma do niej dostęp.

Sytuacja Kto jest operatorem Jak to zwykle wygląda w licencji
Używasz programu u siebie, dostęp mają tylko Twoi ludzie Ty Dozwolone we wszystkich licencjach z tabeli. Elastic stwierdza to wprost, n8n nazywa to wewnętrznym celem biznesowym, BSL dopuszcza przez Additional Use Grant
Stawiasz program na infrastrukturze klienta, klient nim administruje, Ty konfigurujesz i doradzasz Klient Zwykle dozwolone — to użytek wewnętrzny klienta, a Twoja praca jest usługą doradczą, nie udostępnianiem programu
Trzymasz jedną instancję u siebie i wystawiasz klientom loginy w abonamencie Ty, dla osób trzecich To jest punkt zwrotny. ELv2, RSALv2 i Sustainable Use License tego nie obejmują, BSL zakazuje, jeśli konkurujesz z płatną wersją. Potrzebna umowa handlowa
Wbudowujesz program w swój produkt sprzedawany klientom Ty, w cudzym interfejsie Zależy od tego, co widzi klient. Schowany silnik bywa dozwolony, bezpośredni dostęp do API i interfejsu zwykle nie

Scenariusz drugi i trzeci różnią się jednym serwerem, a rozstrzygają o tym, czy rachunek za program wynosi zero, czy tyle, ile zażąda producent przy licencji handlowej. Jeśli dopiero układasz ofertę usług wokół automatyzacji i AI i zastanawiasz się, co właściwie sprzedajesz klientowi — pracę czy dostęp do narzędzia — program ULTRA dla osób wchodzących we freelancing wokół AI jest zbudowany wokół tego rozróżnienia. W modelu doradczym licencje darmowych odpowiedników są po Twojej stronie; w modelu „mam instancję, sprzedaję loginy” są przeciwko.

Czy darmowe dziś zostanie darmowe? Change Date, czyli data wyjścia

Dwie licencje z tabeli mają wbudowany termin, po którym ograniczenia znikają. Mechanizm wygląda prościej, niż działa.

W pliku licencyjnym Terraforma Change Date to „cztery lata od dnia publikacji danej wersji”, a Change License to MPL 2.0. Dodatkowe zezwolenie w tym samym pliku pozwala na produkcyjne użycie, o ile nie polega ono na oferowaniu programu osobom trzecim w modelu hostowanym lub wbudowanym, konkurencyjnie wobec płatnych wersji — i wskazuje dziś jako licencjodawcę IBM Corp. Tej nazwy nie ma na żadnej stronie marketingowej, tylko w pliku LICENSE.

Functional Source License skraca ten termin do dwóch lat, a licznik biegnie osobno dla każdego wydania — od chwili, w której wersja została udostępniona. To najważniejszy szczegół obu mechanizmów: data dotyczy wersji, nie programu. Wersja, którą instalujesz dziś, otworzy się za dwa albo cztery lata, ale wersja wydana za rok będzie miała własny, późniejszy termin. Program jako całość nie otwiera się nigdy, dopóki producent wydaje nowe wersje na starych zasadach.

Praktyczny wniosek jest nieoczywisty: jeśli liczysz na Change Date, liczysz na konkretną wersję i rezygnujesz z aktualizacji. To rzadko jest dobry plan przy programie, który trzyma dane produkcyjne.

Czy AGPL zmusi mnie do oddania kodu własnej aplikacji?

AGPL ma wśród licencji najgorszą reputację i najczęściej niezasłużoną, bo obowiązek, którego ludzie się boją, ma konkretny wyłącznik. Sekcja 13 nakłada obowiązek udostępnienia źródeł użytkownikom łączącym się po sieci tylko wtedy, gdy program zmodyfikowałeś, a sekcja 2 wprost potwierdza nieograniczone prawo do uruchamiania programu niezmodyfikowanego.

Czyli: postawienie niezmienionego Nextclouda, Grafany czy Metabase dla klientów nie uruchamia niczego. Obowiązek pojawia się, kiedy wprowadzisz zmiany w samym programie i udostępnisz zmodyfikowaną wersję po sieci — wtedy jej użytkownicy mają prawo dostać Twoje źródła. Ograniczenie dotyczy programu, nie Twoich danych ani Twojej konfiguracji.

Gdzie zaczyna się obszar sporny: czy osobna aplikacja rozmawiająca z programem na AGPL staje się pracą pochodną. Tu opinie się rozchodzą i nie rozstrzyga tego żadna strona dokumentacji. Niektórzy producenci odpowiadają za prawników i podają gotowe ścieżki — Metabase daje przy osadzaniu trzy wyjścia do wyboru: AGPL, licencję na osadzanie z obowiązkiem zostawienia logo „Powered by Metabase” albo licencję handlową, a funkcje z edycji Enterprise, w tym osadzanie interaktywne, piaskownicę danych i SSO przez SAML lub JWT, wymagają tej trzeciej drogi.

Przy AGPL sprawdza się też zakres relicencjonowania. Kiedy Grafana Labs przeniosła Grafanę, Loki i Tempo z Apache 2.0 na AGPLv3 w kwietniu 2021 roku, wtyczki, agenci i część bibliotek zostały przy Apache 2.0. Jeśli piszesz wtyczkę, obowiązuje Cię licencja wtyczki, nie rdzenia.

Jak sprawdzić licencję w pięć minut, zanim cokolwiek zainstalujesz?

Kolejność ma znaczenie, bo pierwszy krok unieważnia większość tego, co znajdziesz w wyszukiwarce.

  • Otwórz plik LICENSE w repozytorium tej wersji, którą instalujesz. Nie stronę z cennikiem, nie wpis na blogu, nie zestawienie na cudzym portalu. Nazwa licencjodawcy, dodatkowe zezwolenia i daty są tylko w tym pliku, a zmieniają się między wersjami.
  • Szukaj w nim czterech wyrażeń: „managed service”, „hosted”, „internal” i „third parties”. Wokół nich zbudowane jest każde ograniczenie z tabeli powyżej. Jeśli żadnego nie ma, prawdopodobnie trzymasz licencję otwartą.
  • Sprawdź, czy są pozycje „Change Date” i „Additional Use Grant”. Pierwsza mówi, kiedy ograniczenia znikną dla tej wersji. Druga zwykle przywraca prawo do normalnego użycia produkcyjnego i jest powodem, dla którego BSL w praktyce nie przeszkadza większości firm.
  • Odpowiedz na jedno pytanie przed podpisaniem umowy z klientem: kto będzie operatorem instancji. Ta odpowiedź rozstrzyga więcej niż nazwa licencji i da się ją zapisać w umowie — razem z tym, na czyjej infrastrukturze program stoi i kto ma do niego konta.
  • Zapisz w dokumentacji projektu trzy rzeczy: nazwę licencji, numer wersji i datę odczytu. Przy przejściu Redisa z BSD-3 na RSALv2 i SSPLv1 firmy, które miały to zapisane, wiedziały od razu, których instalacji zmiana nie dotyczy.
  • W niejasnym przypadku napisz do licencjodawcy. Elastic podaje do tego adres elastic_license@elastic.co i traktuje odpowiedzi z FAQ jako wiążące; producenci sprzedający licencje handlowe odpowiadają na takie pytania, bo to dla nich ścieżka sprzedaży.

Licencja nie jest przy tym jedyną pozycją na liście rzeczy do sprawdzenia przed oddaniem wdrożenia — na tym samym etapie równie łatwo przeoczyć klucz API, który wyszedł do klienta razem z paczką gotowej strony.

Dla kogo darmowy odpowiednik tak, dla kogo nie i co wybrać zamiast

Tak — jeśli program ma pracować wewnątrz Twojej firmy albo wewnątrz firmy klienta, która sama go administruje. W tym scenariuszu niemal każda licencja z tabeli jest po Twojej stronie, a oszczędność wobec abonamentu jest realna i nie ma w niej haczyka. Dotyczy to także użycia komercyjnego: zarabianie na pracy wykonanej w programie nie jest tym samym co odsprzedawanie programu.

Nie — jeśli model usługi wygląda tak, że trzymasz jedną instancję i sprzedajesz do niej dostęp. Tu darmowy odpowiednik jest najdroższą z możliwych opcji, bo rachunek przychodzi później, w formie negocjacji z pozycji słabszej. Sustainable Use License, Elastic License 2.0 i RSALv2 zakazują dokładnie tego, a BSL zakazuje, gdy konkurujesz z płatną wersją producenta.

Co wybrać zamiast. Trzy drogi, w kolejności od najtańszej w utrzymaniu:

  • Licencja handlowa od tego samego producenta. Prawie każdy program z tabeli ją ma, bo po to te licencje powstały. Zwykle jest tańsza niż przebudowa usługi i zawsze tańsza niż spór.
  • Fork pod licencją otwartą. Valkey wobec Redisa i OpenTofu wobec Terraforma powstały właśnie z takich zmian licencyjnych i nie mają ograniczenia hostingu. Kosztem jest mniejsza zgodność z ekosystemem producenta i własne tempo rozwoju.
  • Program pod MIT albo Apache 2.0 od początku. Jeśli Twoja usługa polega na udostępnianiu narzędzia klientom, wybieraj po licencji na tym samym poziomie, na którym wybierasz po funkcjach. To jedyny wariant, w którym pytanie nie wróci przy następnym kliencie.

Decyzja do podjęcia przed instalacją, nie po: zapisz na kartce, kto będzie operatorem instancji i kto dostanie do niej login. Jeśli w którejkolwiek odpowiedzi pojawia się klient, otwórz plik LICENSE przed umową, nie po pierwszym miesiącu abonamentu.