Hur man väljer en Open Source-licens för RAD-ramverket på GitHub

I den här artikeln kommer vi att prata lite om upphovsrätt, men främst om att välja en gratis licens för RAD-ramverket IONDV. Ramverk och för open source-produkter baserade på det. Vi kommer att berätta om tillståndslicensen Apache 2.0, om vad som ledde oss till det och vilka beslut vi stod inför i processen.

Processen för att välja en licens är ganska arbetskrävande och bör närma sig redan påläst, och om du inte är en lycklig ägare av en juridisk utbildning, öppnar sig ett tilldelat informationsfält om olika gratislicenser framför dig. Det viktigaste är att utarbeta ett antal begränsande kriterier. Genom processen med diskussion och reflektion kommer du och ditt team att kunna förstå vad du vill tillåta användare av din produkt och vad du ska förbjuda. När du redan har en viss beskrivning i dina händer måste du lägga över den på de befintliga licenserna och välja den där det största antalet poäng sammanfaller. Det låter förstås enkelt, men i verkligheten, oftast även efter diskussion, återstår frågor.

Hur man väljer en Open Source-licens för RAD-ramverket på GitHub

Först en länk till selectalicense.com, en användbar webbplats som vi använde flitigt. Var särskilt uppmärksam på jämförelsetabell licenser enligt 13 huvudkriterier. Må engelska och tålamod vara med dig.

Valets vånda

Låt oss börja med de allmänna egenskaperna för licenser för gratis mjukvara. Programvara med öppen källkod innebär en exklusivt fri licens, som inte begränsar kommersiell och icke-kommersiell distribution enligt modellen Öppna kärna. Följaktligen kan det inte helt begränsa överföringen, distributionen och försäljningen av programvara på nätverket under en fri licens, och du behöver bara vara mentalt förberedd för detta.

En gratis licens ger användaren rätt att delta i omvänd utveckling av programvaran eller ändra den på andra tillgängliga sätt. De flesta licenser tillåter dig inte att byta namn på produkten eller utföra några manipulationer med den, vilket ändrar rättigheterna för författaren och/eller ägaren av systemet.

De viktigaste frågorna vi var intresserade av om gratislicenser var:

  1. Bör ändringar som görs i programvaran registreras och inte ha något samband med upphovsrättsinnehavaren av systemet?
  2. Bör namnet på den härledda programvaran inte vara detsamma som namnet på upphovsrättsinnehavarens programvara?
  3. Är det möjligt att ändra licensen för alla nya versioner till en annan, inklusive en proprietär?

Efter att noggrant tittat på listan över de vanligaste licenserna valde vi ut flera som vi övervägde mer i detalj. Potentiella licenser för IONDV. Ramverk var: GNU GPLv3, Apache 2.0, MIT och MPL. MIT nästan omedelbart uteslutet, detta är en tillåtande icke-copyleft-licens, som tillåter användning, modifiering och distribution av koden på nästan vilket sätt som helst, men vi var inte nöjda med det här alternativet, vi ville fortfarande att licensen skulle reglera förhållandet mellan upphovsrätten hållaren och användaren. De flesta av de mindre projekten på GitHub publiceras under MIT-licensen eller dess olika varianter. Licensen i sig är mycket kort, och de enda förbuden är att ange upphovsmannen till mjukvaruskaparen.

Nästa var licensen MPL 2.0. Visserligen kom vi inte till det direkt, men efter att ha studerat det mer i detalj uteslöt vi det snabbt, eftersom den största nackdelen är att licensen inte gäller hela projektet, utan enskilda filer. Dessutom, om användaren ändrar filen kan han inte ändra licensen. Faktum är att oavsett hur flitigt du ändrar ett projekt med öppen källkod, kommer du aldrig att kunna tjäna pengar på det på grund av en sådan licens. Detta berör för övrigt inte upphovsrättsinnehavaren.

Ett liknande problem kvarstår med licensen GNU GPLv3. Det kräver att alla filer finns kvar under den. GNU GPL är en copyleft-licens som kräver att härledda verk är öppen källkod och förblir under samma licens. Det vill säga: genom att skriva om två rader kod kommer du att tvingas genomföra dina ändringar och, under vidare användning eller distribution, spara koden under GNU GPL. I det här fallet är detta en begränsande faktor för användaren av vårt projekt, och inte för oss. Men det är förbjudet att ändra GPL till någon annan licens, även inom GPL-versioner. Till exempel om du byter LGPL (ett tillägg till GPL) till GPL, så finns det ingen väg tillbaka till LGPL. Och denna punkt var avgörande för att rösta emot den.

Sammantaget lutade vårt val till en början mot GPL3 just på grund av distributionen av den modifierade koden under samma licens. Vi trodde att vi på detta sätt kunde säkra vår produkt, men vi såg färre risker i Apache 2.0. Enligt Free Software Foundation är GPLv3 kompatibel med Apache License v2.0, vilket innebär att det alltid är möjligt att ändra licensen från Apache License v2.0 till GPL v3.0.

Apache 2.0

Apache 2.0 — En balanserad tillåtande licens med tonvikt på upphovsrätt. Här är svaren hon gav på de frågor som intresserade oss. Bör ändringar som görs i programvaran registreras och inte ha något samband med upphovsrättsinnehavaren av systemet? Ja, alla ändringar måste dokumenteras och vi ansvarar inte för den ursprungliga koden eller den modifierade. Filen med ändringarna måste bifogas koden där du gjorde dessa ändringar. Bör namnet på den härledda programvaran inte vara detsamma som namnet på upphovsrättsinnehavarens programvara? Ja, härledd programvara bör släppas under ett annat namn och under ett annat varumärke, men med en uppgift om upphovsrättsinnehavaren. Är det möjligt att ändra licensen för alla nya versioner till en annan, inklusive en proprietär? Ja, det kan släppas under olika licenser, Apache 2.0 begränsar inte användningen av några icke-kommersiella och kommersiella licenser.

Dessutom, när man släpper nya produkter baserade på öppen källkod för Apache 2.0 eller produkter med ytterligare funktionalitet, är det inte nödvändigt att använda samma licens. Nedan kan du se en bild med villkoren och begränsningarna för Apache 2.0-licensen.

Hur man väljer en Open Source-licens för RAD-ramverket på GitHub

Licensen ställer krav på att bevara och nämna upphovsrätter och den licens under vilken programvaran släpps. Obligatorisk tillgänglighet upphovsrättsmeddelande med namnet på upphovsrättsinnehavaren och en licens skyddar rättigheterna för den ursprungliga upphovsmannen till programvaran, eftersom även om den döps om, ges bort eller säljs under en annan licens, kommer upphovsmannens varumärke fortfarande att finnas kvar. Du kan också använda filen för detta LÄGGA MÄRKE TILL och bifoga den antingen till källkoden eller till projektdokumentationen.

Vi släpper alla våra produkter offentligt tillgängliga på GitHub under Apache 2.0-licensen, förutom IONDV. Krigsarkiv, vars källkod publicerades under GPLv3-licensen på GitHub i april i år av Far Eastern Center for Social Technologies. För närvarande, förutom ramverk och moduler publicerad appar gjort på ramverket. På navet vi redan pratat om Projektledningssystem och om Kommunikationsregister.

De där. detaljer om ramverket

IONDV. Framework är ett ramverk med öppen källkod baserat på node.js för att skapa webbapplikationer på hög nivå baserade på metadata, vilket inte kräver seriösa programmeringskunskaper.

Grunden för applikationens funktionalitet är dataregistret - Registermodulen. Detta är en nyckelmodul designad direkt för att arbeta med data baserad på metadatastrukturer – inklusive för hantering av projekt, program, evenemang etc. Projektet använder även en portalmodul för att visa godtyckliga datamallar – den implementerar arkivfrontregistret.

MongoDb används för DBMS - den lagrar applikationsinställningar, metadata och själva data.

Hur ansöker jag om en licens för ditt projekt?

Lägg till en fil LICENS med licenstexten i ditt projekts arkiv och voilà, ett projekt skyddat av Apache 2.0. Du måste ange upphovsrättsinnehavaren, det är allt upphovsrättsmeddelande. Detta kan göras i källkoden eller i en fil LÄGGA MÄRKE TILL (en textfil som listar alla bibliotek licensierade under Apache-licensen tillsammans med namnen på deras skapare). Placera själva filen antingen i källkoden eller i dokumentationen som distribueras tillsammans med arbetet. För oss ser det ut så här:

Copyright © 2018 ION DV LLC.
Licensierad under Apache-licensen, version 2.0

Apache 2.0 licenstext

Apache-licens
Version 2.0, januari 2004
http://www.apache.org/licenses/

VILLKOR FÖR ANVÄNDNING, REPRODUKTION OCH DISTRIBUTION

  1. Definitioner.

    "Licens" avser villkoren för användning, reproduktion,
    och distribution enligt definitionen i avsnitt 1 till 9 i detta dokument.

    "Licensgivare" avser upphovsrättsinnehavaren eller den enhet som är auktoriserad av
    upphovsrättsinnehavaren som beviljar licensen.

    "Juridisk person" avser den agerande enhetens förening och alla
    andra enheter som kontrollerar, kontrolleras av eller är under gemensamma
    kontroll med den enheten. För syftet med denna definition,
    "kontroll" betyder (i) makten, direkt eller indirekt, att orsaka
    ledning eller ledning av en sådan enhet, antingen genom kontrakt eller
    annars, eller (ii) ägande av femtio procent (50%) eller mer av
    utestående aktier eller (iii) verkligt ägande av en sådan enhet.

    "Du" (eller "Din") ska betyda en individ eller juridisk person
    utöva tillstånd som beviljats ​​av denna licens.

    "Källform" avser den föredragna formen för att göra ändringar,
    inklusive men inte begränsat till programvarans källkod, dokumentation
    käll- och konfigurationsfiler.

    "Objektform" avser varje form som härrör från mekanisk
    omvandling eller översättning av en källform, inklusive men
    inte begränsat till kompilerad objektkod, genererad dokumentation,
    och konverteringar till andra mediatyper.

    "Verk" avser författarskapets verk, oavsett om det är i Källa eller
    Objektformulär, som görs tillgängligt under Licensen, som anges av a
    upphovsrättsmeddelande som ingår i eller bifogas verket
    (ett exempel finns i bilagan nedan).

    "Härledda verk" avser alla verk, oavsett om det är i källa eller objekt
    form, som är baserad på (eller härledd från) Verket och för vilken
    redaktionella revisioner, kommentarer, fördjupningar eller andra ändringar
    representerar, som helhet, ett originalverk av författarskap. För ändamålen
    i denna licens omfattar härledda verk inte verk som finns kvar
    kan separeras från, eller bara länka (eller binda med namn) till gränssnitten för,
    verket och härledda verk därav.

    "Bidrag" avser alla verk av författarskap, inklusive
    den ursprungliga versionen av Verket och eventuella ändringar eller tillägg
    till det verket eller härledda verk därav, det vill säga avsiktligt
    skickas till licensgivaren för inkludering i verket av upphovsrättsinnehavaren
    eller av en individ eller juridisk person som har behörighet att lämna in på uppdrag av
    upphovsrättsinnehavaren. För ändamålen med denna definition, "inlämnad"
    betyder varje form av elektronisk, muntlig eller skriftlig kommunikation som skickas
    till Licensgivaren eller dess representanter, inklusive men inte begränsat till
    kommunikation på elektroniska e-postlistor, källkodskontrollsystem,
    och utfärda spårningssystem som hanteras av eller på uppdrag av
    Licensgivare i syfte att diskutera och förbättra Verket, men
    exklusive kommunikation som är påfallande markerad eller på annat sätt
    betecknas skriftligen av upphovsrättsinnehavaren som "Inte ett bidrag".

    "Bidragsgivare" avser licensgivaren och varje individ eller juridisk person
    för vilkas räkning ett bidrag har mottagits av licensgivaren och
    därefter införlivas i Verket.

  2. Beviljande av upphovsrättslicens. I enlighet med villkoren för
    denna licens ger varje bidragsgivare dig härmed en evig,
    över hela världen, icke-exklusiv, avgiftsfri, royaltyfri, oåterkallelig
    upphovsrättslicens för att reproducera, förbereda härledda verk av,
    offentligt visa, utföra offentligt, underlicensiera och distribuera
    Verk och sådana härledda verk i käll- eller objektform.

  3. Beviljande av patentlicens. I enlighet med villkoren för
    denna licens ger varje bidragsgivare dig härmed en evig,
    över hela världen, icke-exklusiv, avgiftsfri, royaltyfri, oåterkallelig
    (förutom vad som anges i detta avsnitt) patentlicens att göra, ha gjort,
    använda, erbjuda att sälja, sälja, importera och på annat sätt överföra Verket,
    där en sådan licens endast gäller de patentanspråk som kan licensieras
    av sådana bidragsgivare som nödvändigtvis kränks av deras
    Bidrag ensamma eller genom kombination av deras bidrag
    med det arbete till vilket sådana bidrag lämnades in. Om du
    inleda patenttvister mot någon enhet (inklusive en
    korskäromål eller genkäromål i en rättegång) som påstår att verket
    eller ett bidrag som ingår i Verket utgör direkt
    eller medverkande patentintrång, sedan eventuella patentlicenser
    som beviljats ​​Dig under denna Licens för det Verket ska upphöra
    från och med den dag då en sådan rättstvist lämnas in.

  4. Omfördelning. Du får reproducera och distribuera kopior av
    Verk eller härledda verk därav i vilket medium som helst, med eller utan
    ändringar och i käll- eller objektform, förutsatt att du
    uppfyller följande villkor:

    (a) Du måste ge alla andra mottagare av Verket eller
    Derivative Works en kopia av denna licens; och

    (b) Du måste låta alla modifierade filer bära framträdande meddelanden
    anger att du ändrade filerna; och

    © Du måste behålla, i källformen för alla härledda verk
    som du distribuerar, all upphovsrätt, patent, varumärke och
    tillskrivningsmeddelanden från verkets källform,
    exklusive de meddelanden som inte hänför sig till någon del av
    de härledda verken; och

    (d) Om Verket innehåller en "NOTICE"-textfil som en del av det
    distribution, då måste alla härledda verk som du distribuerar
    inkludera en läsbar kopia av tillskrivningsmeddelandena
    i sådan MEDDELANDE-fil, exklusive de meddelanden som inte gör det
    hänför sig till någon del av de härledda verken, i minst ett
    av följande platser: inom en textfil som distribueras med NOTICE
    som en del av de härledda verken; inom källformuläret eller
    dokumentation, om den tillhandahålls tillsammans med de härledda verken; eller,
    i en display som genereras av de härledda verken, om och
    varhelst sådana meddelanden från tredje part normalt förekommer. Innehållet
    i NOTICE-filen är endast i informationssyfte och
    ändra inte licensen. Du kan lägga till din egen attribution
    meddelanden inom härledda verk som du distribuerar tillsammans med
    eller som ett tillägg till MEDDELANDE-texten från Verket, tillhandahålls
    att sådana ytterligare tillskrivningsmeddelanden inte kan tolkas
    som modifiering av licensen.

    Du kan lägga till din egen upphovsrättsförklaring till dina ändringar och
    kan tillhandahålla ytterligare eller andra licensvillkor
    för användning, reproduktion eller distribution av Dina ändringar, eller
    för sådana härledda verk som helhet, förutsatt att du använder,
    reproduktion, och distribution av Verket i övrigt överensstämmer med
    de villkor som anges i denna licens.

  5. Inlämning av bidrag. Om du inte uttryckligen anger annat,
    alla bidrag som avsiktligt lämnats in för inkludering i Verket
    av dig till Licensgivaren ska ske enligt villkoren för
    denna licens, utan några ytterligare villkor.
    Oavsett ovanstående ska ingenting häri ersätta eller ändra
    villkoren i eventuella separata licensavtal som du kan ha tecknat
    med licensgivaren angående sådana bidrag.

  6. Varumärken. Denna licens ger inte tillstånd att använda handeln
    namn, varumärken, tjänstemärken eller produktnamn för licensgivaren,
    förutom vad som krävs för rimlig och sedvanlig användning för att beskriva
    verkets ursprung och reproducera innehållet i NOTICE-filen.

  7. Garantifriskrivning. Såvida det inte krävs enligt tillämplig lag eller
    överenskommits skriftligen, tillhandahåller Licensgivaren Verket (och varje
    Bidragsgivare tillhandahåller sina bidrag) på en BEFINTLIGT BASIS,
    UTAN GARANTIER ELLER VILLKOR AV NÅGOT SLAG, antingen uttryckliga eller
    underförstådd, inklusive, utan begränsning, eventuella garantier eller villkor
    av TITEL, ICKE-INTRÄNG, SÄLJBARHET ELLER LÄMPLIGHET FÖR A
    SÄRSKILT SYFTE. Du är ensam ansvarig för att fastställa
    lämpligheten att använda eller omfördela Verket och anta ev
    risker förknippade med ditt utövande av behörigheter under denna licens.

  8. Ansvarsbegränsning. Under inga omständigheter och under ingen juridisk teori,
    oavsett om det rör sig om skadestånd (inklusive vårdslöshet), kontrakt eller på annat sätt,
    såvida det inte krävs enligt tillämplig lag (som medvetet och grovt
    försumliga handlingar) eller skriftligen överenskommits, ska någon bidragsgivare vara
    ansvarig gentemot dig för skador, inklusive alla direkta, indirekta, speciella,
    oförutsedda skador eller följdskador av någon karaktär som uppstår som en
    resultat av denna licens eller av användning eller oförmåga att använda
    Arbete (inklusive men inte begränsat till skadestånd för förlust av goodwill,
    arbetsavbrott, datorfel eller felfunktion, eller något och allt
    andra kommersiella skador eller förluster), även om sådan Bidragsgivare
    har underrättats om möjligheten till sådana skador.

  9. Accepterar garanti eller ytterligare ansvar. Vid omfördelning
    verket eller härledda verk därav, kan du välja att erbjuda,
    och ta ut en avgift för, acceptans av support, garanti, gottgörelse,
    eller andra ansvarsförpliktelser och/eller rättigheter förenliga med detta
    Licens. Men när du accepterar sådana förpliktelser får du endast agera
    för din egen räkning och på ditt eget ansvar, inte för din räkning
    av någon annan bidragsgivare, och endast om du samtycker till att gottgöra,
    försvara och hålla varje bidragsgivare oskadlig för något ansvar
    uppkommit av, eller anspråk som görs gällande mot, sådan Bidragsgivare av skäl
    att du accepterar en sådan garanti eller ytterligare ansvar.

    SLUT PÅ VILLKOR

    BILAGA: Så här applicerar du Apache-licensen på ditt arbete.

    För att tillämpa Apache-licensen på ditt arbete, bifoga följande
    boilerplate notis, med fälten omgivna av parentes "[]"
    ersättas med din egen identifieringsinformation. (Inkludera inte
    parentesen!) Texten bör bifogas i motsvarande
    kommentarsyntax för filformatet. Vi rekommenderar också att a
    fil- eller klassnamn och beskrivning av syftet inkluderas på
    samma "tryckta sida" som copyrightmeddelandet för enklare
    identifiering inom tredje parts arkiv.

    Upphovsrätt [åååå] [upphovsrättsinnehavarens namn]

    Licensierad under Apache-licensen, version 2.0 ("Licensen");
    du får inte använda den här filen förutom i enlighet med licensen.
    Du kan få en kopia av licensen på

    http://www.apache.org/licenses/LICENSE-2.0

    Såvida det inte krävs enligt tillämplig lag eller skriftligen överenskommits, programvara
    distribueras under Licensen distribueras i "I BEFINTLIGT SKICK",
    UTAN GARANTIER ELLER VILLKOR AV NÅGOT SLAG, varken uttryckliga eller underförstådda.
    Se licensen för det specifika språket som styr behörigheter och
    begränsningar under licensen.

Licens = kontrakt

En fri licens, även om den är gratis, tillåter inte tillåtelse och vi har redan gett exempel på begränsningar. Välj en licens med hänsyn till både dina och användarens intressen, eftersom programvara med öppen källkod är designad speciellt för honom. Användaren av projektet bör uppfatta licensen som ett slags avtal mellan honom och upphovsrättsinnehavaren, så innan du utför några åtgärder på källkoden, studera noggrant de begränsningar som åläggs dig av projektets licens.

Vi hoppas att vi har kastat lite ljus över ämnet licenser och, trots komplexiteten i frågan, bör det inte bli ett hinder på din väg till öppen källkod. Utveckla ditt projekt och glöm inte bort rättigheterna, dina och andra.

Användbara länkar

Slutligen, några användbara resurser som hjälpte oss när vi letade efter information om befintliga licenser och valde den mest lämpliga för våra syften:

Källa: will.com

Lägg en kommentar