Licencja MIT w wersji Expat – czyli krótko i na temat
Duża część twórców oprogramowania lub firm posiadających do nich prawa autorskie licencjonuje swoje produkty na prostych zasadach, wybierając te najmniej skomplikowane licencje. W ramach nich nie muszą spełniać założeń wolnego oprogramowania w ujęciu Free Software Foundation czy też zamykać kodu. Liczy się więc prostota i elastyczność. Najpopularniejszą prostą licencją spełniającą te warunki jest MIT w […]
Duża część twórców oprogramowania lub firm posiadających do nich prawa autorskie licencjonuje swoje produkty na prostych zasadach, wybierając te najmniej skomplikowane licencje. W ramach nich nie muszą spełniać założeń wolnego oprogramowania w ujęciu Free Software Foundation czy też zamykać kodu. Liczy się więc prostota i elastyczność. Najpopularniejszą prostą licencją spełniającą te warunki jest MIT w wersji Expat.
MIT jest jedną ze starszych popularnych licencji oprogramowania. Świadczy o tym choćby liczba licencji, które w oparciu o nią powstały. FSF za właściwą licencję MIT uznaje wersję Expat. Charakteryzuje się ona krótką, zrozumiałą treścią oraz zgodnością z niemal każdą inną licencją. Producenci oprogramowania bardzo często, zamiast rekomendowanej przez FSF licencji Apache®, wybierają do krótkich programów właśnie licencję MIT. Za krótki kod FSF uznaje 300 linijek kodu. Dla porównania PostgreSQL to blisko milion linii kodu, a kernel Linux w wersji 3.13 ponad 12 milionów ;-)
MIT jest też najczęściej używaną licencją w Linuxie. O ile sam jego kernel w całości jest na licencji GNU GPL v2, tak ponad ¼ instalowanych na systemie programów korzysta z licencji MIT1.
Treść licencji MIT w wersji Expat
Poniżej skrócony opis treści licencji MIT w wersji Expat. Tworząc go, korzystałem wyłącznie z oryginalnego tekstu licencji w języku angielskim i tylko ta wersja jest prawnie wiążąca.
Początek licencji MIT to nagłówek określający właściciela praw autorskich do programu oraz data jego ostatniej zmiany.
Pierwszy akapit mówi o nadaniu „pozwolenia” każdej osobie, która otrzymała kopię danego oprogramowania wraz z dołączonymi do niego plikami dokumentacji (nazywane jako całość „Oprogramowaniem”). Pozwolenie to daje nieograniczone prawo do używania, kopiowania, modyfikowania, łączenia, publikowania, dystrybuowania, sublicencjonowania i/lub sprzedaży kopii tego Oprogramowania. Daje ono również przyzwolenie osobom, którym Oprogramowanie to zostało przekazane, na takie samo wykorzystywanie go, pod jednym warunkiem.
O warunku tym jest mowa w drugim akapicie licencji. Głosi on, że nota o prawie autorskim i wyżej wspomniane „pozwolenie” ma być włączone do każdej kopii lub znacznej części danego Oprogramowania.
Na koniec standardowa praktyka, czyli zrzeczenie się odpowiedzialności twórcy oprogramowania lub właściciela praw autorskich za wszelkie ewentualne szkody wynikające z jego użytkowania.
MIT – elastyczna licencja
Licencja MIT nie omawia kwestii związanych z ochroną patentową, DRM czy ograniczeniami do umów. Zachowuje dzięki temu znaczną elastyczność. Jak jednak ma się ona do problemów, które od wielu lat wskazuje FSF – ochrony wolności jednostki i oprogramowania, wojen patentowych czy negatywnego działania wielkich organizacji? Otóż zabezpieczenie tych kwestii nie jest celem licencji MIT. Natomiast dzięki wspomnianej elastyczności można ją bezproblemowo połączyć w jednym programie zarówno z zamkniętymi, jak i otwartymi licencjami. Jest to jednak działanie jednokierunkowe, tzn. nie da się nałożyć warunków MIT na licencję GPL. Jednak przeciwny kierunek działania jest już jak najbardziej możliwy.
FSF uznaje licencję MIT za wolną i zgodną z GPL choć słabą, tzw. „permisive license”2. Co więcej, nie zaleca tego typu licencji do dużych programów ze względu na możliwości współdziałania oprogramowania na tej licencji z oprogramowaniem na licencjach zamkniętych, dając tym samym szansę na „zniewolenie” programu. Open Source Iniciative nie ma w tej sprawie żadnych obiekcji pod kątem wielkości programu. Dla tej organizacji liczą się względy praktyczne wolności oprogramowania i biznesu, włącznie ze współdziałaniem z zamkniętym oprogramowaniem.
Współdzielenie nazwy licencji
Licencji określanych szeroko jako MIT jest wiele. Powstałe na przestrzeni dziesięcioleci mogą zawierać dodatkowe zmiany odpowiadające poszczególnym twórcom. Każda z tych licencji łamie regułę KISS (ang. keep it simple stupid), która zaleca utrzymanie prostoty. Odchodzenie od wersji Expat na ogół nie kończy się dobrze. Pozwolę sobie wspomnieć o dwóch kwestiach:
– Licencja JSON powstała przez dodanie jednego zdania do licencji MIT/Expat: „Oprogramowanie ma służyć dobru, a nie złu”. Nie da się do tego sensownie odnieść. Trudno bowiem postawić obiektywne granice dobra i zła w przypadku użytkowania oprogramowania, nie mówiąc już o rozstrzyganiu tego typu sporów w sądzie. Rodzi to też inne problemy i ich dziwne rozwiązania. Na przykład IBM uzyskał od autora tej licencji będącego też właścicielem praw autorskich do niej, prawo do wykorzystywania oprogramowania w złym celu [https://www.youtube.com/watch?v=-hCimLnIsDA].
– różne wersje licencji MIT zawierają rozmaite, mniej lub bardziej restrykcyjne dodatki. Poza rozmyciem pojęcia licencji MIT spowodowanego określaniem mianem „MIT” wielu różniących się od niej licencji np. JSON czy X11 niesie to ze sobą ryzyko nadania swojemu programowi czegoś, co będzie w przeszłości uciążliwe lub szkodliwe. Może to być wada prawna, niepotrzebne zapytania w sprawie umożliwienia zmiany licencji lub wprowadzenie klauzuli ogłoszeniowej.
Klauzula ogłoszeniowa nakazuje wyświetlenie/umieszczenie podziękowań dla osób/organizacji, które współtworzyły program. W ramach jego rozwoju może to spowodować problemy w postaci obowiązku wyświetlania kuriozalnej liczby organizacji czy kontrybutorów oprogramowania. Jest to relikt z czasów, w których nie istniał GitHub czy inny sposób skutecznego pochwalenia się swoim udziałem w tworzeniu oprogramowania. Do czego może doprowadzić wykorzystywanie klauzuli ogłoszeniowej i jaką ulgą może być pozbycie się jej, napiszę w następnym artykule. Omówię w nim także trzy najważniejsze wersje licencji BSD.
Podsumowanie
Reasumując, licencja MIT w wersji Expat:
– jest krótka i klarowna;
– umożliwia włączenie kodu do programów objętych innymi licencjami;
– nadaje się do różnych programów;
– jest wzorem do powstawania innych licencji;
– nie daje ochrony patentowej.
Źródła:
1 https://resources.whitesourcesoftware.com/blog-whitesource/top-open-source-licenses-trends-and-predictions
2 https://www.gnu.org/licenses/license-list.pl.html