då och då kommer community uproar över omtvistad open source-licensiering i en populär produkt att ta rubriker, vilket får oss att diskutera vilka open source-licenser som verkligen handlar om. Förra året var det Apache-stiftelsens förbud mot komponenter med Facebook reacts omtvistade patentklausul som orsakade en rörelse som skickade utvecklare som körde för Reddit-brädorna., De senaste månaderna har Redis Labs och MongoDB gjort ändringar i Open source-licenserna för några av deras mest populära open source-databaser, vilket gör att många kan klia på huvudet och markera behovet av att ha open source-licenser förklarade i human speak.

grunderna: Vad är en öppen källkodslicens?

den enklaste förklaringen är att open source-licenser är lagliga och bindande avtal mellan författaren och användaren av en programvarukomponent och förklarar att programvaran kan användas i kommersiella applikationer under angivna villkor., Licensen är vad förvandlar kod till en öppen källkod komponent. Utan en öppen källkodslicens är programvarukomponenten oanvändbar av andra, även om den har publicerats offentligt på GitHub.

varje open source-licens anger vad användare får göra med programvarukomponenterna, deras skyldigheter och vad de inte kan göra enligt villkoren. Det här kanske låter ganska rakt fram, men det finns över 200 open source-licenser där ute så lycka till att hålla dem alla organiserade., Varierande komplexitet och krav är det upp till organisationer att välja vilka licenser som är mest kompatibla med deras policyer för att säkerställa att de förblir kompatibla.

Copyleft och Permissive: två typer av licenser med öppen källkod förklaras

de två huvudkategorierna av licenser med öppen källkod kräver ofta en djupgående förklaring. Open source-licenser kan delas in i två huvudkategorier: copyleft och permissive. Denna division är baserad på de krav och begränsningar licensen placerar på användare.,

upphovsrätt är en lag som begränsar rätten att använda, modifiera och dela kreativa verk utan upphovsrättsinnehavarens tillstånd. Tänk på musik, filmer, etc som är deras skapares immateriella egendom. När en författare släpper ett program under en copyleft-licens gör de anspråk på upphovsrätten till arbetet och utfärdar ett uttalande om att andra människor har rätt att använda, Ändra och dela arbetet så länge som ömsesidigheten av skyldigheten upprätthålls., Kort sagt, om de använder en komponent med denna typ av open source-licens, måste de också göra sin kod öppen för användning av andra också.

en permissiv open source-licens är en Icke-copyleft open source-licens som garanterar friheten att använda, modifiera och omfördela, samtidigt som proprietära derivatverk tillåts. Permissiva open source-licenser, kärleksfullt kallade ”någonting går” , lägger minimala restriktioner på hur andra kan använda Open source-komponenter., Det innebär att denna typ av licens tillåter varierande grad av frihet att använda, Ändra och omfördela öppen källkod, tillåter dess användning i proprietära derivatverk, och kräver nästan ingenting i gengäld när det gäller skyldigheter framåt.

Cheat Sheet: Top Open Source Licences Explained

det är viktigt att notera att det inte finns några bra eller dåliga licenser, och att ingen licens är bättre än en annan. Vem som helst kan skapa en öppen källkod licens som passar deras fantasi, vilket är anledningen till att det finns så många där ute., Detta kan göra att välja en öppen källkod licens komplicerat företag, särskilt för dem av oss som inte är väl insatt i lagen och har aldrig haft öppen källkod licenser förklaras grundligt. För att hjälpa till att begränsa beslutet och förstå allt, lade OSI samman en lista över godkända licenser, bestående av drygt 80 open source-licenser som oftast används.

av de tiotals open source-licenser i OSI-godkända listan, några reign supreme och används av några av de mest populära open source-projekten där ute.,

Vi har sammanställt en snabblista som förklarar de vanligaste open source-licenserna:

  • GNU General Public License (GPL)
  • Apache-licensen
  • Microsoft Public Licenses (Ms-PL)
  • Berkeley Software Distribution (BSD)
  • Common Development and Distribution License (CDDL)
  • Eclipse Public License (EPL)
  • MIT-licens

GNU General Public License (GPL)

GNU: s General Public License är den mest populära Open Source-licensen runt., Richard Stallman skapade GPL för att skydda GNU-Programvaran från att bli proprietär, och det är en specifik implementering av hans ”copyleft” – koncept.

GPL är en copyleft-licens. Detta innebär att alla program som skrivs baserat på någon GPL komponent måste släppas som öppen källkod. Resultatet är att alla program som använder någon GPL öppen källkod komponent (oavsett dess procentandel i hela koden) krävs för att släppa sin fulla källkod och alla rättigheter att ändra och distribuera hela koden.,

det har alltid varit en viss förvirring om vad som utgör ett ”arbete baserat på” ett annat arbete, vilket i sin tur utlöser ömsesidighetsskyldigheten för GPL. FSF försökte öka tydligheten i GPLv3 när ömsesidighetsskyldigheten utlöses. FSF skrev till och med en ny GPL-licens, Affero-licensen, för att ta itu med en specifik förvirring som kallas ”ASP-kryphålet”.

dessutom försökte FSF öka Gplv3s kompatibilitet med andra licenser. För att kombinera två koder till ett större arbete måste båda programmen tillåta det., Om sådana rättigheter beviljas av båda programmens licenser är de kompatibla. Genom att göra GPLv3 mer kompatibel, FSF utökade utvecklingsalternativ.

den tredje skillnaden mellan de två versionerna är att GPLv3 skrevs i ett försök att öka användningen över hela världen. Det språk som används i GPLv3 för att beskriva licensrättigheterna ändrades för att säkerställa att internationella lagar tolkar det som FSF avsett, till skillnad från det språk som används i GPLv2, vilket anses vara mycket Usa-centrerat., GPLv3 gör det också möjligt för utvecklare att lägga till lokala ansvarsfriskrivningar, vilket också bidrar till att öka användningen utanför USA.

topp 10 GPL-licensfrågor besvarade

Apache-licensen

Apache-licensen är en öppen källkod-licens som släpptes av Apache Software Foundation (ASF). Det är en populär och allmänt utplacerade licens backas upp av en stark gemenskap. Apache-licensen låter dig fritt använda, modifiera och distribuera alla Apache-licensierade produkter. Men när du gör det måste du följa villkoren i Apache-licensen.,

Apache-gruppen (senare kallad Apache Software Foundation) släppte den första versionen av sin licens 1995, men det är sällsynt att du kommer över komponenter som fortfarande bär denna licens.

år 2000, när Berkeley accepterade argumentet från Free Software Foundation och pensionerade sin reklamklausul från BSD-licensen och bildade den modifierade BSD-licensen, gjorde Apache detsamma och skapade Apache-Licensversionen 1.1.,

Om du tar bort annonseringsklausulen innebar det att reklammaterialen för derivatverk av en Apache-licensierad produkt inte längre behövdes för att inkludera Apache-Licensattributionen. Det blev ok att inkludera attributionen i dokumentationen ensam.

år 2004 beslutade ASF att avvika från BSD-modellen lite mer radikalt och producerade Apache-Licensversionen 2.0 genom att bevilja patenträttigheter och definiera solida definitioner av de begrepp som används för att göra den mer sammanhängande.,

topp 10 Apache licensfrågor besvarade

Microsoft Public Licenses (Ms-PL)

Microsoft Public License är en fri och öppen källkod programvara licens släpptes av Microsoft, som skrev det för sina projekt som släpptes som öppen källkod.

du är fri att reproducera och distribuera original eller härledda verk av någon programvara som är licensierad under Ms-PL-licensen. Du får dock inte använda några bidragsgivares namn, logotyp eller varumärken när du gör det., Ms-PL skyddar författarna genom att uttryckligen inte erbjuda några uttryckliga garantier eller garantier för att använda din kod, så författaren är inte ansvarig om koden inte fungerar bra i vissa fall.

När du distribuerar programvara (eller dess del) under Ms-PL behöver du inte distribuera källkoden. Du kan göra det om du vill, men du är inte skyldig. Du måste dock behålla alla meddelanden om upphovsrätt, patent, varumärke och erkännande som ursprungligen finns i programvaran.,

dessutom, om du distribuerar någon del av programvaran i dess källkod form, kan du göra det endast under Ms-PL genom att inkludera en fullständig kopia av denna licens med din distribution. Om du distribuerar någon del av programvaran i dess kompilerade eller objektkodformulär, får du bara göra det under någon annan licens som överensstämmer med Ms-PL.

det är viktigt att notera att MS-PL-dokumentet är mycket kort, koncist och skrivet på ett mycket sammanhängande språk., Microsoft ville vara mycket tydlig och direkt med open source-samhället, vilket också hjälper adoptionsfrekvensen (som vi vet från BSD-licensen).

Berkeley Software Distribution (BSD)

BSD – licenser eller den ursprungliga BSD-licensen och dess två varianter-den modifierade BSD-licensen (3-klausul) och den förenklade BSD-licensen / FreeBSD-licensen (2-klausul) är en familj av tillåtande fria programvarulicenser.,

BSD-licensen låter dig fritt ändra och distribuera programvarans kod i källan eller binärformat så länge du behåller en kopia av upphovsrättsmeddelandet, listan över villkor och ansvarsfriskrivningen.
den ursprungliga BSD-licensen eller 4-klausul BSD-licensen innehåller också en reklamklausul och en icke-godkännandeklausul (detaljerad förklaring om dessa klausuler erbjuds i följande frågor). Den modifierade BSD-licensen eller 3-klausulen BSD-licensen bildades genom att reklamklausulen togs bort från den ursprungliga BSD-licensen., Vidare bildades FreeBSD-versionen eller 2-klausul BSD-licensen genom att ta bort klausulen om icke-godkännande från den modifierade BSD-licensen eller 3-klausul BSD-licensen.

Common Development and Distribution License (CDDL)

CDDL är en öppen källkodslicens publicerad av Sun Microsystems för att ersätta Sun Public License (SPL). CDDL-licensen anses av Sun (nu Oracle) vara SPL version 2. Det är inspirerat av Mozilla Public License (MPL)., Sun brukade släppa sina fri programvara / open source-projekt under sin Sun Public License (SPL) innan det vände sig för att förlita sig på CDDL i 2004. CDDL kallas ofta som en rensad version av MPL och är gjord för att underlätta återanvändning.

du är fri att reproducera och distribuera original eller härledda verk av någon programvara som är licensierad under CDDL. Du får dock inte ta bort eller göra några ändringar i upphovsrätt, patent eller varumärkesmeddelanden som finns i programvaran., Du måste också behålla eventuella meddelanden om licensiering eller beskrivande text som ger erkännande till någon bidragsgivare eller den ursprungliga utvecklaren.

När du distribuerar din programvara i körbar form (någon annan form än källkod) måste du göra källkoden tillgänglig även under CDDL. Den körbara formen kan släppas under CDDL eller alla CDDL kompatibla licenser.,

källkoden som du måste göra tillgänglig innehåller dina bidrag så länge de är ett tillägg till, radering från eller ändring av innehållet i en fil som innehåller den ursprungliga programvaran – eller nya filer som innehåller delar av det ursprungliga programmet. Det innebär att om dina tillägg görs i separata och oberoende filer som inte innehåller den ursprungliga koden, behöver du inte släppa den under CDDL. Du kan göra det om du väljer att, men du är inte skyldig.

dessutom måste du inkludera en kopia av CDDL med valfri källkod som du distribuerar., För varje ändring som du gör måste du identifiera dig som modifierare genom att inkludera ett meddelande i dina ändrade filer.

Eclipse Public License (EPL)

Eclipse Public License (EPL) är en Open source-licens som utvecklats av Eclipse Foundation. Det härrör från Common Public License (CPL). Eclipse-kodbasen som nu finns tillgänglig under EPL var tidigare licensierad under CPL.

EPL-licensen är en copyleft-licens., Om du ändrar en EPL ’ ed-komponent och distribuerar den i källkoden som en del av ditt program måste du avslöja den ändrade koden under EPL. Om du distribuerar ett sådant program i objektkodformuläret måste du ange att källkoden kan göras tillgänglig för mottagaren på begäran. Du måste också dela metoden för att begära källkoden.

Eclipse Foundation klargör att, enligt deras mening, ”bara interfacing eller interoperating” med en Eclipse plugin inte gör din kod ett derivat arbete av plugin.,
om du omfördelar ett program med en EPL-komponent är du skyldig att inkludera hela licenstexten och upphovsrätten.

EPL skyddar författaren från eventuella stämningar eller skador som orsakats om ett företag använde sin komponent i en kommersiell produkt. Det erbjuder också ett patentbidrag.

MIT-licens

MIT är en av de mest tillåtande fria programvarulicenserna. I grund och botten kan du göra vad du vill med programvara licensierad under MIT – licensen-bara om du lägger till en kopia av den ursprungliga MIT-licensen och upphovsrättsmeddelandet till den., Dess enkelhet är orsaken till dess höga adoptionsfrekvens bland utvecklare.

Känn dina open Source-licenser, eller förklara det för domaren

om du har kommit så långt vet du att open source-licenser inte är för svag i hjärtat.