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.
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:
Skal ændringer i softwaren registreres og ikke have nogen relation til systemets ophavsretsindehaver?
Skal navnet på den afledte software ikke være det samme som navnet på copyright-indehaverens software?
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.
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:
VILKÅR OG BETINGELSER FOR ANVENDELSE, REPRODUKTION OG DISTRIBUTION
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.
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.
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.
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
(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.
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.
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.
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.
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.
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å
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: