I denne artikel vil vi tale lidt om ophavsret, men primært om valget af en fri licens til RAD-rammeværket og til open source-produkter baseret på det. Vi vil fortælle om den tilladende licens Apache 2.0, om hvad der førte os til den og hvilke beslutninger vi stødte på i processen.
Valgprocessen for licensen er ret arbejdsom, og man bør komme til den med en vis læseforståelse, og hvis du ikke er heldig at have en juridisk uddannelse, så åbner der sig et ukendt informationsområde om forskellige frie licenser. Det vigtigste, man bør gøre, er at opstille en række begrænsende kriterier. I processen med at diskutere og overveje dette vil du og dit team kunne forstå, hvad I ønsker at tillade brugerne af dit produkt, og hvad der skal forbys. Når du allerede har en beskrivelse, skal den lægges oven på eksisterende licenser for at fremhæve den, hvor flest punkter er enige. Det lyder selvfølgelig simpelt, men i virkeligheden er der normalt stadig spørgsmål, selv efter diskussionen.

Først - et link til , en nyttig hjemmeside, som vi aktivt brugte. Vær især opmærksom på over licenser i 13 hovedkriterier. Må engelsk og tålmodighed være med dig.
Valgets kvaler
Lad os begynde med de generelle karakteristika for licenser til . FSO indebærer kun frie licenser, der ikke begrænser kommerciel og ikke-kommerciel distribution efter modellen . Derfor kan man ikke helt begrænse overførsel, distribution og salg af software under en fri licens, når man lægger den online, og man må bare forberede sig mentalt på dette.
Den frie licens giver brugeren ret til selv at deltage i reverse engineering af softwaren eller ændre den på andre tilgængelige måder. De fleste licenser tillader ikke omdøbning af produktet eller at udføre nogen manipulationer med det, der ændrer rettighederne for forfatteren og/eller ejeren af systemet.
De vigtigste spørgsmål, der interesserede os omkring frie licenser, var:
- Skal ændringer foretaget i softwaren dokumenteres og have ingen relation til rettighedshaveren af systemet?
- Må navnet på det afledte software ikke være identisk med navnet på rettighedshaverens software?
- Kan licensen ændres til en anden, også en proprietær, for alle nye versioner?
Efter nøje at have gennemgået listen over de mest udbredte licenser har vi valgt flere, som vi har analyseret nærmere. Potentielle licenser for blev: GNU GPLv3, Apache 2.0, MIT og MPL. MIT Vi udelukkede næsten straks, da det er en tilladende kopi-left licens, der tillader brug, modifikation og distribution af koden næsten som man vil, og dette var ikke acceptabelt for os, da vi ønskede, at licensen skulle regulere forholdet mellem rettighedshaveren og brugeren. De fleste ikke de største projekter på GitHub er tilgængelige under MIT-licensen eller dens forskellige varianter. Selve licensen er meget kort, og den eneste forbud er angivelse af forfatteren af software.
Den næste var licensen MPL 2.0. Ærligt talt nåede vi ikke hurtigt til denne, men efter at have undersøgt den nærmere udelukkede vi den hurtigt, da den grundlæggende ulempe er, at licensen ikke gælder for hele projektet, men for enkelte filer. Derudover, hvis brugeren ændrer en fil, kan han ikke ændre licensen. I praksis, uanset hvor grundigt du ændrer et open source-projekt, vil du ikke kunne kommercialisere det på grund af en sådan licens. Dette gælder dog ikke for rettighedshaveren.
Det samme problem findes også i licensen GNU GPLv3. Det kræver, at enhver fil forbliver under den samme. GNU GPL er en kopi-left licens, der kræver, at kildekoderne til afledte arbejder er åbne og forbliver under den samme licens. Det vil sige, at efter at have omskrevet to linjer kode, bliver du tvunget til at fastsætte dine ændringer og ved videre brug eller distribution at holde koden under GNU GPL. I dette tilfælde er det en begrænsende faktor for brugeren af vores projekt, ikke for os. Men skift fra GPL til enhver anden licens er forbudt, selv inden for versioner af GPL. For eksempel, hvis du ændrer LGPL (overbygning på GPL) til GPL, vil der ikke være nogen tilbagevendende vej til LGPL. Og dette punkt var afgørende i afstemningen imod.
Generelt var vores valg oprindeligt skrånet mod GPL3 Dette skyldes spredningen af modificeret kode under den samme licens. Vi troede, at vi dermed kunne sikre vores produkt, men vi så færre risici med Apache 2.0. Ifølge Free Software Foundation er GPLv3 kompatibel med Apache License v2.0, hvilket betyder, at der altid er mulighed for at ændre licensen fra Apache License v2.0 til GPL v3.0.
Apache 2.0
— en afbalanceret tilladende licens med fokus på ophavsret. Her er de svar, den gav på de spørgsmål, der interesserede os. Skal ændringer i softwaren dokumenteres og har de ikke noget at gøre med rettighedshaveren af systemet? Ja, alle ændringer skal dokumenteres, og vi hæfter ikke for hverken kildekoden eller de ændrede versioner. Filen med ændringerne skal vedlægges den kode, hvori disse ændringer er foretaget. Må navnet på det afledte software ikke være det samme som navnet på rettighedshaverens software? Ja, det afledte software skal udgives under et andet navn og varemærke, men med angivelse af rettighedshaverens forfatterskab. Kan licensen ændres for alle nye versioner til en anden, herunder en proprietær? Ja, det er muligt at udgive under forskellige licenser, Apache 2.0 begrænser ikke anvendelsen af nogen ikke-kommercielle eller kommercielle licenser.
Derudover er det ikke obligatorisk at anvende den samme licens, når man udgiver nye produkter baseret på åben kilde under Apache 2.0 kode eller produkter med yderligere funktionalitet. Nedenfor kan du se et billede med vilkårene og begrænsningerne for Apache 2.0 licensen.

Licensen stiller krav om bevarelse og omtale af ophavsret og licensen, under hvilken softwaren udsendes. Obligatorisk tilstedeværelse copyright notice med navnet på rettighedshaveren og licensen beskytter rettighederne for den oprindelige forfatter af softwaren, da selvom den bliver omdøbt, givet væk eller solgt under en anden licens, vil forfatternavnet stadig være til stede. For dette kan man også bruge en fil NOTICE og vedlægge den enten i kildekoden eller i dokumentationen til projektet.
Vi frigiver alle vores produkter under licensen Apache 2.0 på GitHub, bortset fra , hvis kildekode i april i år blev offentliggjort under GPLv3 licensen på GitHub af Det Fjernøstlige Center for Sociale Teknologier. På nuværende tidspunkt, udover selve og dets er offentliggjort lavet på frameworket. På Habr har vi allerede fortalt om og om .
Tekniske detaljer om rammeværket
IONDV. Framework – et open source framework på node.js til oprettelse af højniveau webapplikationer baseret på metadata, som ikke kræver alvorlige programmeringsevner.
Grundlaget for applikationens funktionalitet er dataregistret — modulet Registreret. Dette er et centralt modul, der er designet til at arbejde med data baseret på metadata-strukturer - herunder ledelse af projekter, programmer, arrangementer osv. Projektet gør også brug af portalmodulet til visning af vilkårlige dataskabeloner - fronten for registre med arkivsager er implementeret her.
MongoDB bruges som database — her gemmes både applikationens indstillinger, metadata og data.
Hvordan anvender man licensen på sit projekt?
Tilføj filen LICENSE med licensteksten til dit projekts repository og voilà, projektet er beskyttet af Apache 2.0. Du skal angive rettighedshaveren, som er copyright notice. Dette kan gøres i kildekoden eller i filen NOTICE (en tekstfil, der oplister alle biblioteker, der er licenseret under Apache-licensen sammen med navne på deres skabere). Filen skal placeres enten i kildekoden eller i dokumentationen, som distribueres sammen med arbejdet. Hos os ser det således ud:
Copyright © 2018 LLC «ION DV».
Licenseret under Apache License, Version 2.0
Teksten til Apache License 2.0
Apache License
Version 2.0, januar 2004
VILKÅR OG BETINGELSER FOR BRUG, REPRODUKTION OG DISTRIBUTION
Definitioner.
«Licens» betyder betingelserne for brug, reproduktion,
og distribution som defineret i afsnit 1 til 9 i dette dokument.«Licensgiver» betyder copyright-ejeren eller den enhed, der er autoriseret af
copyright-ejeren, som giver Licensen.«Juridisk enhed» betyder sammenslutningen af den handlede enhed og alle
andre enheder, der kontrollerer, kontrolleres af eller er under fælles
kontrol med den enhed. Til formålet med denne definition
betyder «kontrol» (i) magten, direkte eller indirekte, til at forårsage
retningen eller ledelsen af en sådan enhed, uanset om det er ved kontrakt eller
andet, eller (ii) ejerskab af halvtreds procent (50 %) eller mere af de
udestående aktier, eller (iii) begunstiget ejerskab af en sådan enhed.«Du» (eller «Din») betyder en enkeltperson eller juridisk enhed
som udøver de tilladelser, der gives af denne Licens.«Kilde» form betyder den foretrukne form for at lave ændringer,
inklusive men ikke begrænset til softwarekildekode, dokumentations
kilde og konfigurationsfiler.«Objekt» form betyder enhver form, der resulterer fra mekanisk
transformation eller oversættelse af en kildeform, inklusive men
ikke begrænset til kompileret objektskode, genereret dokumentation,
og konverteringer til andre medietyper.«Værk» betyder et værk af forfatterskab, uanset om det er i kilde- eller
objektform, gjort tilgængeligt under Licensen, som angivet af en
copyright notice, der er inkluderet i eller knyttet til værket
(et eksempel gives i appendikset nedenfor).«Afledte værker» betyder ethvert arbejde, uanset om det er i kilde- eller objektform,
som er baseret på (eller afledt fra) Værket og for hvilket
redaktionelle revisioner, annotationer, uddybninger eller andre ændringer
repræsenterer i sin helhed et originalt værk af ophavsret. I forhold til
denne licens skal derivative værker ikke omfatte værker, der forbliver
adskilt fra eller blot linker (eller binder med navn) til grænsefladerne for
værket og de derivative værker heraf.«Bidrag» skal betyde ethvert værk af ophavsret, herunder
den originale version af værket og eventuelle ændringer eller tilføjelser
til dette værk eller de derivative værker heraf, der bevidst
indsendes til Licensgiver for inkludering i værket af ophavsretsejeren
eller af en person eller juridisk enhed, der er autoriseret til at indsende på vegne af
ophavsretsejeren. I denne definition betyder «indsendt»
enhver form for elektronisk, verbal eller skriftlig kommunikation sendt
til Licensgiver eller dens repræsentanter, herunder men ikke begrænset til
kommunikation på elektroniske mailinglister, kildetekst kontrolsystemer,
og issuesporingssystemer, der administreres af eller på vegne af
Licensgiver med henblik på at diskutere og forbedre værket, men
eksklusive kommunikation, der tydeligt er mærket eller ellers
angivet skriftligt af ophavsretsejeren som «Ikke et Bidrag».«Bidragyder» skal betyde Licensgiver og enhver person eller juridisk enhed
på hvis vegne et bidrag er modtaget af Licensgiver og
sidenhen inkorporeret i værket.Tildeling af ophavsretlicens. Underlagt vilkårene og betingelserne for
denne licens tildeler hver bidragyder hermed dig en evigvarende,
verdensomspændende, ikke-eksklusiv, gratis, royalty-fri, uigenkaldelig
ophavsretlicens til at reproducere, forberede derivative værker af,
offentligt vise, offentligt optræde, underlicensere og distribuere
værket og sådanne derivative værker i kilde- eller objektform.Tildeling af patentlicens. Underlagt vilkårene og betingelserne for
denne licens tildeler hver bidragyder hermed dig en evigvarende,
verdensomspændende, ikke-eksklusiv, gratis, royalty-fri, uigenkaldelig
(bortset fra som angivet i denne sektion) patentlicens til at lave, få lavet,
bruge, tilbyde til salg, sælge, importere og på anden måde overføre værket,
hvor denne licens kun gælder for de patentkrav, der kan licensieres
af denne bidragyder, som nødvendigvis krænkes af deres
bidrag alene eller ved kombination af deres bidrag
med det værk, som sådanne bidrag blev indsendt til. Hvis du
indsætter patentsager mod nogen enhed (herunder en
modkrav eller modkrav i en retssag), der hævder, at værket
eller et bidrag, der er inkorporeret i værket, udgør direkte
eller medvirkende patentkrænkelse, så skal alle patentlicenser
givet til dig under denne licens for det værk ophøre
fra datoen for, at sådan retssag er indgivet.Redistribution. Du må reproducere og distribuere kopier af
værket eller de derivative værker heraf i ethvert medium, med eller uden
ændringer og i kilde- eller objektform, forudsat at du
opfylder følgende betingelser:(a) Du skal give enhver anden modtager af værket eller
de derivative værker en kopi af denne licens; og(b) Du skal sørge for, at eventuelle ændrede filer bærer tydelige meddelelser
der angiver, at du har ændret filerne; og(c) Du skal bevare, i kildeform af eventuelle derivative værker
som du distribuerer, alle ophavsret, patent, varemærke og
attribueringsmeddelelser fra kildeformen af værket,
eksklusive de meddelelser, der ikke vedrører nogen del af
de derivative værker; og(d) Hvis værket inkluderer en «BEMÆRKNING» tekstfil som en del af
dets distribution, skal eventuelle derivative værker, som du distribuerer,
inkludere en læsbar kopi af attribueringsmeddelelserne, der er indeholdt
i en sådan BEMÆRKNINGSfil, eksklusive de meddelelser, der ikke vedrører
enhver del af de derivative værker, på mindst én
af følgende steder: inden i en BEMÆRKNINGS tekstfil distribueret
som en del af de derivative værker; inden for kildeformen eller
dokumentationen, hvis der medfølger det sammen med de derivative værker; eller,
inden for en visning genereret af de derivative værker, hvis og
hvor sådanne tredjepartsmeddelelser normalt vises. Indholdet
af BEMÆRKNINGSfilen er kun til informationsformål og
ændrer ikke licensen. Du kan tilføje din egen anerkendelse
meddelelser inden for afledte værker, som du distribuerer, sideløbende
eller som et tillæg til den NOTICE tekst, der er fra værket, forudsat
at sådanne yderligere anerkendelsesmeddelelser ikke kan fortolkes
som at ændre licensen.Du kan tilføje din egen copyright-erklæring til dine ændringer og
kan give yderligere eller forskellige licensvilkår og betingelser
for brug, reproduktion eller distribution af dine ændringer, eller
for sådanne afledte værker som helhed, forudsat at din brug,
reproduktion og distribution af værket ellers overholder
de betingelser, der er angivet i denne licens.Indsendelse af bidrag. Medmindre du eksplicit angiver andet,
skal ethvert bidrag, der bevidst indsendes til inkludering i værket,
af dig til licensgiveren være under vilkårene og betingelserne for
denne licens, uden yderligere vilkår eller betingelser.
Ikke desto mindre skal intet heri overtrumfe eller ændre
vilkårene i enhver separat licensaftale, du måtte have indgået
med licensgiveren vedrørende sådanne bidrag.Varemærker. Denne licens giver ikke tilladelse til at bruge handels-
navne, varemærker, servicemærker eller produktnavne fra licensgiveren,
undtagen som krævet for rimelig og sædvanlig brug i beskrivelsen af
oprindelsen af værket og reproduktion af indholdet i NOTICE-filen.Fraskrivelse af garanti. Medmindre andet kræves ved gældende lov eller
aftales skriftligt, giver licensgiveren værket (og hver
bidragyder giver sine bidrag) på en «SOM DEN ER» BASIS,
uden garantier eller betingelser af nogen art, hverken udtrykkelige eller
underforståede, herunder, men ikke begrænset til, garantier eller betingelser
om TITEL, OVERHOLDELSE, HANDLENDE EVNE, eller EGNETHED TIL EN
BESTEMT FORMÅL. Du er alene ansvarlig for at bestemme
om det er passende at bruge eller redistribuere værket og påtage dig enhver
risiko, der er forbundet med din udnyttelse af rettighederne under denne licens.Begrænsning af ansvar. Under ingen omstændigheder og under ingen juridisk teori,
uanset om det er i erstatningsret (herunder uagtsomhed), kontrakt eller andet,
medmindre det kræves ved gældende lov (såsom forsætlig og groft
uagtsomme handlinger) eller aftales skriftligt, skal nogen bidragyder være
ansvarlig over for dig for skader, herunder direkte, indirekte, særlige,
tilfældige eller følgeskader af enhver art, der opstår som et
resultat af denne licens eller ud af brugen af eller manglende evne til at bruge værket
(inklusive, men ikke begrænset til, skader for tab af goodwill,
arbejdsstandstilladelse, computerfejl eller funktionsfejl, eller alle og enhver
andre kommercielle skader eller tab), selvom sådan bidragyder
er blevet advaret om muligheden for sådanne skader.Accepterer garanti eller yderligere ansvar. Mens du redistribuerer
værket eller afledte værker heraf, kan du vælge at tilbyde,
og opkræve et gebyr for, accept af støtte, garanti, erstatning,
eller andre ansvar og/eller rettigheder i overensstemmelse med denne
licens. Men når du accepterer sådanne forpligtelser, kan du handle kun
på dine egne vegne og på dit eget ansvar, ikke på vegne
af nogen anden bidragyder, og kun hvis du accepterer at erstatte,
forsvare og holde hver bidragyder skadesløs for ethvert ansvar
pådraget af eller krav rejst mod sådan bidragyder på grund af
din accept af enhver sådan garanti eller yderligere ansvar.SLUT PÅ VILKÅR OG BETINGELSER
BILAG: Hvordan man anvender Apache-licensen på dit arbejde.
For at anvende Apache-licensen på dit arbejde, vedhæft følgende
standardmeddelelse, med felterne indeholdt i firkantede parenteser «[]»
erstatte med dine egne identifikationsoplysninger. (Inkluder ikke
de firkantede parenteser!) Teksten skal være indkapslet i den relevante
kommentarsyntaks for filformatet. Vi anbefaler også, at et
fil- eller klassens navn og beskrivelse af formålet inkluderes på den
samme «trykte side» som copyright-meddelelsen for lettere
identifikation i tredjepartsarkiver.Copyright [åååå] [navnet på copyright-ejeren]
Licenseret under Apache-licensen, version 2.0 (den «licens»);
Du må ikke bruge denne fil, medmindre det er i overensstemmelse med licensen.
Du kan få en kopi af licensen påMedmindre det kræves af gældende lovgivning eller aftalt skriftligt, software
der distribueres under licensen, distribueres på en «AS IS» BASIS,
UDEN GARANTIER ELLER BETINGELSER AF ENHVER ART, hverken udtrykkelige eller underforståede.
Se licensen for det specifikke sprog, der regulerer tilladelser og
begrænsninger under licensen.
Licens = aftale
En fri licens er fri, men den tillader ikke total frihed, og vi har allerede givet eksempler på begrænsninger. Vælg licensen med tanke på både dine interesser og brugeren, fordi open source-software er designet netop til den. Brugeren af projektet bør opfatte licensen som en slags aftale mellem ham og ophavsmanden, så før du foretager dig noget med kildekoden, bør du nøje gennemgå 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 for din vej ind i Open Source. Udvikl dit projekt, og glem ikke om rettighederne, dine såvel som andres.
Nyttige links
Til slut nogle nyttige ressourcer, som hjalp os med at finde information om eksisterende licenser og vælge den mest passende til vores mål:
- Super nyttig fra
Kilde: habr.com
