Licencje oprogramowania | Blog X-Coding
licencje-oprogramowania

Licencje oprogramowania

30.05.2017 / / Developers

Dzisiaj chciałbym opowiedzieć o różnych licencjach oprogramowania. Na początku pracy programisty albo podczas tworzenia oprogramowania tylko dla zaspokojenia własnej ciekawości lub dla polepszenia swoich umiejętności programistycznych, zazwyczaj nie musimy martwić się zależnościami, o ile nie będziemy korzystać z programowanego narzędzia. Inaczej sprawa się ma w przypadku poważniejszych projektów (niekoniecznie komercyjnych) – musimy uszanować prawa autorskie innych osób lub instytucji.

Najczęściej spotykane licencje

Do najbardziej popularnych licencji należą (kolejność alfabetyczna):

  • Adware,
  • Apache License,
  • BOX,
  • CDDL (Common Development and Distribution License),
  • CPL (Common Public License),
  • Donationware,
  • Freeware,
  • GNU GPL (GNU General Public License),
  • Licencja BSD (Berkeley Software Distribution License),
  • Licencja X11 (MIT),
  • MPL (Mozilla Public License),
  • OEM,
  • Public domain (PD),
  • Shared Source,
  • Shareware,
  • Trial.

Adware

Oprogramowanie rozpowszechniane na tej licencji jest zazwyczaj oprogramowaniem zamkniętym. Korzystanie z oprogramowania jest darmowe, ale podczas pracy są wyświetlane reklamy (jako źródło przychodów autora).

Apache License

Licencja ta dopuszcza wykorzystanie kodu źródłowego bazującego na jej licencji zarówno w oprogramowaniu darmowym, jak i płatnym, z otwartym kodem źródłowym, jak i tylko w formacie binarnym.

Licencja jest zgodna z GPL v3 (ale nie jest zgodna z GPL v1 i v2). Więcej informacji znajdziesz pod adresem http://www.apache.org/licenses/LICENSE-2.0.html

BOX

Licencja znana przede wszystkim z dystrybucji sprzętu, ale ma zastosowanie także do oprogramowania. Oprogramowanie dystrybuowane na tej licencji może być instalowane na wielu różnych urządzeniach (w przeciwieństwie do licencji OEM). Pracując na 2 komputerach (nie jednocześnie), zazwyczaj korzystniejsze jest kupienie 1 licencji BOX niż 2 licencji OEM.

CDDL (Common Development and Distribution License)

Jedna z licencji wolnego oprogramowania. Możliwe jest łączenie kodu źródłowego z tej licencji.

CPL (Common Public License)

Jedna z licencji wolnego oprogramowania. Twórcą jest firma IBM. Licencja ta jest podobna do GPL, ale zakazuje zmiany kodu w taki sposób, żeby korzystać z niego w formie komercyjnej.

Donationware

Podstawowa licencja dla projektów crowdfoudingowych. Licencja pozwala na dowolne modyfikowanie oprogramowania i jego dystrybuowanie po wpłaceniu na rzecz autora opłaty licencyjnej. Zazwyczaj są to niewielkie kwoty i ich wysokość zależy od licencjobiorcy.

Freeware

Licencja umożliwa dystrybucję oprogramowania jako darmowe, ale bez potrzeby ujawniania kodu źródłowego. Dodatkowo może być ograniczony zakres licencji darmowej (np. nie do użytku komercyjnego).

GNU GPL (General Public License)

Licencja wolnego oprogramowania, która nakazuje utrzymywanie jawnego kodu źródłowego oraz umożliwienie swobodnego modyfikowania go i dystrybucji zmodyfikowanej treści. Wykorzystanie kodu GPL wymusza na twórcy modyfikacji stosowanie licencji GPL także w zmodyfikowanym oprogramowaniu (tzw. licencja wirusowa).

Licencja BSD

Jedna z licencji wolnego oprogramowania. Jest licencją, która nie wymusza (w przeciwieństwie do GPL) stosowania reguł wolnego oprogramowania do modyfikacji. Oprogramowanie na licencji BSD może być dystrybuowane na zasadach zamkniętego oprogramowania. Nakłada jednak ona obowiązek informowania o autorach pierwotnego kodu nawet w modyfikowanym oprogramowaniu płatnym. Ciekawostką jest klauzula ogłoszeniowa, czyli fragment tekstu, który trzeba zamieszczać w reklamach albo informacjach/ogłoszeniach o oprogramowaniu. Pierwotnie był to: This product includes software developed by the University of California, Berkeley and its contributors. (Ten produkt zawiera oprogramowanie opracowane przez Uniwersytet Kalifornijski w Berkeley i jego współpracowników.)

Jednak autorzy modyfikowali treść licencji i dlatego powstało wiele różnych licencji. Można spotkać nawet przypadki, w których mamy po kilkadziesiąt klauzuli ogłoszeniowych dopisywanych przez poszczególnych autorów.

Licencja X11 (MIT)

Podobna do licencji BSD, także nakazuje informowanie o autorach pierwotnego oprogramowania, ale nie wymagana jest klauzula ogłoszeniowa.

Za wikipedią: Według statystyk GitHub, licencja MIT jest najczęściej używaną licencją wśród oprogramowania hostowanego na tym serwisie.

MPL (Mozilla Public License)

Jedna z licencji wolnego oprogramowania. W najnowszej wersji (2.0) jest zgodna z GPL. Firefox, Thunderbird, SeaMonkey korzystają właśnie z licencji MPL.

OEM

Oprogramowanie OEM jest przyporządkowane do danego sprzętu, na którym działa i nie może być przenoszone na inne urządzenia.

Public domain (PD)

Nie jest to dokładnie licencja, a raczej brak praw autorskich (np. ze względu na ich wygaśnięcie). W polskim prawie taka sytuacja nie występuje, gdyż prawa autorskie są niezbywalne oraz nieograniczone czasowo. Może to jednak dotyczyć autorskich praw majątkowych. Ciekawy sposób klasyfikacji treści przedstawia tabelka: https://pl.wikipedia.org/wiki/Domena_publiczna.

Shared Source

Pochodząca od Microsoft licencja podobna do licencji wolnego oprogramowania, która jednak pozwala na pewne restrykcje. Przykładowo oprogramowanie może być używane tylko przez środowiska akademickie lub do użytku niekomercyjnego.

Shareware

Licencja oprogramowania stosowana głównie przez mniejszych dostawców lub pojedyncze osoby wydające oprogramowanie. Oprogramowanie to można dowolnie dystrybuować (co zwiększa zasięg małych producentów), ale samo korzystanie z niego jest już płatne.

Trial

Licencja pozwalająca na próbne użytkowanie. Zazwyczaj pozwala używać oprogramowania przez określony czas (w pełnej lub okrojonej funkcjonalności). Zdarza się także wersja trial na ilość uruchomień.

Podsumowanie

Szanowanie praw autorskich do oprogramowania jest bardzo istotne. Warto poznać przynajmniej podstawowe informacje przytoczone w tym artykule, które pomogą zorientować się jakie obostrzenia niesie za sobą korzystanie z oprogramowania objętego konkretną licencją.