Utviklingsmodell

Fri og åpen

ÅPENKILDE sin utviklingsmodell stammer fra åpen kildekode-modellen og systemteori.

Utviklingsmodellen opererer med at alt som designes, utvikles og administreres i lys av ÅPENKILDE sine aktiviteter, skal være fritt tilgjengelig for alle, ha til formål å være allmennyttig, og forbruke minimalt av ressurser.


Prinsipper

ÅPENKILDE jobber etter prinsippene åpenhet, generalitet og minimalitet.

Prinsippene har til hensikt å tilrettelegge for utviklingen av systemer som er fri, åpne, allmennyttige og bærekraftige. Det innebærer at ÅPENKILDE forplikter seg til å opprettholde prinsippene i alle aspektene av et prosjekt eller system, og under alle omstendigheter.

ANVENDELSE

  • ÅPENKILDE utøver åpenhet gjennom å tilgjengeliggjøre og formidle alt av kildemateriell (programvare, rapporter, referater, osv) fritt for alle. Materialet skal ikke ha noen skjulte elementer, og alle som besitter den nødvendige kompetansen skal kunne forså akkurat hva alle elementene utgjør, og hvordan de gjør det.

  • ÅPENKILDE utøver generalitet gjennom å tilse at alt av kildemateriell som tilgjengeliggjøres og formidles har til formål å være allmennyttig. Elementene i materialet skal være målbevisst satt sammen for å utføre en nyttig funksjon og kunne anvendes av allmennheten.

  • ÅPENKILDE utøver minimalitet gjennom å tilse at alt av kildemateriell som tilgjengeliggjøres og formidles er redusert til et robust og nødvendig utgangspunkt. Bare de nødvendige elementene skal benyttes, og hvert element skal forbruke minimalt av andre ressurser.


Verktøy

ÅPENKILDE jobber med utvalgte verktøy.

ÅPENKILDE sitt utvalg av verktøy er basert på evnene de har til å påvirke og utvikle systemer som fri, åpne, allmennyttig og bærekraftige. Egenskapene som robusthet, effektivitet, tilgjengelighet og minimalt ressursforbruk er de viktigste faktorene for utvalget.

C

Programmeringsspråket C er designet for å reflektere funksjonene og egenskapene til maskinvare. Det betyr at C-koden har et direktevirkende forhold med maskininstruksjoner som gjør at C-koder benyttes der effektivitet og lavt strømforbruk er essensielt.

ÅPENKILDE benytter C for sin direktevirkende art som gjør at man kan lage programvare som er strømgjerrig og effektivt.

C++

Programmeringsspråket C++ er designet for en enkel og direkte tilordning til maskinvare (som C) og benytter kostnadsfrie abstraksjonsmekanismer. Det betyr at selv om C++ har avanserte abstraksjoner, så skal abstraksjonene ikke pålegge rom- eller tidskostnader og være like effektiv som C-koder.

ÅPENKILDE benytter C++ for sin direktevirkende art som gjør at man kan lage programvare som er strømgjerrig og effektivt.

VHDL/Verilog

VHDL og Verilog er maskinvarebeskrivende språk for FPGA-er og ASIC-er. Det betyr at kodene til språkene blir realisert som fysisk maskinvare, i motsetning til programmeringsspråk som blir realisert som instruksjoner for maskinvare.

ÅPENKILDE benytter VHDL og Verilog for sin grunnleggende art som gjør at man kan lage programvare som er strømgjerrig og effektivt.

Qt

Qt er en programvare for å lage grafiske brukergrensesnitt for ulike programvare- og maskinvareplattformer som Linux, Windows, macOS, Android eller innebygde systemer. Qt er skrevet i C++ og er designet for et minimalt ressursavtrykk.

ÅPENKILDE benytter Qt for sin allmennyttige og effektive art som gjør at man kan lage programvare som er strømgjerrig og effektivt.


Systemer

ÅPENKILDE jobber med utvalgte teknologier og systemer.

ÅPENKILDE fokuserer på et utvalg av systemer og teknologier som baserer seg på fri, åpne, allmennyttige og bærekraftige prinsipper - eller som bidrar til å utvikle slike systemer. Egenskapene som allmennyttighet, fleksibilitet og tilgjengelighet er de viktigste faktorene for utvalget.

FPGA

Field-Programmable Gate Array (FPGA) er en chip som er designet for å konfigureres med programvare. Det vil si at en FPGA kan konfigureres til å være en annen chip eller integrert krets, som for eksempel en prosessor.

FPGAer ble oppfunnet 1984 og ble benyttet som testenheter for maskinvareprodusenter. Rundt 2010, ble FPGAene brukt i større skala som akseleratorer i servere og som crypto-maskiner.

ÅPENKILDE benytter FPGAene som den sentrale chipen i maskinvarer, grunnet dens allmennyttige art.

Power

Power er en fri og åpen prosessorarkitektur som ble skapt av Apple-IBM-Motorola alliansen. Det betyr at alt fra maskinvare, fastvare og mikrokoder er fritt tilgjengelig og utvikles i et åpent økosystem.

Power er mest kjent gjennom Apple som benyttet prosessorene i sine tidligere maskiner, før de byttet til x86 arkitekturen. Etter at IBM gjorde Power arkitekturen fri og åpen, så har den fått en ny renessansen i innebygde systemer.

ÅPENLKILDE benytter Power arkitekturen på FPGA'er, grunnet dens frie og åpne art.

Linux

Linux er et fritt, åpent og allmennyttig operativsystem som administrerer maskinvarer, programvareressurser og tilgjengeliggjør tjenester for dataprogrammer.

Linux regnes i dag som den mest suksessfulle programvaren utviklet, og benyttes på alt fra superdatamaskiner til smarte lyspærer. Ca. 85% av alle smarttelefoner og 73% av alle tver i verden, er drevet av Linux i 2021.

ÅPENLKILDE benytter Linux for sine systemer, grunnet dens frie, åpne, allmennyttige og direktevirkende art.

openSUSE

openSUSE er en Linux distribusjon som består av Linuxkjernen og andre verktøy for å iverksette datamaskiner til et nyttig nivå for systemadministratorer, utviklere og brukere.

openSUSE prosjektet er et selvorganisert miljø uten en juridisk struktur som styres av et "gjør-okrati" der de som gjør jobben også bestemmer hva som skjer (de som bestemmer). Prosjektet har påvirket Linux-miljøet i stor grad med betydelige bidrag til Linuxkjernen, GCC, KDE og andre store prosjekter.

ÅPENLKILDE benytter openSUSE for sine større systemer, grunnet dens frie, åpne, allmennyttige og organiserte art.

Android

Android er et fritt og åpent* operativsystem som var designet primært for mobile enheter med berøringsskjerm av Google.

Android Open Source Project (AOSP) har i nyere tid blitt brukt til å utvikle varianter av Android på en rekke andre enheter, som spillkonsoller, digitale kameraer, bærbare mediespillere og PC-er. Noen kjente varianter er Android TV for TVer og Wear OS for klokker.

ÅPENLKILDE benytter Android for sine kundevendte systemer, grunnet dens frie, åpne*, og allmennyttige art.

*De fleste Android-enheter leveres med ekstra proprietær programvare forhåndsinstallert.


PROSJEKTER

ÅPENKILDE støtter og bidrar til utvalgte prosjekter.

ÅPENKILDE henter inspirasjon og bygger kunnskap fra et utvalg av prosjekter som har viktige posisjoner og formål.

OpenROAD

Produksjon av mikroprosessorer har lenge vært et lukket miljø og OpenROAD-prosjektet angriper barrierene til miljøet, som kostnader, ekspertise og usikkerhet (dvs. risiko) som har blokkert mulighetene for fri og åpen maskinvaredesign i avanserte teknologier.

ÅPENKILDE observerer OpenROAD-prosjektet og dens progresjon.

OpenCores

OpenCores er det mest fremtredende nettsamfunnet for fri og åpen utvikling av avansert maskinvaredesign. OpenCores er også stedet der maskinvaredesignere møtes for å vise frem, promotere og snakke om lidenskapen og arbeidet deres. De gjør dette gjennom fora, nyhetssamlere og andre verktøy.

ÅPENKILDE følger trender og deltar i fora-aktivitetene til OpenCores.

OpenTITAN

OpenTitan er det første åpne kildekode-prosjektet som bygger et gjennomsiktig maskinvaredesign for silicon root of trust (RoT). Dette er et åpent samarbeid mellom lowRISC, Google, Westen Digital og andre store aktører.

ÅPENKILDE følger prosjektet tett i sømmene da dette trolig er et av de mest interessante prosjektene på mange år, hvor man bygger gjennomsiktig sikkerhet inn i mikroprosessorer.