co jakiś czas, zamieszanie społeczności wokół spornych licencji open source w popularnym produkcie pochłania nagłówki gazet, powodując, że wszyscy zastanawiamy się, o co tak naprawdę chodzi w licencjach open source. W ubiegłym roku to zakaz Apache Foundation na komponenty z kontrowersyjną klauzulą patentową Facebook React wywołał zamieszanie, które wysłało deweloperów do ubiegania się o tablice Reddit., W ciągu ostatnich kilku miesięcy Redis Labs i MongoDB wprowadziły zmiany w licencjach open source niektórych z ich najpopularniejszych baz danych open source, pozostawiając wiele do zarysowania, podkreślając potrzebę posiadania licencji open source wyjaśnionych w human speak.
podstawy: czym jest Licencja Open Source?
Każda licencja open source określa, co użytkownicy mogą robić ze składnikami oprogramowania, ich obowiązki i czego nie mogą robić zgodnie z warunkami. Może to zabrzmieć dość prosto, ale istnieje ponad 200 licencji open source, więc powodzenia w utrzymaniu ich wszystkich w porządku., Organizacje, różniące się złożonością i wymaganiami, decydują, które licencje są najbardziej zgodne z ich Zasadami, aby zapewnić ich zgodność.
Copyleft i Permissive: dwa typy licencji Open Source wyjaśnione
dwie główne kategorie licencji open source często wymagają dogłębnego wyjaśnienia. Licencje Open source można podzielić na dwie główne kategorie: copyleft i permissive. Podział ten opiera się na wymaganiach i ograniczeniach, jakie licencja nakłada na użytkowników.,
Prawo Autorskie to prawo, które ogranicza prawo do używania, modyfikowania i udostępniania utworów twórczych bez zgody właściciela praw autorskich. Pomyśl o muzyce, filmach itp., które są własnością intelektualną ich twórcy. Gdy autor wydaje program na licencji copyleft, zgłasza roszczenie dotyczące praw autorskich do utworu i wydaje oświadczenie, że inne osoby mają prawo do używania, modyfikowania i udostępniania utworu, o ile zachowana jest wzajemność zobowiązania., Krótko mówiąc, jeśli używają komponentu z tego rodzaju licencją open source, to oni również muszą otworzyć swój kod do użytku przez innych.
permissive open source license jest licencją open source nie będącą copyleft, która gwarantuje wolność używania, modyfikowania i redystrybucji, jednocześnie zezwalając na autorskie prace pochodne. Permisywne licencje open source, nazywane „Anything Goes”, nakładają minimalne ograniczenia na to, jak inni mogą korzystać z komponentów open source., Oznacza to, że ten rodzaj licencji pozwala na różne stopnie swobody w używaniu, modyfikowaniu i redystrybucji otwartego kodu źródłowego, pozwalając na jego użycie w prawnie zastrzeżonych utworach pochodnych i nie wymagając prawie niczego w zamian w odniesieniu do zobowiązań w przyszłości.
Ściągawka: najlepsze licencje Open Source wyjaśnione
ważne jest, aby pamiętać, że nie ma dobrych lub złych licencji i że żadna licencja nie jest lepsza od innej. Każdy może stworzyć licencję open source, która odpowiada jego fantazji, co jest powodem, dla którego jest tak wiele., Może to utrudnić wybór licencji open source, szczególnie dla tych z nas, którzy nie są dobrze zaznajomieni z prawem i nigdy nie mieli dokładnie wyjaśnionych licencji open source. Aby zawęzić tę decyzję i nadać jej sens, OSI ułożyła listę zatwierdzonych licencji, składającą się z nieco ponad 80 licencji open source, które są najczęściej używane.
spośród kilkudziesięciu licencji open source na liście zatwierdzonej przez OSI, niektóre z nich królują i są używane przez niektóre z najpopularniejszych projektów open source.,
stworzyliśmy krótką listę wyjaśniającą najczęściej używane licencje open source:
- GNU General Public License (GPL)
- the Apache License
- Microsoft Public Licenses (Ms-PL)
- Berkeley Software Distribution (BSD)
- Common Development and Distribution License (CDDL)
- Eclipse Public License (EPL)
- MIT License
Powszechna Licencja Publiczna GNU (GPL)
Powszechna Licencja Publiczna GNU jest najpopularniejszą licencją open source., Richard Stallman stworzył GPL w celu ochrony oprogramowania GNU przed staniem się prawnie zastrzeżonym i jest to specyficzna implementacja jego koncepcji „copyleft”.
GPL jest licencją typu copyleft. Oznacza to, że każde oprogramowanie napisane w oparciu o dowolny komponent GPL musi zostać wydane jako open source. Rezultatem jest to, że każde oprogramowanie, które używa dowolnego składnika GPL open source (niezależnie od jego udziału w całym kodzie) jest wymagane do wydania pełnego kodu źródłowego oraz wszystkich praw do modyfikacji i dystrybucji całego kodu.,
zawsze było pewne zamieszanie co do tego, co stanowi „dzieło oparte na” innym dziele, co z kolei powoduje obowiązek wzajemności GPL. FSF starał się wyjaśnić GPLv3, kiedy zostanie uruchomiony obowiązek wzajemności. FSF napisaĹ ' nawet nowÄ … licencjÄ ™ GPL, licencjÄ ™ Affero, aby rozwiÄ … zaÄ ‡ szczegĂłlne zamieszanie, okreĹ „lane jako”Luka ASP”.
ponadto FSF próbował zwiększyć kompatybilność GPLv3 z innymi licencjami. Aby połączyć dwa kody w większą pracę, oba programy muszą na to pozwolić., Jeśli takie prawa są przyznawane przez licencje obu programów, są one kompatybilne. Czyniąc GPLv3 bardziej kompatybilnym, FSF rozszerzył możliwości rozwoju.
trzecią różnicą między tymi dwoma wersjami jest to, że GPLv3 został napisany w celu zwiększenia użycia na całym świecie. Język używany w GPLv3 do opisania praw licencyjnych został zmodyfikowany w celu zapewnienia, że prawa międzynarodowe będą interpretować je tak, jak zamierzał FSF, w przeciwieństwie do języka używanego w GPLv2, który jest uważany za bardzo skoncentrowany na USA., GPLv3 pozwala również programistom na dodawanie lokalnych zrzeczeń, co pomaga również zwiększyć ich wykorzystanie poza USA.
odpowiedzi na 10 pytań dotyczących licencji GPL
Licencja Apache
Licencja Apache jest licencją open source wydaną przez Apache Software Foundation (ASF). Jest to popularna i szeroko wdrożona licencja wspierana przez silną społeczność. Licencja Apache pozwala na swobodne używanie, modyfikowanie i dystrybucję dowolnego licencjonowanego produktu Apache. Jednak podczas tego procesu musisz przestrzegać warunków licencji Apache.,
Grupa Apache (później nazwana Apache Software Foundation) wydała pierwszą wersję swojej licencji w 1995 roku, ale rzadko spotyka się komponenty, które nadal posiadają tę licencję.
w 2000 roku, kiedy Berkeley zaakceptowaĺ 'argument wysuniÄ ™ ty przez Free Software Foundation i wycofaĺ' klauzulÄ ™ reklamowÄ … z licencji BSD i utworzyĹ 'zmodyfikowanÄ … licencjÄ ™ BSD, Apache zrobiĹ' tak samo i stworzyĹ ' licencjÄ ™ Apache w wersji 1.1.,
usunięcie klauzuli reklamowej oznaczało, że materiały reklamowe utworów pochodnych dowolnego produktu licencjonowanego Apache nie muszą już zawierać atrybucji licencji Apache. Dołączenie atrybucji do samej dokumentacji stało się ok.
w 2004 roku ASF zdecydowało się odejść od modelu BSD nieco bardziej radykalnie i wyprodukowało Apache License w wersji 2.0, przyznając prawa patentowe i definiując solidne definicje pojęć, których używa, aby uczynić go bardziej spójnym.,
Top 10 odpowiedzi na pytania dotyczące licencji Apache
Microsoft Public Licenses (Ms-PL)
Microsoft Public licenses to licencja wolnego i otwartego oprogramowania wydana przez firmę Microsoft, która napisała ją dla swoich projektów, które zostały wydane jako open source.
masz prawo do powielania i rozpowszechniania oryginalnych lub pochodnych prac dowolnego oprogramowania licencjonowanego na licencji Ms-PL. Nie wolno jednak używać nazwy, logo ani znaków towarowych autorów., Ms-PL chroni autorów, wyraźnie nie udzielając żadnych wyraźnych gwarancji lub gwarancji korzystania z kodu, więc autor nie ponosi odpowiedzialności, jeśli kod nie działa dobrze w niektórych przypadkach.
Kiedy rozpowszechniasz oprogramowanie (lub jego część) pod ms-PL, nie musisz rozpowszechniać jego kodu źródłowego. Możesz to zrobić, jeśli chcesz, ale nie jesteś zobowiązany. Użytkownik jest jednak zobowiązany do zachowania wszystkich praw autorskich, patentów, znaków towarowych i informacji o atrybucji, które są pierwotnie obecne w oprogramowaniu.,
Dodatkowo, jeśli rozpowszechniasz jakąkolwiek część oprogramowania w postaci kodu źródłowego, możesz to zrobić tylko w ramach Ms-PL, dołączając do swojej dystrybucji kompletną kopię tej licencji. Jeśli rozpowszechniasz jakąkolwiek część oprogramowania w postaci skompilowanego lub obiektowego kodu, możesz to zrobić tylko na innej licencji zgodnej z Ms-PL.
należy pamiętać, że regulamin Ms-PL jest bardzo krótki, zwięzły i napisany bardzo spójnym językiem., Microsoft chciał być bardzo jasny i bezpośredni ze społecznością open source, co również pomaga w adopcji (jak wiemy z licencji BSD).
Berkeley Software Distribution (BSD)
licencje BSD lub oryginalna licencja BSD i jej dwa warianty – zmodyfikowana licencja BSD (3-klauzulowa) oraz uproszczona licencja BSD / Licencja FreeBSD (2-klauzulowa) są rodziną licencji wolnego oprogramowania.,
licencja BSD pozwala ci dowolnie modyfikować i rozpowszechniać kod Twojego oprogramowania w formacie źródłowym lub binarnym, o ile zachowasz kopię informacji o prawach autorskich, listę warunków i zrzeczenie się odpowiedzialności.
oryginalna licencja BSD lub 4-klauzulowa licencja BSD zawiera również klauzulę reklamową i klauzulę braku poparcia (szczegółowe wyjaśnienia dotyczące tych klauzul znajdują się w poniższych pytaniach). Zmodyfikowana licencja BSD lub 3-klauzulowa licencja BSD powstała poprzez usunięcie klauzuli reklamowej z pierwotnej licencji BSD., Ponadto, Wersja FreeBSD lub 2-klauzulowa licencja BSD powstała poprzez usunięcie klauzuli non-endorsement z zmodyfikowanej licencji BSD lub 3-klauzulowej licencji BSD.
Common Development and Distribution License (CDDL)
CDDL jest licencją open source opublikowaną przez Sun Microsystems w celu zastąpienia Sun Public License (SPL). Licencja CDDL jest uważana przez Sun (obecnie Oracle) za wersję SPL 2. Jest inspirowana Mozilla Public License (MPL)., Sun wydawał swoje projekty wolnego oprogramowania / open source na swojej Publicznej Licencji Sun (SPL), zanim w 2004 roku zwrócił się do CDDL. CDDL jest często nazywany oczyszczoną wersją MPL i jest stworzony w celu ułatwienia ponownego użycia.
możesz powielać i rozpowszechniać wszelkie oryginalne lub pochodne prace dowolnego oprogramowania licencjonowanego na mocy CDDL. Nie wolno jednak usuwać ani wprowadzać zmian w informacjach o prawach autorskich, patentach lub znakach towarowych zawartych w oprogramowaniu., Użytkownik musi również zachować wszelkie powiadomienia o licencjonowaniu lub jakikolwiek tekst opisowy wskazujący na przypisanie wkładu lub początkowego dewelopera.
Kiedy rozpowszechniasz swoje oprogramowanie w formie wykonywalnej (dowolnej innej niż kod źródłowy), musisz udostępnić kod źródłowy również w ramach CDDL. Plik wykonywalny może być wydany na licencji CDDL lub dowolnej zgodnej z CDDL.,
kod źródłowy, który musisz udostępnić, Zawiera Twój wkład, o ile jest on dodatkiem, usunięciem lub modyfikacją zawartości pliku zawierającego oryginalne oprogramowanie – lub nowych plików zawierających części oryginalnego programu. Oznacza to, że jeśli Twoje dodatki są wykonane w oddzielnych i niezależnych plikach, które nie zawierają oryginalnego kodu, nie musisz go udostępniać na CDDL. Możesz to zrobić, jeśli chcesz, ale nie jesteś zobowiązany.
ponadto musisz dołączyć kopię CDDL z dowolnym kodem źródłowym, który rozpowszechniasz., Przy każdej wprowadzanej modyfikacji należy zidentyfikować siebie jako modyfikatora, umieszczając powiadomienie w zmodyfikowanych plikach.
Eclipse Public License (EPL)
Eclipse Public License (EPL) jest licencją open source opracowaną przez Eclipse Foundation. Wywodzi się z Common Public License (CPL). Baza kodu Eclipse dostępna obecnie na licencji EPL była wcześniej licencjonowana na licencji CPL.
licencja EPL jest licencją typu copyleft., Jeśli zmodyfikujesz komponent EPL i rozpowszechnisz go w postaci kodu źródłowego jako część swojego programu, musisz ujawnić zmodyfikowany kod w ramach EPL. Jeśli rozpowszechniasz taki program w postaci kodu obiektowego, musisz oświadczyć, że kod źródłowy może być udostępniony odbiorcy na żądanie. Musisz również udostępnić metodę żądania kodu źródłowego.
Eclipse Foundation wyjaśnia, że ich zdaniem „zwykłe łączenie lub współdziałanie” z wtyczką Eclipse nie czyni Twojego kodu pochodnym działania wtyczki.,
Jeśli rozpowszechniasz program z komponentem EPL, jesteś zobowiązany do podania pełnego tekstu licencji i praw autorskich.
EPL chroni autora przed ewentualnymi pozwami sądowymi lub szkodami spowodowanymi, jeśli firma wykorzystała jego komponent w produkcie komercyjnym. Oferuje również dotację patentową.
Licencja MIT
MIT jest jedną z najbardziej permisywnych licencji wolnego oprogramowania. Zasadniczo możesz robić, co chcesz, z oprogramowaniem licencjonowanym na podstawie licencji MIT – tylko jeśli dodasz do niego kopię oryginalnej licencji MIT i informację o prawach autorskich., Jego prostota jest powodem jego wysokiej popularności wśród deweloperów.
Poznaj swoje licencje Open Source lub wyjaśnij je sędziemu
Jeśli zaszedłeś tak daleko, to wiesz, że licencje open source nie są dla osób o słabym sercu.