Pokud je někdo stejně zmatený ze softwarových licencí jako já, zde je to, jak je nyní vidím já. Softwarové licence řídí, co mohou lidé s vaším kódem dělat. Licence MIT umožňuje lidem dělat cokoli. Řekněme, že vytvoříte knihovnu pro analýzu JSON s licencí MIT. Startup může vzít váš kód, upravit jej a prodat jako součást své placené služby API, aniž by vám něco vracel. Stačí, když ponechá vaši poznámku o autorských právech v komentářích ke kódu. React používá MIT, takže Facebook jej mohl udělat proprietárním, ale rozhodl se jej ponechat otevřený. Jedná se o licenci "dělejte si, co chcete". GPL si vynucuje sdílení. Představte si, že vytvoříte webový framework pod GPL. Pokud někdo upraví váš framework tak, aby přidal nové vlastnosti, musí tyto modifikace také uvolnit jako GPL. Nemohou prodávat proprietární verzi. WordPress používá GPL, takže všechny WordPress šablony a pluginy musí být také GPL. Pokud vytvoříte komerční CMS nad WordPressem, celý váš CMS se stane GPL. Díky tomu je vše open source. Apache 2.0 si lépe poradí s patenty. Napíšete knihovnu strojového učení a někdo přispěje algoritmem. Později se pokusí žalovat uživatele za porušení patentu na tento algoritmus. S licencí Apache automaticky ztrácejí práva používat vaši knihovnu. Je to ochrana proti patentovým trollům. Kubernetes používá Apache 2.0, protože cloudové společnosti se obávají problémů s patenty. BSD je v podstatě MIT s různými slovy. Síťovou knihovnu vytvoříte pod BSD. Stejná pravidla jako na MIT, lidé si mohou dělat, co chtějí. FreeBSD toto používá, což je důvod, proč Apple mohl vzít kód BSD a vložit jej do macOS bez uvolnění zdrojového kódu macOS. Většina vývojářů nyní používá MIT, protože je přehlednější. LGPL je GPL pro knihovny. Vytvoříte knihovnu generace PDF pod licencí LGPL. Společnosti mohou používat vaši knihovnu ve svém proprietárním softwaru, aniž by celou svou aplikaci dělaly LGPL. Pokud však upraví samotný kód vaší knihovny, musí být tyto změny LGPL. Přehrávač médií VLC používá LGPL, takže další aplikace mohou zahrnovat přehrávání videa, aniž by se staly GPL. Proprietární znamená, že máte vše pod kontrolou. Vytvoříte databázový stroj a udržujete jej proprietární. Společnosti vám platí licenční poplatky za jeho používání. Nevidí zdrojový kód, nemohou ho upravovat, nemohou ho dále distribuovat. Oracle Database funguje tímto způsobem. Vyděláváte peníze z licencí, ale omezujete, kdo je může používat. Duální licencování dává možnosti. Databázi uvolníte pod licencí GPL i pod komerčními licencemi. Open source projekty používají GPL verzi zdarma. Společnosti, které nechtějí omezení GPL, platí za komerční licenci. MySQL to dělá. Startupy používají bezplatné MySQL, velké společnosti často kupují komerční licence. Volné dílo se vzdává všech práv. Vytvoříte hashovací funkci a umístíte ji do veřejné domény. Kdokoli s tím může dělat cokoli, žádná omezení, není vyžadováno žádné uvedení zdroje. SQLite to dělá. Vládní agentury to milují, protože je zde nulové právní riziko. Vytváříme knihovnu, kterou chcete, aby používali všichni? Vyberte si MIT. Chcete zajistit, aby se vylepšení vrátila do komunity? Použijte GPL. Máte obavy z patentů v podnikovém softwaru? Vyberte si Apache. Budování podnikání kolem vašeho kódu? Zůstaňte proprietární. Chcete maximální svobodu pro uživatele? Zkuste public domain. Klíčem je sladit vaše cíle s licenčními omezeními. Nekopírujte jen to, co dělají jiné projekty, aniž byste chápali, proč si vybrali právě tuto licenci.
22,17K