[fiks: engelsk-rest] Praktisk veiledning for GPL-, LGPL-, MIT-, BSD- og Apache-2.0-lisensoverholdelse på lesepenn-fastvare, med en stykkliste for åpen kildekode per modell.

Publisert: okt 26, 2020 - 109 Visninger

Lese penn med åpen kildekode og GPL-lisens: Praktisk samsvar for innebygde enheter

Målgruppe: Denne artikkelen er skrevet for OEM/ODM-compliance-ansvarlige, firmware-ingeniører og merkevareeiere hos importører, forlag og utdanningsdistributører som må oppfylle forpliktelsene i GPL/LGPL/MIT/BSD/Apache-2.0 for en smart lesepenn før forsendelse.

Åpen kildekode-programvare kjører under den proprietære koden på enhver moderne lesepenn. Vår 11-modellinje — B1, B2, F8, K7, KF1, L5, P2, Q6, Q8, T2, Y6 — leveres med en innebygd stykkliste over åpen kildekode-materialer på totalt 47 distinkte pakker fordelt på 8 firmware-bygg. De fleste er MIT, BSD eller Apache-2.0; noen få er LGPL; én er GPLv2. Ingen er GPLv3.

Denne artikkelen går gjennom lisensforpliktelsene du må oppfylle når du videreselger en lesepenn, build-flaggene vi bruker for å isolere copyleft-komponenter, og dokumentasjonen vi sender med hver container.

Tips til kjøper: «Åpen kildekode» betyr ikke «uten forpliktelser». LGPL- og GPL-komponenter krever at du tilbyr tilsvarende kildekode, sender lisenstekster og (i noen tilfeller) aksepterer omvendt utvikling for feilsøking. Bygg dette inn i compliance-budsjettet ditt fra starten av.

1. Hvorfor åpen kildekode er viktig for en lesepenn

Åpen kildekode brukes fordi det er den mest kostnadseffektive måten å levere et innebygd produkt med høy kvalitet i 2026. Alternativene — å skrive din egen TLS-stack, ditt eget FAT-filsystem, din egen lydkodek — ville lagt til 30 til 60 ingeniørmåneder i prosjektet og likevel ikke matchet sikkerhetsnivået til samfunnsreviderte biblioteker. Hver moderne lesepenn inneholder derfor åpen kildekode-komponenter, og hver åpen kildekode-komponent har en lisens.

Lisenskategoriene som er relevante for vår linje:

  • MIT og BSD-2/3-Clause: Permissive, krever kun opphavsrettsmerknad. Ingen copyleft. Dekker FreeRTOS, LVGL, FatFs, OPUS og det meste av vår grafikkstack.
  • Apache-2.0: Permissive med et eksplisitt patentbidrag. Dekker mbedTLS, Zephyr og deler av K7-boot-flyten.
  • LGPL-2.1 og LGPL-3.0: Svak copyleft, krever at biblioteket kan relinkes. Dekker GNU C Library (glibc) kun i vår Linux-baserte testrigg — ikke på selve pennen.
  • GPLv2 med FreeType-unntak: Sterk copyleft, men med et spesielt FreeType-lisens (FTL)-unntak som tillater statisk linking i kommersielle produkter. Dekker FreeType på Y6, Q8, T2 og L5.
  • Public domain: Ingen forpliktelser. Dekker deler av OID-parseren skrevet av oss i 2018 og utgitt under CC0.

De fem kategoriene genererer fem distinkte compliance-tilnærminger. En naiv behandling av dem som «åpen kildekode = ingenting å gjøre» er feil; en naiv behandling av dem som «GPL = katastrofalt» er også feil. Hver har et spesifikt, dokumentert svar.

Open Source Components in Reading Pen Firmware
===============================================
Permissive (MIT/BSD/Apache) : 41 packages
LGPL                         : 4 packages
GPLv2+FTL exception          : 1 package
GPLv3                        : 0 packages
Public domain (CC0)          : 1 package
===============================================
Total: 47 open source packages
===============================================

2. Åpen kildekode-sammensetning per modell

Ikke alle lesepenner bruker det samme settet med åpen kildekode-pakker. Sammensetningen varierer etter modell og firmware-versjon. Nedenfor er øyeblikksbildet av vår 2026 Q3-flåte:

Modell RTOS Grafikk Filsystem Krypto Kodek Skrift LGPL? GPL?
B1 FreeRTOS LVGL FatFs mbedTLS OPUS Bitmap Nei Nei
B2 FreeRTOS LVGL FatFs mbedTLS OPUS Bitmap Nei Nei
F8 FreeRTOS LVGL FatFs mbedTLS OPUS Bitmap Nei Nei
K7 Zephyr LVGL FatFs mbedTLS OPUS Bitmap Nei Nei
KF1 FreeRTOS LVGL FatFs mbedTLS OPUS Bitmap Nei Nei
L5 Zephyr LVGL FatFs mbedTLS OPUS FreeType Nei Ja
P2 FreeRTOS LVGL FatFs i/t i/t Bitmap Nei Nei
Q6 Zephyr LVGL FatFs mbedTLS OPUS Bitmap Nei Nei
Q8 Zephyr LVGL FatFs mbedTLS OPUS FreeType Nei Ja
T2 ThreadX LVGL FatFs mbedTLS OPUS FreeType Nei Ja
Y6 Zephyr LVGL FatFs mbedTLS OPUS FreeType Nei Ja

De fire GPL-modellene (L5, Q8, T2, Y6) bruker FreeType for OID-bokomslagsrendering. De syv modellene uten GPL bruker en mindre bitmap-skriftmotor. Vi valgte denne fordelingen fordi Lisensiering og royalty for lesepennkodeken og Fastvarelisens og samsvar allerede er en betydelig belastning, og vi ønsket ikke å forsterke den med en sterk copyleft-forpliktelse på hver penn.

3. LGPL-komponentene og relink-forpliktelsen

Fire LGPL-lisensierte komponenter ligger i testriggen vår og PC-verktøyet – ikke på selve lesepennen. Komponentene er:

  • glibc 2.31 (LGPL-2.1) – brukes av fabrikktestriggen og PC-OTA-komponisten.
  • libusb 1.0.24 (LGPL-2.1) – brukes av fabrikktestriggen for USB-enhetstilgang.
  • Qt 5.15 (LGPL-3.0) – brukes av OID-bokautoreringsverktøyet for distributører.
  • libsodium 1.0.18 (ISC, tillatende) – brukes av sky-OTA-komponisten.

LGPL-forpliktelsen er at brukeren må kunne relinke applikasjonen mot en annen versjon av biblioteket. For innebygd fastvare oppfylles dette via en av to dokumenterte veier:

  1. Dynamisk linking: biblioteket ligger i et eget delt objekt på enhetens filsystem. Brukeren kan erstatte objektet.
  2. Tilbud om kildekode: applikasjonen er statisk linket, men fullstendig tilsvarende kildekode for biblioteket tilbys brukeren.

Vi bruker vei 2 fordi pennen ikke har noen delt-objekt-laster. Tilsvarende kildekode tilbys på merkenettsiden vår, med en QR-kode i den trykte bruksanvisningen. En kjøper som bestiller 12 000 enheter til et skoleprogram, vil se en trykt side 38 i bruksanvisningen som lyder: "Open-source programvare er brukt i denne enheten. Kildekode er tilgjengelig på your-distributor.example/open-source."

LGPL-3.0 tilføyer også en "anti-tivoization"-klausul – brukeren må kunne kjøre et modifisert bibliotek på enheten. Vår sikre oppstartskjede tillater ikke brukermodifisert fastvare, så vi behandler dette som en ren dokumentasjonsforpliktelse og oppgir i EULA at LGPL-3.0-rettigheter til brukermodifisering ikke utvides til enheter med lukket oppstartskjede. Dette standpunktet er gjennomgått av tre eksterne advokatfirmaer.

Tips til kjøper: Hvis distributørmarkedet ditt forbyr LGPL (noen koreanske offentlige anbudsprosesser gjør det), be om alternativet statisk-linking-uten-LGPL. Vi kan levere alle 11 modellene uten noen LGPL-komponent, mot at OID-bokautoreringsverktøyet reduseres til et CLI-grensesnitt.

4. FreeType, FTL-unntaket og GPLv2-fotavtrykket

De fire lesepennene som leveres med FreeType (L5, Q8, T2, Y6) gjør det under de doble GPLv2 + FreeType License (FTL)-vilkårene. FTL-unntaket er unikt for FreeType: det gir rett til å statisk linke FreeType inn i en ikke-GPL-applikasjon forutsatt at:

  • FreeTypes copyright-merknad gjengis.
  • Lisenstekstene (GPLv2 og FTL) følger med enheten.
  • Brukeren kan få tilsvarende kildekode for FreeType (men ikke nødvendigvis for den omsluttende applikasjonen).

Vi leverer begge lisenstekstene på selve enheten. På Y6-fastvaren (versjon 3.3.1) opptar GPLv2-teksten 18 KB og FTL-teksten 6 KB; begge nås via Om-menyen. "Tilbudet om tilsvarende kildekode" er lagt ut på vår open-source-side med en nedlastingslenke per modell.

FTL-unntaket er ikke en omgåelse – det er en spesifikk, smal tillatelse. Vi gjennomgikk unntaket med vår eksterne juridiske rådgiver i 2024 og konkluderte med at det ikke utvides til GPLv3. Derfor bruker vi ingen GPLv3-komponenter i fastvaren, uavhengig av deres tekniske meritter.

En subtil felle: enhver avledet versjon av FreeType som vi ikke har modifisert pålegger ikke nye forpliktelser, men hvis vi noen gang forker FreeType for å legge til en privat glyff, er forken i seg selv GPLv2. Vi har ikke gjort dette – vår FreeType-bygging er oppstrøms 2.13.2-utgivelsen uten lokale patcher. Dette er dokumentert i vår Lesepenn – stykklistekostnadsoptimalisering og sporet til SBOM.

5. Samsvarsmønsteret i "Om-menyen"

Hver lesepenn viser en open-source-lisensmerknad i Om-menyen. Mønsteret er konsistent på tvers av alle 11 modeller: hold volum opp-knappen inne i 5 sekunder ved oppstart, enheten går inn i et diagnoseskjermbilde, og ett av valgene er "Open Source Licenses". Den totale teksten på enheten summerer seg til 47 KB for Y6 (den mest belastede) og 14 KB for B1 (den letteste).

Modell Størrelse på lisensmerknad FreeType til stede Totalt antall lisenssider
B1 14 KB Nei 6
B2 14 KB Nei 6
F8 14 KB Nei 6
K7 16 KB Nei 6
KF1 14 KB Nei 6
L5 32 KB Ja 12
P2 11 KB Nei 5
Q6 16 KB Nei 6
Q8 38 KB Ja 14
T2 40 KB Ja 14
Y6 47 KB Ja 16

Bruksanvisningen gjentar lisenslisten på sidene 36–52 for Y6, med en tydelig engelskspråklig erklæring øverst i seksjonen. Markeder utenfor engelskspråklige områder får en oversatt versjon. Vi støtter for øyeblikket 12 språk: engelsk, spansk, fransk, tysk, arabisk, portugisisk, russisk, japansk, koreansk, vietnamesisk, thai og bahasa Indonesia.

6. Åpen kildekode-merknader på nett og i trykk

Merknaden på enheten er den ene halvdelen av compliance-mønsteret. Den andre halvdelen er nettsiden og den trykte manualen. Vår side for åpen kildekode lister opp hver pakke i hver firmware-build, med SPDX-lisensidentifikatoren, oppstrøms-URL-en, kontrollsummen og lenken til tilsvarende kildekode der det er aktuelt.

Siden genereres fra et skript som kjøres mot hver firmware-utgivelse. Skriptet produserer:

  • En JSON-fil (maskinlesbar, egnet for automatisert juridisk gjennomgang).
  • En HTML-side (menneskelig lesbar, tilgjengelig ved å skanne QR-koden i manualen).
  • En PDF (vedlagt i supplementet til den trykte manualen, fra side 38 og utover).

QR-koden lenker til en per-modell-URL som /opensource/y6. URL-en er stabil i hele modellens levetid – vi bryter ikke lenker når vi slipper ny firmware, vi legger den nye utgivelsen til på siden.

Vi beholder hver SPDX JSON-øyeblikksbilde i 84 måneder, i tråd med vår firmware compliance-oppbevaring (se Lisens og compliance for lesepenn-firmware). Oppbevaringsperioden dekker den lengste etterforskingsperioden blant våre 47 eksportmarkeder.

Øyeblikksbilde for åpen kildekode-compliance, 2026 Q3
=========================================
Totalt antall pakker på tvers av alle 11 modeller : 47
Lisenstyper                                   : 5
Modeller med GPL/FTL                          : 4 (L5, Q8, T2, Y6)
Modeller med kun LGPL                         : 0 (LGPL er i verktøy)
Lisensstørrelse på enheten (størst)           : 47 KB (Y6)
Lisensstørrelse på enheten (minst)            : 11 KB (P2)
Språk for åpen kildekode-side                 : 12
Oppbevaringsperiode                           : 84 måneder
=========================================

7. Rettigheter til reverse engineering under LGPL-3.0 og DMCA

LGPL-3.0 gir brukeren rett til å reverse-engineere biblioteket for feilsøkingsformål. Vår EULA utvider ikke denne retten til resten av firmwaren – det proprietære applikasjonslaget forblir lukket. Vi innvilger imidlertid et smalt unntak: hvis en kunde rapporterer en feil vi ikke kan reprodusere, vil vi etter eget skjønn akseptere en feilrapport-build signert med vår rotnøkkel som åpner den relevante modulen for én feilsøkingsøkt.

DMCA Section 1201-unntaket for «lovlig bruk av et allment tilgjengelig applikasjonsprogram» gjelder ikke for en lesepenn i vår vurdering, ettersom enheten ikke er et opphavsrettslig verk i Section 1201-forstand. Vi har bekreftet dette standpunktet med to eksterne advokatfirmaer og dokumenterer det i hovedleveranseavtalen.

I EU skaper direktivet om hacking fra 2016 (artikkel 6) et lignende unntak for interoperabilitet. Vi etterlever dette ved å tilby en dokumentert protokoll mellom prosesser for Bluetooth-paringsmodulen i modellene K7, Q8, T2 og Y6.

8. Byggeflagg og lisensisolasjon i CI

Vår pipeline for kontinuerlig integrasjon (CI) bruker tre byggeflagg for å håndheve lisensisolasjon:

  • -DLGPL_ISOLATION=1 — sikrer at alle LGPL-komponenter lenkes inn i et eget statisk arkiv, ikke i hoveddelen av firmware-binæren.
  • -DFREETYPE_LINK_STATIC=1 — låser FreeType til statisk lenking for de fire berørte modellene.
  • -DOPENSSOURCE_FORMATTED=1 — formaterer lisensmerknaden og genererer SPDX-utdata.

Disse flaggene er sjekket inn i byggekonfigurasjonen og kan ikke overstyres av en utvikler uten skriftlig godkjenning i kodegjennomgang fra compliance-ansvarlig. Vi reviderer flaggsettet ved hver utgivelse — 86 utgivelsesrevisjoner siden 2023, med null avvik.

KI kjører også reuse lint mot firmware-kildetreet for å verifisere at hver fil har en SPDX-License-Identifier-kommentar innen de første 30 linjene. Filer uten identifikator får bygget til å feile. Dette fanger opp «jeg glemte å legge til lisensheaderen»-feilen, som historisk har vært det vanligste compliance-avviket i bransjen vår.

9. Patentoverdragelser og Apache-2.0-komponenten

mbedTLS, Zephyr og utvalgte deler av K7-oppstartsflyten er lisensiert under Apache-2.0. Patentoverdragelsesklausulen (seksjon 3) i Apache-2.0 er en ensidig overdragelse: bidragsyteren gir brukeren en patentlisens. Brukeren godtar igjen at enhver patentrettssak de reiser mot bidragsyteren, opphever overdragelsen.

Vi har ikke reist patentrettssaker mot noen Apache-2.0-bidragsyter, og vi har ikke mottatt noen patentpåstander fra noen bidragsyter. Overdragelsen er derfor ikke opphevet. Vi dokumenterer dette standpunktet i firmware-compliance-mappen.

En kjøper som legger sine egne patenter inn i firmwaren (f.eks. en privat TTS-motor de lisensierer til oss), bør være klar over at Apache-2.0-overdragelsen ikke omfatter deres patenter. Patentene deres forblir deres egen eiendom og lisensieres ikke tilbake til åpen kildekode-fellesskapet. Dette er dokumentert i artikkelen vår Lesepenn – IP-landskap for patenter.

10. Praktisk compliance-sjekkliste for OEM/ODM-kjøpere

Før en private-label-lesepenn sendes ut, bør kjøperens compliance-ansvarlig avklare disse 10 punktene:

  1. Be om SPDX SBOM for firmware-versjonen du har tenkt å sende ut.
  2. Bekreft at åpen kildekode-merknaden på enheten er tilgjengelig fra Om-menyen.
  3. Kontroller at den trykte bruksanvisningen har lisenslisten på de dokumenterte sidene.
  4. Be om nettbasert åpen kildekode-side-nettadressen og bekreft at den tilsvarende kilde-nedlastingen fungerer.
  5. Bekreft at FreeType-unntaket er dokumentert for L5-, Q8-, T2- og Y6-bygg.
  6. Kontroller at omlinkingsstien for LGPL er dokumentert for PC-verktøyet (hvis du leverer et).
  7. Be om CI-byggflaggene som håndhever lisensisolasjon.
  8. Bekreft at oppbevaringsperioden samsvarer med markedets revisjonssyklus (84 måneder for EU RED og KC).
  9. Be om retningslinjene for omvendt utvikling for fastvaremodulene.
  10. Kontroller patenttildelings-holdningen for Apache-2.0-komponentene.

En 2-timers gjennomgangsamtale mellom din compliance-ansvarlige og vårt fastvareteam er tilstrekkelig for å avklare alle 10 punktene. Vi har onboardet 230+ forhandlere med denne sjekklisten siden 2023.

[fiks: engelsk-rest]
Sjekkliste for åpen kildekode-samsvar (10 punkter)
============================================
1.  SPDX SBOM er til stede
2.  Enhetsintern merknad er tilgjengelig
3.  Trykt manual inneholder lisensoversikt
4.  Åpen kildekode-side på nett er tilgjengelig
5.  FreeType-unntak er dokumentert
6.  Relink-bane for LGPL er dokumentert
7.  CI-flagg for lisensisolasjon er til stede
8.  84-måneders lagringsvindu
9.  Retningslinjer for omvendt utvikling er tydelige
10.  Apache-2.0-utforming av patentoverdrag er dokumentert
============================================
Anslått gjennomgangstid: 2 timer
============================================

87%

12. Relatert lesing

Få tilbud – raskt svar fra fabrikken

MIT — 22 packages

Frequently Asked Questions

Må en lesepenn leveres med GPL-kildekode?
Kun modellene L5, Q8, T2 og Y6 inkluderer FreeType, som er GPLv2 med FreeType-lisensunntaket. Disse modellene må følge med GPLv2- og FTL-tekstene på enheten (18 KB + 6 KB på Y6) og tilby den tilhørende FreeType-kildekoden på merkevarens side for åpen kildekode. De øvrige 7 modellene leveres uten GPL-kode.
Sendes LGPL-komponenter med selve lesepennen?
Nei. De fire LGPL-komponentene (glibc, libusb, libsodium, Qt) ligger i PC-verktøyet som følger med og i fabrikkens testverktøy, ikke på pennen. Pennen selv leveres kun med tillatende (MIT/BSD/Apache) lisenser og én GPLv2/FTL-komponent. Vi dokumenterer tilbudet om tilsvarende kildekode for LGPL-verktøyene på merkevarens side for åpen kildekode.
Hvordan får man tilgang til merknaden om åpen kildekode på lesepennen?
Hold volum opp-knappen inne i 5 sekunder ved oppstart. Enheten går inn i en diagnostikkskjerm med en oppføring for «Open Source Licenses». Størrelsen på lisensmerknaden varierer fra 11 KB på P2 til 47 KB på Y6, avhengig av antall komponenter.
Hva skjer hvis jeg forgrener en åpen-kildekode-komponent på lesepennen?
Forgrening av en LGPL- eller GPL-komponent skaper forpliktelser for derivatverk: du må gjøre kildekoden til forgreningen tilgjengelig under samme lisens. For tillatende lisenser (MIT, BSD, Apache-2.0) forblir forgreningen under din egen lisens, men du må beholde den opprinnelige merknaden om opphavsrett. Vi dokumenterer alle forgreninger i SPDX SBOM.
Hvilken åpen-kildekode-lisens krever størst compliance-innsats?
GPLv2 med FreeType-unntaket er den største. Den krever at 24 KB med lisenstekster følger med på enheten, at tilsvarende kildekode legges ut på nettet, at det vises et tilbud om kildekode i Om-menyen og i den trykte manualen, og at dokumentasjonen oppbevares i 84 måneder. Apache-2.0 er den nest største, på grunn av klausulen om patentoverdragelse.
Din handlekurv
Din opplevelse på dette nettstedet blir bedre hvis du tillater informasjonskapsler. Informasjonskapselpolitikk
Chat on WhatsApp