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:
- Dynamisk linking: biblioteket ligger i et eget delt objekt på enhetens filsystem. Brukeren kan erstatte objektet.
- 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:
- Be om SPDX SBOM for firmware-versjonen du har tenkt å sende ut.
- Bekreft at åpen kildekode-merknaden på enheten er tilgjengelig fra Om-menyen.
- Kontroller at den trykte bruksanvisningen har lisenslisten på de dokumenterte sidene.
- Be om nettbasert åpen kildekode-side-nettadressen og bekreft at den tilsvarende kilde-nedlastingen fungerer.
- Bekreft at FreeType-unntaket er dokumentert for L5-, Q8-, T2- og Y6-bygg.
- Kontroller at omlinkingsstien for LGPL er dokumentert for PC-verktøyet (hvis du leverer et).
- Be om CI-byggflaggene som håndhever lisensisolasjon.
- Bekreft at oppbevaringsperioden samsvarer med markedets revisjonssyklus (84 måneder for EU RED og KC).
- Be om retningslinjene for omvendt utvikling for fastvaremodulene.
- 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
============================================
12. Relatert lesing
- Lisensiering og royalty for lesepenn-kodeker
- Fastvarelisens og samsvar for lesepenn
- Fastvarearkitektur for lesepenn forklart
- Kryptografi og TrustZone i lesepenn
- Kostnadsoptimalisering av BOM for lesepenn
- Patent- og IP-landskap for lesepenn
- OEM lesepinner
- Få tilbud på lesepenn