Wróć do bloga

Czego nie wiesz o Open Source, a zdecydowanie powinieneś?


W ostatnich latach rośnie świadomość prawna twórców, ale i zamawiających wykonanie dedykowanego oprogramowania. Zamawiający mają coraz większą wiedzę, że licencja może zabezpieczać ich interesy równie dobrze, jak przeniesienie praw autorskich. W umowach pojawiają się szczegółowe określenia pól eksploatacji, postanowienia w zakresie udostępnienia kodów źródłowych, exit plany i… oświadczenia twórców o posiadaniu praw pozwalających im w pełni na udzielenie dalszych uprawnień prawno-autorskich.

Tymczasem okazuje się, że zapominamy, że dla tego ostatniego oświadczenia istnieje wiele zagrożeń w pracy operacyjnej programistów, dla których temat licencji open source może być nadal nieodkrytym lądem. Programiści chętnie korzystają z dostępnych bibliotek, ale niestety często nie mają świadomości, z jakimi obowiązkami, a często ograniczeniami (w zależności od rodzaju licencji) się to wiąże.

Dlatego dzisiaj odpowiemy na najważniejsze pytania:

  1. Czym więc jest Oprogramowanie Open Source?
  2. Jakie rodzaje mogą być użyte w komercyjnych oprogramowanych, a jakie pod żadnym pozorem nie powinny się tam znaleźć?
  3. Jakie ryzyka powoduje użycie licencji open sourcowej — copyleft? I jak się przed nimi zabezpieczyć?

Czym jest Oprogramowanie Open Source?

Oprogramowanie typu Open Source (OSS) to dowolne oprogramowanie komputerowe z powszechnym dostępem, rozpowszechniane bez opłat z kodem źródłowym dostępnym do modyfikacji.

W związku z tą definicją część osób zakłada, że tak udostępniony kod źródłowy de facto nie ma właściciela i jest dobrem wspólnym. Niestety nie jest to prawda. 

Każde oprogramowanie charakteryzujące się pewnym stopniem indywidualności stanowi utwór w rozumieniu prawa autorskiego i w związku z tym umożliwienie korzystania z takiego oprogramowania wymaga udzielenia licencji. 

Twórca oprogramowania typu Open Source udziela więc licencji niewyłącznej do swojego oprogramowania z najszerszym zakresem jej odbiorców oraz uprawnień do jej używania. W ten sposób każdy może używać takiego oprogramowania lub kodu źródłowego oraz dowolnie je modyfikować, udoskonalać i włączać do swojego utworu.

Gdzie więc prawnicy widzą problem?

Problem zaczyna się w momencie, gdy licencja wystawiona przez twórcę zawiera jakieś ograniczenia lub nakłada na licencjobiorcę obowiązki. Nieprzestrzeganie ich może wiązać się np. z wygaśnięciem uprawnień do korzystania z oprogramowania, natomiast korzystający nie ma świadomości tych zastrzeżeń i używa takiego kodu źródłowego do opracowania komercyjnego programu, z którego uzyskuje zyski. Takie zagrożenia powodują w szczególności licencje z klauzulą copyleft.

Rodzaje Open Source 

  • Licencja z klauzulą non-copyleft – bezpieczna dla software house’ów

Np. MIT, BSD 2-CLAUSE, BSD 3-CLAUSE, APACH

Licencja wymaga zamieszczenia w udzielanej licencji informacji o prawach autorskich twórcy pierwotnego oprogramowania. Stworzone na jego podstawie oprogramowanie można dystrybuować na własnych warunkach i nie trzeba udostępniać zmodyfikowanego kodu źródłowego.

  • Licencja z klauzulą copyleft

Licencja zezwala wszystkim zainteresowanym na dowolne kopiowanie, dystrybuowanie oraz modyfikowanie danej pracy lub pracy pochodnej, jednocześnie zastrzegając, by wszelkie zmiany również były objęte klauzulą copyleft. W ten sposób wytwór takiej pracy ma być wykorzystywany na tych samych zasadach co pierwotna praca.

(Więcej na ten temat: Richard Stallman: Czym jest copyleft? (ang.). Free Software Foundation, 2009/01/21.)

  • Silny copyleft:

GNU GPL 2.0, GNU GPL 3.0, GNU Affero GPL 1.0, GNU Affero GPL 3.0

„You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.” (Par.2bGNUGPLv.2. – http://www.fsf.org/licenses/gpl.html)

Licencja Gnu GPL – pozwala na jej modyfikowanie i rozpowszechnienie tylko pod warunkiem udzielenia jej na tych samych zasadach, co licencja pierwotna. Oznacza to, że oprogramowania stworzone z wcieleniem tej licencji lub z jej modyfikacją musi być bezpłatne i dostępne dla wszystkich. To powoduje, że jej komercyjne użycie przez software house może spowodować brak możliwości dalszej komercjalizacji i sprzedaży takiego oprogramowania.

  • Słaby copyleft

LGPL 2.1, LGPL 3.0, MPL 1.1, MPL 2.0

Licencja zezwala na używanie, modyfikowanie i rozpowszechnianie. W dalszej licencji muszą znaleźć się informacje o prawach autorskich. Niektóre utwory pochodne można dystrybuować na własnych warunkach (np. w zakresie pozostałej części oprogramowania, jeśli kod stworzony na podstawie open source stanowi tylko moduł oprogramowania). Trzeba jednak udostępnić kod źródłowy programu objętego licencją copyleft i jego modyfikacji. 

Ryzyka

Konsekwencją stworzenia oprogramowania z użyciem kodu źródłowego posiadającego klauzulę copyleft, jest konieczność jej dalszego bezpłatnego dystrybuowania.

Brak jest więc podstaw do udzielenia odpłatnie dalszej licencji, czy też udzielenia jej na innych polach eksploatacji niż utwór objęty klauzulą. 

To z kolei powoduje:

  • wyrządzenie szkody dalszym licencjobiorcom, którzy zapłacili za utwór/oprogramowanie wytworzone z użyciem kodu źródłowego będącego przedmiotem takiej wadliwej licencji;
  • że twórcy oprogramowania objętego licencją z klauzulą copyleft mogą również domagać się odszkodowania za naruszenie ich praw autorskich;
  • konieczność bezpłatnego udostępnienia stworzonego Utworu dla wszystkich. W innym wypadki brak jest praw do jego używania.

Jak się zabezpieczyć?

  • Informować, szkolić programistów i rzeczywistych twórców oprogramowania.
  • Sprawdzać, jakie faktycznie zewnętrzne biblioteki zostały zaimplementowane do utworu.
  • Prowadzić dokumentację, z jakich zewnętrznych źródeł korzystają twórcy.
  • Wprowadzić odpowiednie polityki zakazujące użycia określonego rodzaju bibliotek stworzonych na podstawie licencji z klauzulą copyleft.
  • Ze strony Zamawiającego wprowadzać w umowie wymogi dokumentowania w/w źródeł w dokumentacji przekazywanej Zamawiającemu.