Utmaningarna med gemenskaps- kontra leverantörsledd programvara med öppen källkod

Utmaningarna med gemenskaps- kontra leverantörsledd programvara med öppen källkod


Den nyligen avslöjade Log4j-sårbarheten återuppstod samma gamla frågor kring den inneboende säkerheten för programvara med öppen källkod (OSS), särskilt programvara som inte stöds av skvadroner av heltidsutvecklare och säkerhetsteam.

En av de centrala underh√•llarna som √§r avg√∂rande f√∂r att utf√§rda en Log4j-fix har ett heltidsjobb n√•gon annanstans som mjukvaruarkitekt och arbetar bara med “Log4j och andra open source-projekt” p√• sin fritid. √Ąven om detta anv√§ndes av vissa f√∂r att h√§vda att gemenskapsdriven programvara inte √§r tillr√§ckligt s√§ker, menade andra att det helt enkelt lyfte fram behovet av att implementera en mer rigor√∂s s√§kerhetsregim med alla program med √∂ppen k√§llkod som spelar en s√• grundl√§ggande roll i kritisk infrastruktur.

Men det är också värt att notera att inte alla program med öppen källkod skapas lika. Visst, det finns mer än tillräckligt med bevis för att stödja argumenten att många projekt med öppen källkod är bedrövligt understödda i förhållande till deras genomträngning, men på baksidan stöds otaliga projekt Рdirekt eller indirekt Рav megaföretag med miljarder dollar.

Säljarledd

En snabb titt p√• n√•gra av de b√§sta projekten med √∂ppen k√§llkod d√§r ute visar att m√•nga b√∂rjade p√• n√•gra av v√§rldens st√∂rsta teknikf√∂retag. Kubernetes, till exempel, d√∂k upp fr√•n Googles tekniska valv 2014, och √§ven om Google fortfarande √§r den mest aktiva bidragsgivaren idag, r√§knar projektet deltagare fr√•n stora f√∂retag inklusive Microsoft, Amazon, Intel och Alibaba. Dessutom erbjuder de “tre stora” molnf√∂retagen (Google, Amazon och Microsoft) nu alla “Kubernetes-as-a-service”, med l√∂fte om ytterligare support och s√§kerhet.

S√• √§ven om Kubernetes mycket v√§l kan vara “gemenskapsledd” under √∂verinseende av Cloud Native Computing Foundation (CNCF), st√∂ds det i slut√§ndan av m√•nga stora f√∂retag med ett egenintresse av att Kubernetes lyckas.

Sedan finns det öppen källkod för IT-automatiseringsmotorn Ansible, som började som en oberoende enhet redan 2013, bara för att förvärvas av Red Hat för en rapporterad $100 miljoner. Red Hat själv togs sedan upp av IBM för coola 34 miljarder dollar, vilket påminner alla om hur värdefulla tjänster och support med öppen källkod har blivit.

På andra ställen har företag som bygger på en öppen källkodsbas slagit ut på de offentliga marknaderna i massor, med sådana som Elastic som nu är ett börsnoterat företag på 9 miljarder dollar (även om det sedan dess har flyttat bort från sitt ursprung med öppen källkod). Och så finns det HashiCorp, utvecklaren bakom populära produkter med öppen källkod som Terraform, som har haft en lite frostig start på livet som ett publikt företag sedan det gick upp på NASDAQ för två månader sedan.

Det kan finnas stora skillnader mellan projekt som underhålls av leverantörer eller på annat sätt har betydande företagsstöd, och samhällsledda strävanden som leds av osjälviska individer på sin fritid.

“S√•rbarheterna i Log4j har tvingat kunder och anv√§ndare att t√§nka p√• √∂ppen k√§llkod med mer nyans,” sa HashiCorps medgrundare och CTO Armon Dadgar till VentureBeat. “Bara f√∂r att ett projekt √§r √∂ppen k√§llkod p√• GitHub betyder det inte att du ska ta ett kritiskt beroende av det. De flesta kunder inser att det √§r vettigt att ha en kommersiell partner, s√§rskilt f√∂r kritiska beroenden. Att ha ett serviceniv√•avtal (SLA), tillg√•ng till support och att veta att det finns ett professionellt f√∂rh√•llningss√§tt till s√§kerhet och produktf√§rdplan √§r avg√∂rande ‚Äď s√§rskilt f√∂r f√∂retag.‚ÄĚ

Bortsett från säkerheten möjliggör leverantörsledda projekt också ett mer långsiktigt tillvägagångssätt för utveckling av programvara med öppen källkod, på grund av det enkla faktum att det finns betald personal som är dedikerad till att växa en kommersiell verksamhet. Detta kan leda till att en programvaras arkitektur utvecklas så att den är lättare att integrera och arbeta med; förbättra testfunktionaliteten för att lösa buggar eller prestandaproblem; eller mer generellt, att tillämpa en standardprodukthanteringsmetod för att prioritera nya funktioner.

“Som j√§mf√∂relse tenderar samh√§llsledda projekt att vara mycket mer taktiska,” tillade Dadgar. “De flesta bidragsgivare l√∂ser bara sin specifika sm√§rtpunkt. De √§r inte intresserade av att utveckla den √∂vergripande arkitekturen eller hur deras problem passar in i den st√∂rre helheten. Detta kan ofta l√§mna projekt med tekniska skulder, svaga tester som leder till buggar eller s√§kerhetsproblem, och en ad hoc-strategi f√∂r f√§rdplanen och utvecklingen.”

Å andra sidan kommer leverantörsledda projekt med sina egna unika utmaningar, som att behöva balansera samhällsbaserade bidrag med det kommersiella företagets vision för projektet.

“Detta kan g√∂ras √§nnu mer utmanande n√§r ett projekt har m√•nga olika leverant√∂rer inblandade, s√§rskilt om de har konkurrerande visioner,” sa Dadgar. “Du kan snabbt ha utarbetade styrnings- och styrstrukturer som beh√∂vs, vilket kan skapa mycket overhead.”

√Ąven om samh√§llsledda projekt med √∂ppen k√§llkod kan ha det raka motsatta problemet (dvs. brist p√• tydligt ledarskap), lovar de en mer flexibel och “√∂ppen” f√§rdplan, som kan vara anv√§ndbar f√∂r att utforska mycket specifika anv√§ndningsfall som dyker upp som projektet utvecklas.

“Samh√§llet kan b√∂rja till√§mpa projektet i en dom√§n och utveckla projektet f√∂r att b√§ttre st√∂dja det anv√§ndningsfallet, √§ven om det aldrig var f√∂rv√§ntat”, f√∂rklarade Dadgar. “Denna typen av flexibilitet kan vara b√•de anv√§ndbar f√∂r att l√∂sa nya problem, men kan ocks√• vara utmanande om det leder till r√§ckviddskrypning (dvs. brist p√• riktning eller fokus).”

S√• framg√•ngsrika leverant√∂rsledda projekt m√•ste ofta passera en fin linje mellan att st√∂dja sina egna aff√§rsm√•l genom att f√∂rbli laserfokuserade p√• k√§rnfunktioner, samtidigt som det ger samh√§llet tillr√§ckligt med slack f√∂r att “klia sig sj√§lv” genom att bygga sina egna moduler och integrationer. Resultatet av allt detta ‚Äď allt g√•r bra ‚Äď √§r en h√§lsosam, levande √∂ppen k√§llkodsgemenskap som aktivt bidrar till ett projekt.

‚ÄĚDet st√∂rsta incitamentet f√∂r [external] bidragen √§r att anv√§ndarna l√∂ser sina egna problem‚ÄĚ, konstaterade Dadgar. “Ist√§llet f√∂r att l√§mna in ett problem och v√§nta p√• att HashiCorp ska fixa n√•got, kan de enkelt g√∂ra en pull-beg√§ran, avblockera sig sj√§lva och bidra tillbaka till projektet. Ofta anv√§nder de v√•ra projekt i sin startup eller stora f√∂retag, s√• det handlar verkligen om att l√∂sa f√∂r sin verksamhet.‚ÄĚ

Testtider

Sergei Egorov √§r en aktiv deltagare i flera projekt och gemenskaper med √∂ppen k√§llkod, samt √§r medunderh√•llare av Testcontainers ‚Äď ett popul√§rt Java-bibliotek med √∂ppen k√§llkod f√∂r integrationstestning. Fr√•n och med mars f√∂rra √•ret √§r Egorov ocks√• medgrundare och VD f√∂r AtomicJar, ett f√∂retag som vill kommersialisera testcontainrar i f√∂retag.

Medan AtomicJar g√•r i spetsen f√∂r Testcontainers utveckling, √§r Egorov snabb med att betona att f√∂retaget verkligen √§r “bara en annan medlem” i Testcontainers community. “Vi ser Testcontainers som ett gemenskapslett projekt,” sa han till VentureBeat.

Egorov noterade att en av huvudorsakerna till att gemenskapsdriven mjukvara ofta hamnar i en farlig position, är på grund av det faktum att den har vuxit organiskt från ingenting, utan en riktig plan på plats om det skulle slå ut på riktigt.

“Jag tror inte att n√•gon framg√•ngsrik inom √∂ppen k√§llkod n√•gonsin har gett sig ut p√• att skapa ett framg√•ngsrikt projekt med √∂ppen k√§llkod,” sa han. “Jag tror att f√∂r de flesta – om inte alla – framg√•ngsrika projekt med √∂ppen k√§llkod hade skaparen en aning om att detta var en anv√§ndbar sak, men de f√∂rv√§ntade sig inte den ultimata graden av framg√•ng.”

Och s√• med samh√§llsledda projekt finns det vad Egorov kallar en “omv√§nd effekt”, d√§r ett projekt med √∂ppen k√§llkod b√∂rjar med f√• f√∂rv√§ntningar, men sedan √∂verstiger dessa f√∂rv√§ntningar s√• sm√•ningom underh√•llarens kapacitet n√§r det blir mer genomgripande och popul√§rt.

“Det finns ingen leverant√∂r att skylla p√• i ett community-drivet projekt med √∂ppen k√§llkod, vilket inneb√§r att s√§kerhet blir en fr√•ga om “post factum”-t√§nkande,” sa Egorov. “Medan leverant√∂rsdrivna projekt alltid i f√∂rv√§g √§r oroliga √∂ver sitt offentliga ansikte och hur de kommer att behandlas om de skulle inf√∂ra en s√§kerhetsrisk.”

Egorov tillade också att en stor fördel med community-ledda open source-projekt är att de vanligtvis kan locka bidrag från en mer mångsidig grupp utvecklare.

“Av konkurrenssk√§l √§r det ibland sv√•rt f√∂r leverant√∂rsledda projekt med √∂ppen k√§llkod att attrahera bidrag – att leverant√∂rens konkurrenter uppenbarligen inte √§r intresserade av att bidra till projektet”, f√∂rklarade han. “Medan det med samh√§llsledda OSS-projekt inte finns n√•gra konkurrenter, drivs vi alla av samma motivation.”

Partnerskap

N√§rhelst ett stort problem med mjukvarus√§kerhet dyker upp fr√•n projekt med √∂ppen k√§llkod som Log4j och OpenSSL innan det, kretsar diskussionen snart tillbaka till l√∂sningar ‚Äď hur kan vi alla forts√§tta att dra nytta av flexibiliteten, tillg√§ngligheten och skalbarheten hos community-driven programvara, utan att lita p√• p√• √∂verarbetade, underst√∂dda underh√•llare?

Vita huset stod nyligen som värd för ett säkerhetstoppmöte med öppen källkod, som inkluderade deltagande från intressenter inom den offentliga och privata sektorn, som diskuterade hur man bäst kan stärka säkerheten för gemenskapsdriven programvara. Kort därefter lanserade den Linux Foundation-stödda Open Source Security Foundation (OpenSSF) Alpha Mega Project, ett nytt initiativ som stöds av sådana som Google och Microsoft och som är utformat för att säkra programvarans leveranskedja. Detta följde på ytterligare ett återkommande åtagande på 10 miljoner dollar som världens teknikjättar gjorde till OpenSSF.

Det blir allt tydligare att partnerskap och samarbete kommer att visa sig vara avg√∂rande f√∂r alla anstr√§ngningar att st√∂dja OSS-f√∂rsvaret, d√§r v√§rldens regeringar tar en mer aktiv roll och driver f√∂retag att “ge tillbaka” till projekt med √∂ppen k√§llkod de drar nytta av.

“Jag tror att det √§r det b√§sta s√§ttet att g√∂ra det [OSS security] h√•llbart √§r att ha det ett avl√∂nat och prim√§rt jobb f√∂r underh√•llarna‚ÄĚ, sa Dadgar. “Detta kan g√∂ras p√• m√•nga olika s√§tt, men att skapa ideella organisationer som kan underh√•lla viktiga projekt och finansiera det genom statliga bidrag skulle vara en l√∂sning.”

Egorov tillade att han inte tror att den privata sektorn kan l√∂sa OSS-s√§kerhetsproblemet eftersom incitamenten √§r felaktiga p√• f√∂r m√•nga s√§tt. “Straffen f√∂r att f√∂rlora kunddata √§r till exempel fortfarande s√• relativt triviala att f√∂retag inte motiveras att g√∂ra r√§tt sak”, sa han.

Ett s√§tt att s√§kra kritisk infrastruktur och system p√• nationell niv√• skulle vara att anst√§lla fler cybers√§kerhetsproffs p√• statlig niv√• ‚Äď men det √§r sv√•rt att konkurrera med den privata sektorn om talang. Och det √§r d√§rf√∂r partnerskap mycket v√§l kan vara namnet p√• spelet.

“F√∂r regeringens deltagande i OSS-s√§kerhet tror jag att partnerskap kan vara ett b√§ttre tillv√§gag√•ngss√§tt √§n att anst√§lla,” sa Egorov. “Det finns stor talang hos m√•nga av v√§rldens cybers√§kerhetsf√∂retag – och √§ven om inte m√•nga av dessa s√§kerhetsingenj√∂rer skulle vara s√§rskilt glada √∂ver att arbeta f√∂r regeringen, tror jag att m√•nga skulle vara glada √∂ver att arbeta regeringen med en m√∂jlighet att hj√§lpa till att l√∂sa detta bredare OSS s√§kerhetsfr√•ga p√• medborgarnas v√§gnar.‚ÄĚ

VentureBeats uppdrag ska vara ett digitalt stadstorg för tekniska beslutsfattare att få kunskap om transformativ företagsteknologi och handla. Läs mer om medlemskap.