Hvordan open source-licenser fungerer, og hvordan du tilføjer dem til dine projekter

For nylig var der nogle spændende nyheder for udviklere over hele verden. Facebook ændrede licensen for flere biblioteker, de udvikler. De skiftede fra BSD-3 + patenter til en MIT .

Det virker godt, men hvad betyder det? Hvad er konsekvenserne af forskellige open source-licenser?

Denne artikel giver dig en hurtig forståelse af de populære licenser. Det vil også lære dig, hvordan du anvender dem til dine open source-projekter på GitHub.

Myndigheden

De mest populære open source-licenser har et vigtigt aspekt til fælles. Open Source Initiative (OSI) har godkendt dem.

OSI blev dannet i 1998 med det formål at promovere open source-software. Det har oprettet Open Source Definition (OSD) til at definere, hvad en open source-software betyder.

Sådan beskriver de sig selv:

Open Source Initiative (OSI) er en nonprofit virksomhed med globalt anvendelsesområde dannet for at uddanne sig om og tale for fordelene ved open source og bygge broer mellem forskellige valgkredse i open source-samfundet.

Licenserne

De fleste open source-licenser inkluderer følgende udsagn:

  1. Software kan modificeres, bruges kommercielt og distribueres.
  2. Software kan ændres og bruges privat.
  3. En licens og copyright-meddelelse skal inkluderes i softwaren.
  4. Softwareforfattere giver ingen garanti med softwaren og er ikke ansvarlige for noget.

Vi gennemgår de mest populære licenser, i rækkefølge fra de mest restriktive til de mest tilladelige (fra en brugers perspektiv).

GNU General Public License, version 3 (GPLv3)

GPLv3 er en af ​​de mest restriktive licenser. Det giver høj beskyttelse for forfatteren af ​​softwaren.

  • Kildekoden skal offentliggøres, hver gang der foretages en distribution af softwaren.
  • Ændringer af softwaren skal frigives under den samme licens .
  • Ændringer foretaget i kildekoden skal dokumenteres .
  • Hvis der blev brugt patenteret materiale ved oprettelsen af ​​softwaren, giver det brugerne ret til at bruge det. Hvis brugeren sagsøger nogen over brugen af ​​det patenterede materiale, mister de retten til at bruge softwaren.

GPLv2 er også meget populær. Den største forskel fra GPLv3 er klausulen om patenttilskud.

Denne klausul blev tilføjet i version 3 for at forhindre virksomheder i at opkræve brugere for brugen af ​​deres patenter.

Populære projekter, der bruger GPLv3, er Bash og GIMP . Linux bruger GPLv2.

Ezequiel Foncubierta påpegede noget vigtigt for GPL-licenser:

Licensen til din kildekode skal være kompatibel med licensen til den open source-kode, du linker til. For eksempel, hvis din kode er proprietær, har du ikke tilladelse til at bruge et bibliotek under GPL-licensen. Det er her, folk har tendens til at begå flere fejl.

Apache-licens 2.0

Apache License 2.0 giver brugerne mere fleksibilitet.

  • Kildekoden behøver ikke at være offentlig, når en distribution af softwaren foretages.
  • Ændringer af softwaren kan frigives under enhver licens .
  • Ændringer foretaget i kildekoden skal dokumenteres.
  • Det tilbyder den samme patentbeskyttelsesbeskyttelse som GPLv3.
  • Det forbyder udtrykkeligt brugen af ​​varemærkebeskyttede navne, der findes i projektet.

Populære projekter, der bruger Apache License 2.0, er Android , Apache og Swift .

Berkeley Software Distribution (BSD)

BSD har to hovedversioner: 2-klausul og 3-klausul. De tilbyder begge mere fleksibilitet for brugerne end Apache License 2.0.

  • Kildekoden behøver ikke at være offentlig, når en distribution af softwaren foretages.
  • Ændringer af softwaren kan frigives under enhver licens .
  • Ændringer foretaget i kildekoden kan ikke dokumenteres.
  • Det giver ingen eksplicit holdning til patentbrug.
  • Licens- og copyright-meddelelsen skal medtages i dokumentationen til den kompilerede version af kildekoden (i modsætning til kun i kildekoden).
  • BSD 3-klausulen siger, at forfatterne og bidragyderne ikke kan bruges til at promovere produkter, der stammer fra softwaren uden tilladelse.

Populære projekter, der bruger BSD-licens, er Go (3-klausul), Pure.css (3-klausul) og Sentry (3-klausul).

MIT-licens

MIT er en af ​​de mest tilladelige licenser. Det er også den mest populære. Det giver meget lav beskyttelse for forfatteren af ​​softwaren.

  • Kildekoden behøver ikke at være offentlig, når en distribution af softwaren foretages.
  • Ændringer af softwaren kan frigives under enhver licens .
  • Ændringer foretaget i kildekoden kan ikke dokumenteres.
  • Det giver ingen eksplicit holdning til patentbrug.

Populære projekter, der bruger MIT, er Angular.js , jQuery , Rails , Bootstrap og mange flere.

Facebooks React.js havde en BSD-3 + patentlicens indtil den 25. september. Det kombinerede BSD-3-licensen med en ekstra klausul om patentbrug.

Kort sagt, hvis du sagsøger Facebook eller et af dets datterselskaber, mister du retten til at bruge React (eller anden software under samme licens).

React er nu MIT-licenseret. Du er nu i stand til at sagsøge Facebook og stadig bruge React. Sikke en lettelse!

Anvendelse af en licens til dine open source-projekter

Licensering af dine projekter er let. Du er nødt til at tilføje en LICENSE, LICENSE.txteller LICENSE.mdi roden af dit arkiv.

GitHub gør det endnu nemmere:

  1. Åbn dit GitHub-lager i en browser.
  2. Klik på i rodmappen Create new file.
  3. Navngiv filen “LICENSE”.
  4. Klik på Choose a license template.
  5. Vælg en af ​​licenserne (alle dem, der er nævnt i denne artikel, er der).
  6. Når du er valgt, skal du klikke på Review and submit.
  7. Commit filen.

Sammenfattende ...

  • En af de mest restriktive licenser er GPL .
  • En af de mest tilladte licenser er MIT .
  • Andre populære licenser er Apache License 2.0 og BSD .
  • For at anvende en licens på dit GitHub-projekt skal du oprette en LICENSEfil ved hjælp af GitHubs licensskabeloner.

Tjek min forklaring på, hvordan jeg brugte Python til at finde interessante mennesker at følge på Medium!

For flere opdateringer, følg mig på Twitter.