Sådan vælger du en Open Source-licens til RAD-rammeværket på GitHub

I denne artikel vil vi tale lidt om ophavsret, men primært om at vælge en gratis licens til RAD-rammen IONDV. Ramme og for open source-produkter baseret på det. Vi vil fortælle dig om tilladelsen Apache 2.0, om hvad der førte os til det, og hvilke beslutninger vi stod over for i processen.

Processen med at vælge en licens er ret arbejdskrævende og bør gribes an allerede vellæst, og hvis du ikke er en glad ejer af en juridisk uddannelse, så åbner der sig et oplyst felt med information om forskellige gratis licenser foran dig. Det vigtigste er at udarbejde en række begrænsende kriterier. Gennem processen med diskussion og refleksion vil du og dit team være i stand til at forstå, hvad du vil tillade brugere af dit produkt, og hvad de skal forbyde. Når du allerede har en bestemt beskrivelse i dine hænder, skal du overlejre den på de eksisterende licenser og vælge den, hvor det største antal point falder sammen. Det lyder selvfølgelig enkelt, men i virkeligheden, som regel selv efter diskussion, er der stadig spørgsmål.

Sådan vælger du en Open Source-licens til RAD-rammeværket på GitHub

Først et link til selectalicense.com, et nyttigt websted, som vi brugte flittigt. Vær særlig opmærksom på sammenligningstabel licenser efter 13 hovedkriterier. Må engelsk og tålmodighed være med dig.

Valgets kvaler

Lad os starte med de generelle karakteristika for licenser til gratis software. Open source software indebærer en udelukkende gratis licens, som ikke begrænser kommerciel og ikke-kommerciel distribution i henhold til modellen åben kerne. Derfor kan det ikke fuldstændigt begrænse overførsel, distribution og salg af software på netværket under en gratis licens, og du skal blot være mentalt forberedt på dette.

En gratis licens giver brugeren ret til at deltage i reverse engineering af softwaren eller ændre den på andre tilgængelige måder. De fleste licenser tillader dig ikke at omdøbe produktet eller udføre nogen manipulationer med det, hvilket ændrer rettighederne for forfatteren og/eller ejeren af ​​systemet.

De vigtigste spørgsmål, vi var interesserede i om gratis licenser, var:

  1. Skal ændringer i softwaren registreres og ikke have nogen relation til systemets ophavsretsindehaver?
  2. Skal navnet på den afledte software ikke være det samme som navnet på copyright-indehaverens software?
  3. Er det muligt at ændre licensen for eventuelle nye versioner til en anden, inklusive en proprietær?

Efter omhyggeligt at have set på listen over de mest almindelige licenser, valgte vi flere, som vi overvejede mere detaljeret. Potentielle licenser til IONDV. Ramme var: GNU GPLv3, Apache 2.0, MIT og MPL. MIT næsten øjeblikkeligt udelukket, dette er en tilladende ikke-copyleft-licens, som tillader brug, ændring og distribution af koden på næsten enhver måde, men vi var ikke tilfredse med denne mulighed, vi ville stadig have licensen til at regulere forholdet mellem ophavsretten indehaveren og brugeren. De fleste af de mindre projekter på GitHub udgives under MIT-licensen eller dens forskellige variationer. Selve licensen er meget kort, og de eneste forbud er at angive forfatterskabet af softwareskaberen.

Næste var licensen MPL 2.0. Ganske vist kom vi ikke til det med det samme, men efter at have studeret det nærmere, udelukkede vi det hurtigt, da den største ulempe er, at licensen ikke gælder for hele projektet, men for individuelle filer. Desuden, hvis brugeren ændrer filen, kan han ikke ændre licensen. Faktisk, uanset hvor flittigt du ændrer et Open source-projekt, vil du aldrig være i stand til at tjene penge på det på grund af en sådan licens. Dette vedrører i øvrigt ikke indehaveren af ​​ophavsretten.

Et lignende problem fortsætter med licensen GNU GPLv3. Det kræver, at enhver fil forbliver under den. GNU GPL er en copyleft-licens, der kræver, at afledte værker er open source og forbliver under samme licens. Det vil sige: ved at omskrive to linjer kode, vil du blive tvunget til at foretage dine ændringer og, under yderligere brug eller distribution, gemme koden under GNU GPL. I dette tilfælde er dette en begrænsende faktor for brugeren af ​​vores projekt, og ikke for os. Men det er forbudt at ændre GPL til enhver anden licens, selv inden for GPL-versioner. Hvis du fx skifter LGPL (en tilføjelse til GPL) til GPL, så er der ingen vej tilbage til LGPL. Og dette punkt var afgørende for at stemme imod det.

Samlet set hældte vores valg i første omgang til GPL3 netop på grund af distributionen af ​​den ændrede kode under samme licens. Vi troede, at vi på denne måde kunne sikre vores produkt, men vi så færre risici i Apache 2.0. Ifølge Free Software Foundation er GPLv3 kompatibel med Apache License v2.0, hvilket betyder, at det altid er muligt at ændre licensen fra Apache License v2.0 til GPL v3.0.

Apache 2.0

Apache 2.0 — en afbalanceret tilladelig licens med vægt på ophavsret. Her er de svar, hun gav på de spørgsmål, der interesserede os. Skal ændringer i softwaren registreres og ikke have nogen relation til systemets ophavsretsindehaver? Ja, alle ændringer skal dokumenteres, og vi er ikke ansvarlige for den originale kode eller den ændrede. Filen med ændringerne skal vedhæftes den kode, hvor du har foretaget disse ændringer. Skal navnet på den afledte software ikke være det samme som navnet på copyright-indehaverens software? Ja, afledt software bør frigives under et andet navn og under et andet varemærke, men med en angivelse af copyright-indehaveren. Er det muligt at ændre licensen for eventuelle nye versioner til en anden, inklusive en proprietær? Ja, det kan frigives under forskellige licenser, Apache 2.0 begrænser ikke brugen af ​​ikke-kommercielle og kommercielle licenser.

Når du frigiver nye produkter baseret på åben kildekode til Apache 2.0 eller produkter med yderligere funktionalitet, er det ikke nødvendigt at bruge den samme licens. Nedenfor kan du se et billede med vilkår og begrænsninger for Apache 2.0-licensen.

Sådan vælger du en Open Source-licens til RAD-rammeværket på GitHub

Licensen pålægger et krav om at bevare og omtale ophavsrettigheder og den licens, hvorunder softwaren udgives. Obligatorisk tilgængelighed meddelelse om ophavsret med navnet på indehaveren af ​​ophavsretten og en licens beskytter rettighederne for den oprindelige forfatter til softwaren, da selv hvis den omdøbes, gives væk eller sælges under en anden licens, vil forfatterens mærke stadig bevares. Du kan også bruge filen til dette MEDDELELSE og vedhæft den enten til kildekoden eller til projektdokumentationen.

Vi frigiver alle vores produkter offentligt tilgængelige på GitHub under Apache 2.0-licensen, undtagen IONDV. Krigsarkiv, hvis kildekode blev offentliggjort under GPLv3-licensen på GitHub i april i år af Far Eastern Center for Social Technologies. I øjeblikket, ud over rammer og moduler udgivet приложения lavet på rammen. På det nav, vi allerede har talt om Projektledelsessystem og om Kommunikationsregister.

De der. detaljer om rammerne

IONDV. Framework er en open source-ramme baseret på node.js til at skabe webapplikationer på højt niveau baseret på metadata, hvilket ikke kræver seriøse programmeringsfærdigheder.

Grundlaget for applikationens funktionalitet er dataregistret - Registermodulet. Dette er et nøglemodul designet direkte til at arbejde med data baseret på metadatastrukturer - herunder til styring af projekter, programmer, events osv. Projektet anvender også et portalmodul til visning af vilkårlige dataskabeloner - det implementerer arkivfrontregistret.

MongoDb bruges til DBMS - det gemmer applikationsindstillinger, metadata og selve dataene.

Hvordan ansøger man om en licens til dit projekt?

Tilføj en fil LICENS med licensteksten i dit projekts arkiv og voilà, et projekt beskyttet af Apache 2.0. Du skal angive indehaveren af ​​ophavsretten, det er det ophavsretsmeddelelse. Dette kan gøres i kildekoden eller i en fil MEDDELELSE (en tekstfil med alle biblioteker licenseret under Apache-licensen sammen med navnene på deres skabere). Placer selve filen enten i kildekoden eller i den dokumentation, der distribueres sammen med værket. For os ser det sådan ud:

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

Apache 2.0 licenstekst

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

VILKÅR OG BETINGELSER FOR ANVENDELSE, REPRODUKTION OG DISTRIBUTION

  1. Definitioner.

    "Licens" betyder vilkår og betingelser for brug, reproduktion,
    og distribution som defineret i afsnit 1 til 9 i dette dokument.

    "Licensgiver" skal betyde ophavsretsejeren eller den enhed, der er autoriseret af
    den ophavsretsejer, der giver licensen.

    "Juridisk enhed" betyder sammenslutningen af ​​den handlende enhed og alle
    andre enheder, der kontrollerer, kontrolleres af eller er under fælles
    kontrol med den enhed. I denne definition forstås ved
    "kontrol" betyder (i) magten, direkte eller indirekte, til at forårsage
    ledelse eller ledelse af en sådan enhed, hvad enten det er en kontrakt eller
    ellers, eller (ii) ejerskab af halvtreds procent (50%) eller mere af
    udestående aktier eller (iii) reelt ejerskab af en sådan enhed.

    "Du" (eller "Din") skal betyde en enkeltperson eller en juridisk enhed
    udøvelse af tilladelser, der er givet i denne licens.

    "Kilde"-formular betyder den foretrukne form til at foretage ændringer,
    inklusive men ikke begrænset til softwarekildekode, dokumentation
    kilde- og konfigurationsfiler.

    "Objekt"-form betyder enhver form, der er et resultat af mekanisk
    transformation eller oversættelse af en kildeformular, herunder men
    ikke begrænset til kompileret objektkode, genereret dokumentation,
    og konverteringer til andre medietyper.

    "Værk" skal betyde forfatterskabets værk, hvad enten det er i Kilde eller
    Objektformular, stillet til rådighed under licensen, som angivet af a
    meddelelse om ophavsret, der er inkluderet i eller vedhæftet værket
    (et eksempel findes i appendiks nedenfor).

    "Afledte værker" betyder ethvert værk, hvad enten det er i kilde eller objekt
    form, der er baseret på (eller afledt af) det arbejde, og for hvilket
    redaktionelle revisioner, kommentarer, uddybninger eller andre ændringer
    repræsenterer som en helhed et originalt værkværk. Til formålene
    i denne licens inkluderer afledte værker ikke værker, der er tilbage
    adskilles fra eller blot linker (eller bindes ved navn) til grænsefladerne til,
    arbejdet og afledte værker deraf.

    "Bidrag" skal betyde ethvert forfatterskab, herunder
    den originale version af værket og eventuelle ændringer eller tilføjelser
    til det arbejde eller afledte værker deraf, det er med vilje
    indsendt til licensgiveren til optagelse i værket af ophavsretsejeren
    eller af en person eller juridisk enhed, der er bemyndiget til at indsende på vegne af
    ejeren af ​​ophavsretten. Med henblik på denne definition, "indsendt"
    betyder enhver form for elektronisk, verbal eller skriftlig kommunikation, der sendes
    til Licensgiveren eller dens repræsentanter, inklusive men ikke begrænset til
    kommunikation på elektroniske postlister, kildekodekontrolsystemer,
    og udstede sporingssystemer, der administreres af eller på vegne af
    Licensgiver med det formål at diskutere og forbedre arbejdet, men
    eksklusive kommunikation, der er markant markeret eller på anden måde
    angivet skriftligt af copyright-indehaveren som "Ikke et bidrag".

    "Bidragyder" skal betyde licensgiver og enhver enkeltperson eller juridisk enhed
    på vegne af hvem der er modtaget et bidrag af licensgiveren og
    efterfølgende indarbejdet i arbejdet.

  2. Tildeling af copyright-licens. I henhold til vilkår og betingelser for
    denne licens giver hver bidragsyder dig hermed en evig,
    verdensomspændende, ikke-eksklusiv, gratis, royaltyfri, uigenkaldelig
    copyright licens til at reproducere, forberede afledte værker af,
    offentligt vise, offentligt udføre, underlicensiere og distribuere
    Arbejde og sådanne afledte værker i form af kilde eller objekt.

  3. Tildeling af patentlicens. I henhold til vilkår og betingelser for
    denne licens giver hver bidragsyder dig hermed en evig,
    verdensomspændende, ikke-eksklusiv, gratis, royaltyfri, uigenkaldelig
    (undtagen som angivet i dette afsnit) patentlicens til at lave, have lavet,
    bruge, tilbyde at sælge, sælge, importere og på anden måde overføre værket,
    hvor en sådan licens kun gælder for de patentkrav, der kan licenseres
    af sådan bidragyder, der nødvendigvis krænkes af deres
    Bidrag alene eller ved kombination af deres bidrag
    med det arbejde, hvortil et sådant bidrag blev leveret. Hvis du
    institut patentsager mod enhver enhed (herunder en
    krydskrav eller modkrav i en retssag) om, at Værket
    eller et bidrag, der er inkorporeret i arbejdet, udgør direkte
    eller medvirkende patentovertrædelse, derefter eventuelle patentlicenser
    givet til dig i henhold til denne licens for det arbejde, ophører
    fra datoen for en sådan retssag er anlagt.

  4. Omfordeling. Du må reproducere og distribuere kopier af
    Arbejde eller afledte værker deraf i ethvert medium, med eller uden
    ændringer og i kilde- eller objektform, forudsat at du
    opfylder følgende betingelser:

    (a) Du skal give alle andre modtagere af værket eller
    Derivat arbejder en kopi af denne licens; og

    (b) Du skal få alle ændrede filer til at bære fremtrædende meddelelser
    angiver, at du har ændret filerne; og

    © Du skal beholde, i kildeformen for ethvert afledt værk
    som du distribuerer, al copyright, patent, varemærke og
    meddelelser om tilskrivning fra kildeformen til arbejdet,
    undtagen de meddelelser, der ikke vedrører nogen del af
    de afledte værker; og

    (d) Hvis Værket inkluderer en "BEMÆRKNING"-tekstfil som en del af det
    distribution, så skal alle afledte værker, som du distribuerer
    inkludere en læsbar kopi af tillægsmeddelelserne indeholdt
    i en sådan MEDDELELSE-fil, undtagen de meddelelser, der ikke gør det
    vedrører enhver del af afledte værker, i mindst en
    af følgende steder: i en NOTICE-tekstfil distribueret
    som en del af de afledte værker; inden for kildeformularen eller
    dokumentation, hvis den leveres sammen med afledte værker; eller,
    i et display genereret af Derivative Works, hvis og
    hvor som helst sådanne tredjepartsmeddelelser normalt vises. Indholdet
    af NOTICE-filen er kun til informationsformål og
    ændre ikke licensen. Du kan tilføje din egen tilskrivning
    meddelelser inden for afledte værker, som du distribuerer sammen med
    eller som et tillæg til BEMÆRKNINGsteksten fra Værket, leveret
    at sådanne yderligere attributionsmeddelelser ikke kan fortolkes
    som ændring af licensen.

    Du kan tilføje din egen copyright-erklæring til dine ændringer og
    kan give yderligere eller forskellige licensbetingelser
    til brug, reproduktion eller distribution af dine ændringer eller
    for sådanne afledte værker som helhed, forudsat at du bruger det,
    reproduktion og distribution af arbejdet ellers er i overensstemmelse med
    betingelserne anført i denne licens.

  5. Indsendelse af bidrag. Medmindre du udtrykkeligt angiver andet,
    ethvert bidrag med vilje indsendt til inkludering i arbejdet
    af dig til Licensgiveren skal være under vilkårene og betingelserne for
    denne licens uden yderligere vilkår eller betingelser.
    Uanset ovenstående skal intet heri erstatte eller ændre
    vilkårene i enhver separat licensaftale, du måtte have udført
    med Licensgiver vedrørende sådanne Bidrag.

  6. Varemærker. Denne licens giver ikke tilladelse til at bruge handelen
    navne, varemærker, servicemærker eller produktnavne på Licensgiveren,
    undtagen som krævet til rimelig og sædvanlig anvendelse i beskrivelsen af
    værkets oprindelse og gengivelse af indholdet af NOTICE-filen.

  7. Fraskrivelse af garanti. Medmindre det kræves af gældende lov eller
    skriftligt aftalt med, leverer Licensgiver arbejdet (og hver
    Bidragyder leverer sine bidrag) på "SOM DEN ER" BASIS,
    UDEN GARANTIER ELLER BETINGELSER FOR ALLE SLAG, enten ekspres eller
    underforstået, herunder uden begrænsning, eventuelle garantier eller betingelser
    af TITEL, IKKE-OVERTRÆDELSE, SALGSMÆRKELIGHED eller EGNETHED TIL A
    SÆRLIG FORMÅL. Du er eneansvarlig for at bestemme
    hensigtsmæssigheden af ​​at bruge eller omfordele værket og antage noget
    risici forbundet med din udøvelse af tilladelser i henhold til denne licens.

  8. Ansvarsbegrænsning. Under ingen omstændigheder og under ingen juridisk teori,
    hvad enten det er erstatningsret (herunder uagtsomhed), kontrakt eller på anden måde,
    medmindre det kræves af gældende lovgivning (såsom bevidst og groft
    uagtsomme handlinger) eller skriftligt aftalt med, skal enhver bidragsyder være
    ansvarlig over for dig for skader, herunder direkte, indirekte, speciel,
    tilfældige eller følgeskader af enhver karakter, der opstår som en
    resultat af denne licens eller af brug eller manglende evne til at bruge
    Arbejde (inklusive men ikke begrænset til erstatning for tab af goodwill,
    arbejdsstop, computerfejl eller funktionsfejl eller alt og alt
    andre kommercielle skader eller tab), selvom en sådan bidragsyder
    er blevet underrettet om muligheden for sådanne skader.

  9. Accept af garanti eller yderligere ansvar. Under omfordeling
    værket eller afledte værker deraf, kan du vælge at tilbyde,
    og opkræve et gebyr for accept af support, garanti, erstatning,
    eller andre forpligtelser og / eller rettigheder, der er i overensstemmelse med dette
    Licens. Ved at acceptere sådanne forpligtelser må du dog kun handle
    på dine egne vegne og på dit eget ansvar, ikke på vegne
    af enhver anden bidragsyder, og kun hvis du accepterer at skadesløse
    forsvare og hold hver bidragsyder uskadelig for ethvert ansvar
    pådraget af eller krav fremsat mod en sådan bidragyder af grund
    af din accept af en sådan garanti eller yderligere ansvar.

    SLUT BETINGELSER

    APPENDIKS: Sådan anvendes Apache-licensen til dit arbejde.

    For at anvende Apache-licensen på dit arbejde skal du vedhæfte følgende
    boilerplate-meddelelse, med felterne omgivet af parentes "[]"
    erstattet med dine egne identificerende oplysninger. (Medtag ikke
    parenteserne!) Teksten skal være vedlagt i det relevante
    kommentarsyntaks for filformatet. Vi anbefaler også, at en
    fil- eller klassenavn og beskrivelse af formål medtages på
    samme "trykte side" som copyright-meddelelsen for nemmere
    identifikation i tredjepartsarkiver.

    Ophavsret [åååå] [navn på ophavsretsejer]

    Licenseret under Apache-licensen, version 2.0 ("Licensen");
    du må ikke bruge denne fil undtagen i overensstemmelse med licensen.
    Du kan få en kopi af licensen på

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

    Medmindre det kræves i gældende lov eller er aftalt skriftligt, software
    distribueret under licensen distribueres på "SOM DEN ER" BASIS,
    UDEN GARANTIER ELLER BETINGELSER FOR NOEN TYP, enten udtrykkelige eller underforståede.
    Se licensen for det specifikke sprog, der styrer tilladelser og
    begrænsninger under licensen.

Licens = kontrakt

En gratis licens, selvom den er gratis, tillader ikke eftergivenhed, og vi har allerede givet eksempler på begrænsninger. Vælg en licens under hensyntagen til både dine interesser og brugerens, fordi open source-software er designet specifikt til ham. Brugeren af ​​projektet bør opfatte licensen som en slags aftale mellem ham og indehaveren af ​​ophavsretten, så før du udfører nogen handlinger på kildekoden, skal du omhyggeligt studere de begrænsninger, som projektets licens pålægger dig.

Vi håber, at vi har kastet lidt lys over emnet licenser, og på trods af problemets kompleksitet bør det ikke blive en hindring på din vej til Open Source. Udvikl dit projekt og glem ikke rettighederne, dine og andre.

Nyttige links

Til sidst nogle nyttige ressourcer, der hjalp os, når vi søgte efter information om eksisterende licenser og valgte den bedst egnede til vores formål:

Kilde: www.habr.com

Tilføj en kommentar