Popularne tematy
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Jeśli ktokolwiek jest tak zdezorientowany kwestią licencji oprogramowania jak ja, oto jak je teraz postrzegam. Licencje oprogramowania kontrolują, co ludzie mogą robić z twoim kodem.
Licencja MIT pozwala ludziom na wszystko. Powiedzmy, że tworzysz bibliotekę do parsowania JSON z licencją MIT. Startup może wziąć twój kod, zmodyfikować go i sprzedać jako część swojej płatnej usługi API, nie oddając ci nic w zamian. Muszą tylko zachować twoje powiadomienie o prawach autorskich w komentarzach kodu. React używa MIT, więc Facebook mógłby uczynić go własnością, ale zdecydowali się go utrzymać jako otwarte. To jest licencja "rób, co chcesz".
GPL wymusza dzielenie się. Wyobraź sobie, że tworzysz framework webowy na licencji GPL. Jeśli ktoś zmodyfikuje twój framework, aby dodać nowe funkcje, musi również opublikować te modyfikacje na licencji GPL. Nie mogą sprzedać wersji własnościowej. WordPress używa GPL, więc wszystkie motywy i wtyczki WordPress muszą być również na licencji GPL. Jeśli zbudujesz komercyjny CMS na WordPressie, twój cały CMS staje się GPL. To utrzymuje wszystko jako open source.
Apache 2.0 lepiej radzi sobie z patentami. Piszesz bibliotekę do uczenia maszynowego, a ktoś wnosi algorytm. Później próbuje pozwać użytkowników za naruszenie patentu na ten algorytm. Z licencją Apache automatycznie tracą prawa do korzystania z twojej biblioteki. To ochrona przed trollami patentowymi. Kubernetes używa Apache 2.0, ponieważ firmy chmurowe martwią się o kwestie patentowe.
BSD to w zasadzie MIT z innymi słowami. Tworzysz bibliotekę sieciową na licencji BSD. Te same zasady co MIT, ludzie mogą robić, co chcą. FreeBSD to wykorzystuje, dlatego Apple mogło wziąć kod BSD i umieścić go w macOS bez publikowania kodu źródłowego macOS. Większość programistów używa teraz MIT, ponieważ jest to jaśniejsze.
LGPL to GPL dla bibliotek. Tworzysz bibliotekę do generowania PDF na licencji LGPL. Firmy mogą używać twojej biblioteki w swoim oprogramowaniu własnościowym bez konieczności przekształcania całej aplikacji w LGPL. Ale jeśli zmodyfikują kod twojej biblioteki, te zmiany muszą być LGPL. Odtwarzacz multimedialny VLC używa LGPL, aby inne aplikacje mogły włączyć odtwarzanie wideo bez stawania się GPL.
Własność oznacza, że kontrolujesz wszystko. Tworzysz silnik bazy danych i utrzymujesz go jako własność. Firmy płacą ci opłaty licencyjne za jego użycie. Nie mogą zobaczyć kodu źródłowego, nie mogą go modyfikować, nie mogą go rozpowszechniać. Oracle Database działa w ten sposób. Zarabiasz na licencjonowaniu, ale ograniczasz, kto może z niego korzystać.
Podwójne licencjonowanie daje opcje. Wydajesz bazę danych zarówno na licencji GPL, jak i komercyjnej. Projekty open source używają wersji GPL za darmo. Firmy, które nie chcą ograniczeń GPL, płacą za licencję komercyjną. MySQL to robi. Startupy używają darmowego MySQL, duże firmy często kupują licencje komercyjne.
Domena publiczna rezygnuje ze wszystkich praw. Tworzysz funkcję haszującą i umieszczasz ją w domenie publicznej. Każdy może robić z nią, co chce, bez ograniczeń, bez wymogu przypisania. SQLite to robi. Agencje rządowe to uwielbiają, ponieważ nie ma żadnego ryzyka prawnego.
Budujesz bibliotekę, którą chcesz, aby wszyscy używali? Wybierz MIT. Chcesz zapewnić, że ulepszenia wrócą do społeczności? Użyj GPL. Martwisz się o patenty w oprogramowaniu dla przedsiębiorstw? Wybierz Apache. Budujesz biznes wokół swojego kodu? Pozostań własnością. Chcesz maksymalnej swobody dla użytkowników? Spróbuj domeny publicznej.
Kluczem jest dopasowanie swoich celów do ograniczeń licencyjnych. Nie kopiuj po prostu tego, co robią inne projekty, nie rozumiejąc, dlaczego wybrali tę licencję.
22,17K
Najlepsze
Ranking
Ulubione