64% kritisk, alt iberegnet

Heartbleed var en singularity i open source verdenen og hvorfor er aldrig blevet opsummeret bedre end Randal Monroe i XKCD 2347

Blandt mange andre måder folkene i Linux Foundation prøver at få tiden til at gå, har de nu prøvet at udvikle en criticality score for Open Source software.

Jeg kunne naturligvis ikke lade være med at checke om Varnish Cache var på deres top-200 liste og hvilken score vi i givet fald havde fået:

Svaret er 64% kritisk.

Skalaen går fra nul, hvilket må formodes at betyde "inderligt ligegyldigt" til "git og linux", som for alle praktiske formål begge har kritikaliteten 100%.

Med reference til den gamle vittighed om det franske sprog fristes jeg til at fortsætte "FreeBSD har 73%, aircrack-ng har 59% og sådan er det hele vejen..."

Præcis hvad de mener med "kritikalitet" er ikke defineret noget sted jeg kan finde, men formlen, en note fra Rob Pike om hvorfor den ser således ud og de vægtninger der fyldes i, kan ses på projektets hjemmeside.

F.eks anses et projekts alder, på github, som en kritikalitetsfaktor: Spritnyt projekt: ukritisk, et 1 måned gammelt projekt tildeles 1.7%, et år gammelt 6.3% indtil projektet er ti år hvorefter alderen udgør 11.8% kritikalitet.

Varnish Cache ville forresten blive 1.6% mere kritisk hvis de havde projektets virkelige alder.

Hvor længe det er siden der sidst er lavet et commit tæller modsat med samme vægt.

Det betyder at et projekt der kyles på github og aldrig opdateres ikke vokser i kritikalitet via disse to faktorer og et projekt der opdateres ofte vokser hurtigere i kritikalitet end et der ikke gør.

Hvis man kniber øjnene sammen kan disse to parametre med lidt god vilje måle noget om hvor "færdigt" projektet er.

Sådan kan man fortsætte med at gætte ned igennem de ialt ti parametre.

Nogle af dem giver en form for mening: Jo flere commits og releases per år, des mere kritisk - det lyder lidt som en proxy for umoden kode og sikkerhedshuller.

Andre måske ikke så meget, "gennemsnitligt antal kommentarer per issue i de sidste 90 dage" ?

Og den sidste parameter, som er tillagt stor vægt, er meget tankevækkende: "Number of project mentions in the commit messages"

Den parameter giver kun mening hvis man i FOSS verdenen som udgangspunkt aldrig siger noget pænt om andre projekter.

Guderne skal vide at vi ikke kaster om os med komplimenter, men ... really?

Efter at have tænkt over deres parametre og disses vægte en times tid, må jeg erkende at jeg stadig ikke aner hvad de mener med ordet "kritisk" og hvordan jeg skal forholde mig til vores 64% og placeringen som 103 på top-200 for C kode.

Jeg køber at FreeBSD og Linux er mere "kritiske" end Varnish Cache, stort set uanset hvad man lægger i ordet "kritisk".

Men jeg har svært ved at finde nogen mening af ordet, hvor gnucash og RetroArch er mere kritiske end HaProxy, CMake, JEmalloc, Varnish Cache, MemCacheD og wireshark ?

Eller for den sags skyld, hvor CC65 på nogen måde kan møve sig ind på en top-200-mest-kritiske liste ?

En gang når jeg får tid, vil jeg udvikle en numerisk formel for præcis hvor ligegyldig en given software-metric er.

phk

Kommentarer (16)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
#4 Martin Sørensen

Munroe illustrerer vel meget godt at mængden af dependencies (n' orden) til et givent projekt burde være en vigtig faktor i den ligning, så det undrer mig lidt at det ikke er taget med. Antallet af 'kompatible' projekter, dvs. nogle som med relativt få midler kan hentes ind og bruges som erstatning, vil så trække i den anden retning.

  • 3
  • 0
#9 Martin Dahl

Det er klart, at nu hvor der er etableret en metrik for et projekts værdi, så vil Goodharts lov straks træde i kraft.

Det var selvfølgelig et skønnere øjeblik, da Linus kunne proklamere at git var self-hosting på fjerdedagen fra undfangelsen, men uanset hvor kunstig criticality_score er, så ligger der en skønhed i projektets totale transparens og selv-måling, som man kunne ønske om mange andre beregninger hos f.eks. Skat, Finansministeriet osv.

  • 0
  • 0
#13 Poul-Henning Kamp Blogger

Så vidt jeg kan vurdere ud fra kriterierne er det faktisk ikke vigtigt om der er nogen der bruger softwaren.

Well, det er sjældent at et projekt omtales en masse og har en masse commits hvis ingen bruger det, så det aspekt er dækket lidt ind via de forskellige "aktivitet" parametres proxyvirkning.

Det spørgsmål man i virkeligheden burde stille er nok: Hvilken score havde OpenSSL fået dagen før HeartBleed blev rapporteret ?

  • 6
  • 0
#14 Magnus Jørgensen

Det spørgsmål man i virkeligheden burde stille er nok: Hvilken score havde OpenSSL fået dagen før HeartBleed blev rapporteret ?

Ja, jeg kender ikke en eneste der bruger gnucash. Men Varnish bliver altså brugt af mange tusinde websites der alle hoster indhold til et antal brugere. https://trends.builtwith.com/Web-Server/Varnish

De bør nok ændre deres algoritme for kritisk.

  • 1
  • 0
Log ind eller Opret konto for at kommentere