Spring til hovedindhold
Se andre licenser

dual-license

Dobbeltlicenserede pakker (OR og AND)

Én pakke, mere end én licens. OR betyder, at du vælger en gren og følger den. AND betyder, at hver gren binder dig på samme tid.

På denne side

Hvad den gør

Et SPDX-udtryk binder licenser sammen med operatorer, og operatoren ændrer alt. OR betyder, at du vælger én gren og følger den. AND betyder, at hver gren binder dig samtidig. WITH knytter en undtagelse til en grundlicens. Et efterstillet plus, eller den nyere or-later-form, betyder den version af licensen eller enhver senere. Næsten hele crates.io-økosystemet er MIT OR Apache-2.0, Rust selv inklusive. Perl selv og det meste af CPAN er Artistic-1.0-Perl OR GPL-1.0-or-later, og Qt og MySQL bruger en åben gren ved siden af en kommerciel.

Detaljer

Ved et OR er valget dit, ikke forfatterens, og du kan vælge anderledes i et andet produkt. At vælge Apache-2.0 frem for MIT giver dig en udtrykkelig patenttilladelse, og derfor vælger de fleste Rust-teams den. GPL-grenen i Qt eller MySQL kan ofte lade sig gøre for en hostet tjeneste og sjældent for en leverandør, der sender binære filer ud. Det er præcis derfor, den kommercielle gren findes. Noterer du udtrykket i stedet for en gren, hævder din attestation-side pligter, ingen har accepteret, og skjuler dem, der reelt gælder.

Fordele

  • At navngive situationen (ingen licens, dual license, undtagelse, egen tekst) er bedre end at tvinge et nært SPDX-id.
  • Når filerne er læst, ligner resten af gennemgangen enhver anden komponent.

Ulemper

  • Auto-hentning og SPDX-match afslutter ikke dette for dig. Et menneske skal læse, hvad der fulgte med.
  • Forkert SPDX på en dual-license- eller LicenseRef-pakke er en almindelig attestation-fejl.

Hvad den tillader og kræver

Vælg en kategori for at se hele tilladelsen i én overskuelig liste. Tilladelser viser, hvad licensen giver lov til, grænser viser, hvad den tilbageholder, og forpligtelser viser de betingelser, jeres releaseproces skal opfylde.

Tilladelser

  • Vælg én tilladelse

    Dual licensing lader modtageren vælge én af de nævnte licenser og følge den licens' vilkår.

Hvad dual-license kræver, når I sender kode ud

dual-license er en situation mere end en standardtilladelse. Læs det, der faktisk står på komponenten, og registrer det, i stedet for at håbe at et nærliggende SPDX-id dækker. Trinene nedenfor er, hvordan I holder registreringen bundet til den tekst, I faktisk har.

  1. Du har valgt én gren af et OR og noteret den i stedet for at gemme hele udtrykket, som om det var licensen.

  2. Du følger den gren, du valgte, og kun den. At plukke klausuler på tværs af grene er ikke en mulighed, nogen af disse licenser tilbyder.

  3. Du følger hver gren på én gang, når operatoren er AND, hvilket i praksis betyder, at de strengeste vilkår i udtrykket vinder.

  4. Du har set efter, hvad en AND-gren stille tilføjer. Et udtryk som (MIT OR Apache-2.0) AND Unicode-3.0 bærer en tredje licens, de fleste skimmer forbi.

  5. Du vælger igen, når den samme pakke dukker op i et andet produkt med andre betingelser. Valget hører til produktet, ikke til pakken.

De pligter, dual-license navngiver

Der er ingen standardtilladelse at scanne. Registrer id'et og den tekst, der faktisk står på komponenten, og behandl nærliggende SPDX-id'er som andre sider, ikke som erstatninger.

Registrer valget

Skriv ned, hvilken licens du har valgt for denne komponent. Procurement vil spørge, og den udgivne side bør vise det.

Det skal du være opmærksom på

  • Teams læser MIT OR Apache-2.0 som MIT, fordi MIT står først. Det er et valg, og Apache-2.0 er den gren, der bærer den udtrykkelige patenttilladelse.
  • Teams noterer hele udtrykket i stedet for en gren. Den offentlige side viser så pligter, ingen har accepteret, og udelader dem, der gælder.
  • Teams behandler et AND som et OR. Et AND falder aldrig sammen til én licens, uanset hvor ens de to grene ser ud på siden.
  • Teams vælger én gang og glemmer det. Et nyt produkt, eller et skift fra hostet tjeneste til en udsendt binær fil, kan gøre den anden gren til den rigtige.

Hvad Dobbeltlicenserede pakker (OR og AND) ikke gør

Søgeresultater flader ofte Dobbeltlicenserede pakker (OR og AND) ud til et slogan. Dette er de sædvanlige fejllæsninger. dual-license er en tilladelse med betingelser, ikke en tilladelse til at springe papirarbejdet nedenfor over.

  • et dual-license-valg er ikke én SPDX-licens med én forpligtelsesliste. Behandl de faktiske filer som sandheden.
  • Det lader dig ikke springe over at registrere, hvad der er i pakken. Købere vil stadig have situationen navngivet.

Hvordan dual-license adskiller sig fra nærliggende licenser

Disse licenser forveksles ofte med dual-license, men deres pligter ved en release er forskellige. Hver række opsummerer, hvad licensen kræver, når I sender kode ud. Åbn den linkede side for den fulde tjekliste.

dual-license
Én pakke, mere end én licens. OR betyder, at du vælger en gren og følger den. AND betyder, at hver gren binder dig på samme tid.
MIT
MIT lader dig sende koden med i et lukket, betalt produkt. Den ene betingelse er, at copyright-linjen og licensteksten følger med hver kopi.
Apache-2.0
Tilladelig som MIT, plus en udtrykkelig patenttilladelse. Hagen er NOTICE-filen: den skal med inde i de binære filer, du sender ud.
spdx-exceptions
En undtagelse løsner en licens, den strammer den aldrig. GPL-2.0-only WITH Classpath-exception-2.0 er GPL uden linking-problemet.

Ofte stillede spørgsmål om Dobbeltlicenserede pakker (OR og AND)

Svar på almindelige spørgsmål om, hvad Dobbeltlicenserede pakker (OR og AND) kræver, hvornår pligterne gælder, og hvilken dokumentation der skal følge med en release.

Hvad er Dobbeltlicenserede pakker (OR og AND)?

Et SPDX-udtryk binder licenser sammen med operatorer, og operatoren ændrer alt. OR betyder, at du vælger én gren og følger den. AND betyder, at hver gren binder dig samtidig. WITH knytter en undtagelse til en grundlicens. Et efterstillet plus, eller den nyere or-later-form, betyder den version af licensen eller enhver senere. Næsten hele crates.io-økosystemet er MIT OR Apache-2.0, Rust selv inklusive. Perl selv og det meste af CPAN er Artistic-1.0-Perl OR GPL-1.0-or-later, og Qt og MySQL bruger en åben gren ved siden af en kommerciel.

Hvad kræver dual-license, når I sender et produkt ud?

Du har valgt én gren af et OR og noteret den i stedet for at gemme hele udtrykket, som om det var licensen. Du følger den gren, du valgte, og kun den. At plukke klausuler på tværs af grene er ikke en mulighed, nogen af disse licenser tilbyder. Du følger hver gren på én gang, når operatoren er AND, hvilket i praksis betyder, at de strengeste vilkår i udtrykket vinder. Du har set efter, hvad en AND-gren stille tilføjer. Et udtryk som (MIT OR Apache-2.0) AND Unicode-3.0 bærer en tredje licens, de fleste skimmer forbi. Du vælger igen, når den samme pakke dukker op i et andet produkt med andre betingelser. Valget hører til produktet, ikke til pakken.

Hvorfor ligger dual-license under særlige tilfælde?

dual-license er en situation snarere end en standard offentlig tilladelse: ingen licens, et valg mellem licenser, en undtagelse, et eget id, eller en tekst der ikke passer ind i familierne ovenfor. Hver af dem afgøres ved at læse, hvad der faktisk står.

Hvordan adskiller dual-license sig fra MIT-licensen?

dual-license kræver dette: Én pakke, mere end én licens. OR betyder, at du vælger en gren og følger den. AND betyder, at hver gren binder dig på samme tid. MIT-licensen kræver dette: MIT lader dig sende koden med i et lukket, betalt produkt. Den ene betingelse er, at copyright-linjen og licensteksten følger med hver kopi. Åbn MIT-licensen-siden for, hvad den licens kræver, når I sender kode ud. Behandl ikke SPDX-id'erne som udskiftelige, bare fordi de korte navne ligner hinanden.

Hvor registrerer jeg dual-license til en køber?

SourceTrust læser det angivne udtryk. Når det er et fladt OR over højst tre almindelige licenser, bygger den én gren pr. licens og beder en gennemgang om at vælge en. Godkendelse er spærret, mens valget mangler, så en OR-pakke ikke kan smutte igennem som den gren, der tilfældigvis stod først. Alt sværere lades bevidst i fred: et indlejret eller blandet udtryk, et OR med fire eller flere grene, et WITH eller en LicenseRef klassificeres som usikkert og når urørt frem til et menneske. Et fladt AND falder aldrig sammen til én licens.

Hvor registrerer jeg dual-license til en køber?

SourceTrust læser det angivne udtryk. Når det er et fladt OR over højst tre almindelige licenser, bygger den én gren pr. licens og beder en gennemgang om at vælge en.

Godkendelse er spærret, mens valget mangler, så en OR-pakke ikke kan smutte igennem som den gren, der tilfældigvis stod først. Alt sværere lades bevidst i fred: et indlejret eller blandet udtryk, et OR med fire eller flere grene, et WITH eller en LicenseRef klassificeres som usikkert og når urørt frem til et menneske.

Et fladt AND falder aldrig sammen til én licens. Læs /docs/reviewing-component.

  • Den valgte gren er det, der styrer komponentens forpligtelser, dens tjeklistepunkter og den licens, din attestation-side viser for den afhængighed.
  • Ændrer du et valg, der allerede var bekræftet, nulstilles komponenten til skal gennemgås, og markeringerne for eksterne forpligtelser ryddes, så registreringen forbliver ærlig.
  • Begge grene beholder deres egen tekst på komponenten, så den, du ikke valgte, stadig er der, når nogen spørger, hvorfor du valgte den anden.

Se også

Hubben er søjlen for denne klynge. Søskendelicenser er de andre eger. Produkt-FAQ-links forklarer, hvordan SourceTrust registrerer pligten, ikke selve licensteksten.

Praktisk vejledning til procurement-gennemgang, ikke juridisk rådgivning. Bekræft brug med høj risiko med jurist.

Send beviset med.

Importér Dobbeltlicenserede pakker (OR og AND) og resten af det, I sender i produktion. Gratis at importere og gennemgå. I betaler først, når I udgiver.

Start gratis

Cookies på sourcetrust.dev

Vi bruger nødvendige cookies af hensyn til sikkerhed, herunder til at forhindre misbrug af vores sitescan og formularen til anmodning om en livegennemgang. Med din tilladelse bruger vi også valgfri analyse og diagnostik (Google Tag Manager på denne side, og Sentry browser-SDK'en i SourceTrust-programmet, når den er konfigureret). Se vores cookiepolitik.