Spring til hovedindhold
Se andre licenser

spdx-exceptions

Licensundtagelser (WITH-udtryk)

En undtagelse løsner en licens, den strammer den aldrig. GPL-2.0-only WITH Classpath-exception-2.0 er GPL uden linking-problemet.

På denne side

Hvad den gør

En undtagelse er et tillæg, som rettighedshaverne knytter til en grundlicens for at fjerne en af dens begrænsninger. Den kan kun give dig mere plads, aldrig mindre. Fire af dem dækker næsten alt, du møder. Classpath-exception-2.0 på GPL-2.0-only er OpenJDK-licensen: du må linke din egen kode mod klassebiblioteket, uden at din kode bliver GPL. LLVM-exception på Apache-2.0 dækker LLVM-værktøjskæden og Rusts compiler-builtins-crate. GCC-exception-3.1 gør det samme for kode, GCC genererer, og Autoconf-exception dækker genererede configure-scripts.

Detaljer

Ser du GPL-2.0-only WITH Classpath-exception-2.0 på en JDK-afhængighed, er det praktiske svar, at den ikke gør din applikation GPL. Det er hele grunden til, at undtagelsen findes. Det er værd at sige rent ud, fordi en nøgen GPL-mærkat på en JDK skræmmer folk, der har fået at vide, at de skal undgå GPL. Det samme gælder kode bygget på LLVM og alt, der er kompileret med GCC. Risikoen går den anden vej: taber du undtagelsen ud af dine registreringer, begynder en helt almindelig afhængighed at læse som et stærkt copyleft-problem, den ikke er.

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

  • Undtagelsestilladelse

    En SPDX WITH-undtagelse tilføjer eller fjerner en betingelse oven på grundlicensen, ofte for at tillade linking som grundlicensen ville blokere.

Hvad spdx-exceptions kræver, når I sender kode ud

spdx-exceptions 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 noterer hele udtrykket, grundlicens og undtagelse sammen. Udelader du undtagelsen, overdriver du dine pligter, og udelader du grundlicensen, underdriver du dem.

  2. Du læner dig kun på undtagelsen, så langt dens egen tekst rækker. Grundlicensen styrer stadig alt det, undtagelsen ikke rører.

  3. Du flytter ikke en undtagelse fra ét projekt over på et andet projekts kode. Den gives af det projekts rettighedshavere, til det projekt.

  4. Du har tjekket, at din SBOM-eksport stadig bærer WITH-klausulen. En eksport, der kun siger GPL-2.0-only, gør en harmløs JDK-afhængighed til et rødt flag i en andens gennemgang.

De pligter, spdx-exceptions 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.

Behold begge id'er

Registrer grund-SPDX-id'et og undtagelses-id'et sammen (GPL-2.0-only WITH Classpath-exception-2.0). Begge hører hjemme på siden.

Det skal du være opmærksom på

  • En SBOM noterer GPL-2.0-only og taber WITH Classpath-exception-2.0. En helt almindelig JDK-afhængighed læses så som et stærkt copyleft-problem, den ikke er.
  • Nogen antager, at en undtagelse kan tilføje en begrænsning. Det kan den ikke. Tekst, der tilføjer en betingelse, er en ændring af licensen, ikke en undtagelse fra den.
  • Nogen behandler enhver tekst, der er sat efter en licens, som en undtagelse. En ukendt tilføjelse er en ændring, og den ændrer de vilkår, du arbejder under.

Hvad Licensundtagelser (WITH-udtryk) ikke gør

Søgeresultater flader ofte Licensundtagelser (WITH-udtryk) ud til et slogan. Dette er de sædvanlige fejllæsninger. spdx-exceptions er en tilladelse med betingelser, ikke en tilladelse til at springe papirarbejdet nedenfor over.

  • en SPDX-licens med en undtagelse 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 spdx-exceptions adskiller sig fra nærliggende licenser

Disse licenser forveksles ofte med spdx-exceptions, 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.

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.
GPL-2.0-or-later
GPL-2.0 kræver kildekode, når du giver nogen en binær fil. At køre den på egne servere udløser intet. Triggeren er at levere en kopi, ikke blot at bruge den.
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.
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.

Ofte stillede spørgsmål om Licensundtagelser (WITH-udtryk)

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

Hvad er Licensundtagelser (WITH-udtryk)?

En undtagelse er et tillæg, som rettighedshaverne knytter til en grundlicens for at fjerne en af dens begrænsninger. Den kan kun give dig mere plads, aldrig mindre. Fire af dem dækker næsten alt, du møder. Classpath-exception-2.0 på GPL-2.0-only er OpenJDK-licensen: du må linke din egen kode mod klassebiblioteket, uden at din kode bliver GPL. LLVM-exception på Apache-2.0 dækker LLVM-værktøjskæden og Rusts compiler-builtins-crate. GCC-exception-3.1 gør det samme for kode, GCC genererer, og Autoconf-exception dækker genererede configure-scripts.

Hvad kræver spdx-exceptions, når I sender et produkt ud?

Du noterer hele udtrykket, grundlicens og undtagelse sammen. Udelader du undtagelsen, overdriver du dine pligter, og udelader du grundlicensen, underdriver du dem. Du læner dig kun på undtagelsen, så langt dens egen tekst rækker. Grundlicensen styrer stadig alt det, undtagelsen ikke rører. Du flytter ikke en undtagelse fra ét projekt over på et andet projekts kode. Den gives af det projekts rettighedshavere, til det projekt. Du har tjekket, at din SBOM-eksport stadig bærer WITH-klausulen. En eksport, der kun siger GPL-2.0-only, gør en harmløs JDK-afhængighed til et rødt flag i en andens gennemgang.

Hvorfor ligger spdx-exceptions under særlige tilfælde?

spdx-exceptions 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 spdx-exceptions sig fra GNU GPL v2.0 eller senere?

spdx-exceptions kræver dette: En undtagelse løsner en licens, den strammer den aldrig. GPL-2.0-only WITH Classpath-exception-2.0 er GPL uden linking-problemet. GNU GPL v2.0 eller senere kræver dette: GPL-2.0 kræver kildekode, når du giver nogen en binær fil. At køre den på egne servere udløser intet. Triggeren er at levere en kopi, ikke blot at bruge den. Åbn GNU GPL v2.0 eller senere-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 spdx-exceptions til en køber?

Udtryks-parseren behandler WITH som en fuldgyldig operator, så GPL-2.0-only WITH Classpath-exception-2.0 bevares helt frem for at blive reduceret til sin grundlicens. Tekstvurderingen er lært op i, at en genkendt undtagelse sat efter en grundlicens er en almindelig WITH-konstruktion og ikke en pakkeændring. Den nævner Classpath-exception-2.0, LLVM-exception, GCC-exception-3.1 og Autoconf-exception-3.0 udtrykkeligt. Ethvert sammensat udtryk med et WITH klassificeres som usikkert, så det aldrig flades ud og altid når frem til et menneske.

Hvor registrerer jeg spdx-exceptions til en køber?

Udtryks-parseren behandler WITH som en fuldgyldig operator, så GPL-2.0-only WITH Classpath-exception-2.0 bevares helt frem for at blive reduceret til sin grundlicens. Tekstvurderingen er lært op i, at en genkendt undtagelse sat efter en grundlicens er en almindelig WITH-konstruktion og ikke en pakkeændring.

Den nævner Classpath-exception-2.0, LLVM-exception, GCC-exception-3.1 og Autoconf-exception-3.0 udtrykkeligt. Ethvert sammensat udtryk med et WITH klassificeres som usikkert, så det aldrig flades ud og altid når frem til et menneske.

Læs /docs/auto-fetch-license.

  • Grundlicensen styrer stadig tjeklisten. En GPL-grundlicens er copyleft, så et punkt om kildekode-tilbud dukker op på projekter, der sender binære filer ud eller kører blandet deployment.
  • Den tekst, der gemmes på komponenten, er den, din attestation-side og dine eksportfiler bærer. Vedhæft den kopi, der indeholder undtagelsen, ikke en nøgen grundlicens.

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 Licensundtagelser (WITH-udtryk) 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.