Każdy, kto miał styczność z branżą IT słyszał o open source. W skrócie są to bezpłatnie rozpowszechniane programy komputerowe lub ich elementy, których licencje pozwalają użytkownikom na swobodne z nich korzystanie, modyfikowanie, wcielanie do innego oprogramowania oraz dalsze rozpowszechnianie. Zasady te stoją w opozycji do klasycznego prawa autorskiego, które wszystkie te uprawnienia przyznają twórcy programu, mogącemu żądać wynagrodzenia za udzielanie tego typu zezwoleń. Nic więc dziwnego, że dla programistów korzystanie z open source jest tak kuszące – po co wymyślać koło na nowo, skoro można bezpłatnie i legalnie czerpać z gotowych efektów pracy innych? Jak się okazuje, diabeł tkwi w szczegółach i wolne licencje nie zawsze oznaczają brak jakichkolwiek obowiązków.
Licencje permisywne
Opisywany problem w najmniejszym stopniu dotyczy tzw. „licencji permisywnych” (ang. „permissive licences”) – to rodzaj oprogramowania rozpowszechnianego na zasadach nakładających najmniejszą ilość obowiązków na użytkowników. Zazwyczaj ograniczają się one do obowiązku zachowania informacji o autorze programu, w niektórych wypadkach także kopii samych warunków licencji. Oznacza to, że oprogramowanie rozpowszechnianie na tych zasadach możemy modyfikować lub wcielać do własnego oprogramowania i rozpowszechniać dalej na dowolnych warunkach – także komercyjnych, niejako bogacąc się na pracy autora, który zrzekł się benefitów z tego tytułu (poza uznaniem jego autorstwa właśnie). Obowiązek ten nie jest specjalnie uciążliwy, choć w przypadku gdy twórca programu korzysta z wielu open source’owych komponentów, plik z informacjami o autorstwie i warunkami licencji może rozrosnąć się do całkiem pokaźnych rozmiarów.
W praktyce efekty takich klauzul widzimy w interfejsie używanego przez nas programu, np. w zakładce „oprogramowanie osób trzecich”. Znajdziemy tam listę wolnego oprogramowania wykorzystywanego przez ten program komputerowy (czasem wraz z kopiami licencji), tudzież taką listę znajdziemy w jego dokumentacji. Do licencji tego typu zaliczyć można np. licencję Apache, MIT, BSD 2-Clause czy BSD 3-Clause.
Licencje typu „copyleft”
Schody zaczynają się przy licencjach typu „copyleft”. Te mocniej kładą nacisk na idee zaprzeczające klasycznym prawom autorskim (stąd ich nazwa jako antyteza „copyright”). Nie tylko zezwalają na swobodne korzystanie czy modyfikowanie takiego oprogramowania, ale w przeciwieństwie do licencji permisywnych, narzucają użytkownikom także konkretne zasady dalszej dystrybucji. Z uwagi na intensywność tych obowiązków, licencje te dzielimy na tzw. „słaby” i „silny” copyleft.
Te pierwsze, podobnie jak licencje permisywne, wymagają zachowania informacji o autorstwie open source’owego programu. Ponadto zobowiązują, aby programy pochodne na nich oparte zawierały kopię kodu źródłowego oryginału, a często też i naszej modyfikacji. Licencjami typu „słaby copyleft” są np. licencje GNU Lesser General Public Licence (LGPL) czy Mozilla Public License (MPL).