Skriv ut

Det finns projekt inom öppen källkod som inte fungerar bra. Men hur känner man igen dem? Och hur får man dem att fungera bättre? Projektet Chaoss på Linuxstiftelsen undersöker ”Community Health”, att projekt och medlemmar är vid god vigör.

När det gäller kommersiell programvara skrivs kontrakt mellan köpare och säljare. Något motsvarande finns typiskt inte när du vill börja använda öppen källkod. 

Därför behöver du andra sätta att försäkra dig om du vågar använda öppen källkod i ditt eget projekt. Att det är hållbart.

Det som finns är projekt med medlemmar som fungerar på ett visst sätt, och man har börjat använda begreppet ”community health” för att resonera kring alla aspekter på hur detta projekt fungerar både organisatoriskt och socialt. 

Mjukvara är inte en statisk produkt utan något som hålls aktuellt och uppdaterat i ett ständigt projekt. Det räcker inte att utvärdera nuvarande kodversion. Du behöver utvärdera den sociala process som producerar koden.

Magkänsla kan räcka ganska långt för att värdera om ett projekt är något som du vill engagera företaget i. Men en händelse i mitten av 10-talet stämde till eftertanke. Den betraktas i efterhand som startskottet för att lyfta upp frågan om projekthälsa och börja hantera den mer systematiskt. 

År 2014 upptäcktes nämligen att öppenkodsbiblioteket OpenSSL under två års tid hade haft ett allvarligt säkerhetshål, numera känt som Heartbleed. Det lämnade stora delar av Internet sårbara för cyberintrång. 

Det finns mycket att skrivet om buggen och dess konsekvenser och hur den hanterades. Men den djupaste lärdomen som drogs var att den bottnade ett icke fungerande projekt. 

Med facit i hand är det lätt att se att problemet i OpenSSL-projektet var att det var underdimensionerat.

– Mysteriet är inte att en handfull överbelastade volontärer missade en bugg, utan att det inte händer oftare, sammanfattade OpenSSL:s ordförande Steve Marquess.

Av utvecklarna var det en enda som arbetade heltid och projektet hade en budget i donationer på kring 20 000 kronor om året.

– Grundläggande teknik inom den globala ekonomin är byggd på en infrastruktur som är chockerande underfinansierad, konstaterade säkerhetsforskaren Dan Kaminsky.

En av reaktionerna på Heartbleed var att göra en översyn av behoven hos några viktiga projekt och trygga deras finansiering. Det var ett sätt att adressera den ekonomiska frågan.

Men samtidigt vaknade en allmännare diskussion om statusen på öppenkodsprojekt – finns det mer att säga om hur de fungerar? 

Det kan handla om allt från att automatiskt mäta kodkvalitet till att bejaka mångfald. Det finns fler aspekter än bara ekonomiska och tekniska. Även om ett projekt känns stabilt och producerar bra kod, så har företag tackat nej till att engagera sig när tonfallet på projektets forum varit ociviliserat. Det är inget du vill utsätta dina anställda för.

Eftersom det här handlar om öppen källkod ligger en del av ansvaret på dig själv. Det spelar in i ekvationen när du värderar projektet – kanske kan just ditt företags bidrag göra den väsentliga skillnaden? 

Att företag engagerar sig och investerar i öppenkod som de använder har blivit mycket vanligt. Det är en taktik med bara fördelar. Att ta på sig en egen roll ger ju som bonus möjlighet att styra projektets inriktning – att se till att det är just ditt företags klåda som klias.

Frågan om hälsa är även internt relevant för projektets egna medlemmar. Ett projekt vill ha utvecklare som känner att de gör nytta, som sysslar med uppgifter de gillar och som känner att de får uppskattning.

Området fick år 2017 ett eget program inom Linuxstiftelsen kallat Chaoss – Community Health Analytics Open Source Software. 

Området Community Health föddes med en allvarlig bugg i  ett underdimensionerat öppenkodsprojekt. Idag mäts välfungerade projekt på tusen sätt.

I årets konferensprogram sammanfattades dussintals aspekter på hälsa som man kunde tänkas vilja mäta.

En presentation byggde på en enkät om varför människor engagerar sig i öppen källkod och vad som kan få dem att hoppa av. 

i en annan presentation hade en kanadensiskt forskare undersökt tonläget vid diskussioner. Rådata för analysen fanns enkelt tillgänglig i öppna diskussionsgrupper. 

Hon inledde med ett citat från världens mest kände öppenkodare: ”SHUT THE FUCK UP!”

Jo, Linus Torvalds har en ökänd historia av verbala övergrepp bakom sig. Han har försvarat den flera gånger som ett rättframt sätt att kommunicera och hans inställning anses ha satt tonen för övriga maintainers av Linux. Det har fått utvecklare att tappa sugen och hoppa av, ofta kvinnor. 

År 2018 tänkte Linus Torvalds plötsligt om, bad om ursäkt i ett längre inlägg och tog en timeout för att jobba med sitt beteende. 

Det finns en förhoppning om att Linus Torvalds utspel ska leda till en allmän förändring inom hela communityt. En mätning året efter kunde dock inte ge ett entydigt svar. 

Rise granskar hälsan på öppen källkod

Törs du använda öppen källkod i ditt projekt? En forskargrupp på Rise tar fram verktyg och metoder för att hjälpa dig svara på frågor om ett projekts ”hälsa”.

Linux, mysql, yocto, gcc, gstreaamer, opencv – industrin är full av mjukvaruprojekt som är öppen källkod. Trenden att använda öppen källkod i kommersiella projekt fortsätter växa.

Ett företag idag kan vara beroende av tusentals öppenkodskomponenter eftersom en komponent typiskt använder ytterligare komponenter.

Koden är gratis – men törs du hänga upp ditt företag, din myndighet, din organisationen på den? Vad gör du om utvecklarna tröttnar? Kan koden introducera cybersäkerhetsbrister?

En lösning är att alltid tacka nej – ett stort maskinföretag i Sverige har exempelvis valt att helt vägra att befatta sig med kod som inte är egenutvecklad. 

På svenska Rise finns en forskargrupp under ledning av Johan Linåker som hoppas kunna producera en systematisk vägledning till beslutet. 

En av komponenterna är en redan existerande databas över öppenkodsprojekt och deras hälsostatus. Skaparen, svenska Debricked deltar i projektet. Det gör även Lunds universitet, Scania CV och Addalot Consulting.

Projektet finansieras av Vinnova. Det startade i somras och pågår till hösten 2023: ”Metodstöd för svensk industri att möta sårbarhetsrisker i användningen av öppen programvara”.