Kredit:Pixabay/CC0 Public Domain
Öppen källkod är en typ av programvara som fritt kan modifieras och distribueras. Projekt med öppen källkod är kärnan i infrastrukturen i vårt digitala samhälle, men de är mottagliga för betydande hållbarhetsproblem eftersom många människor använder dem men väldigt få bidrar till deras utveckling.
Forskning av Javier Cánovas (en medlem av UOC:s fakultet för datavetenskap, multimedia och telekommunikation och forskare med Systems, Software and Models Research Lab (SOM Research Lab)-gruppen vid IN3 Internet Interdisciplinary Institute), tillsammans med Jordi Cabot (ICREA research) professor och gruppledare), har analyserat profilerna för de användare som är involverade i dessa projekt. Resultaten visar att förekomsten av bidragsgivare som inte utvecklar kod är mycket betydande, och att det även finns en viss grad av specialisering bland dessa personer. Enligt forskarna "avmystifierar dessa data tanken att endast utvecklare driver projekt med öppen källkod" och kan användas för att utforma nya strategier för att förbättra hållbarheten för sådana initiativ.
Fullborda den partiella bilden av projekt med öppen källkod
Strukturen för projekt med öppen källkod beror i grunden både på gemenskapen av bidragsgivare (som håller projekten vid liv) och på att de samarbetar på ett aktivt och berikande sätt. Den stora majoriteten av forskningen om dessa gemenskaper fokuserar dock på att studera profilerna för användare som är ansvariga för programmering och andra tekniska uppgifter, som att granska eller kombinera kod. "Detta är bara en delbild av vad ett projekt med öppen källkod verkligen består av och hur det går framåt, vilket generellt är baserat på en gemenskap av användare som ansvarar för en mängd olika uppgifter (som marknadsföring, marknadsföring och design), som också hjälper till att utarbeta dokumentation eller deltar i diskussioner om projektets framtida utveckling", förklarade Javier Cánovas.
För att få en djupare förståelse för samarbetsdynamiken i system med öppen källkod, analyserade forskarna de 100 viktigaste npm-projekten (npm är pakethanteraren för Node.js, en av de mest populära webbapplikationsservrarna) som finns på GitHub, en ledande social kodningsplattform. "Denna studie har gjort det möjligt för oss att verifiera att icke-koduppgifter (icke-tekniska), som att rapportera ett problem, föreslå en förbättring, delta i en diskussion eller helt enkelt reagera på andras kommentarer (till exempel med en emoji för att kommunicera godkännande av ett förslag), är ett vanligt inslag i system med öppen källkod. I själva verket är deras närvaro mycket betydelsefull, vilket visar deras engagemang i projektets liv, påpekade Javier Cánovas.
Fördelning av projektuppgifter
Studien undersökte också om projektmedarbetare vanligtvis har en enda uppgift eller om de utför flera uppgifter och därför överlappar de olika rollerna. Resultaten visar att det finns användare som endast bidrar till projektet med icke-tekniska aktiviteter, vilket skulle komplettera arbetet för de personer som fokuserar på programmering och kodutveckling, som däremot inte skulle ha lite engagemang i andra uppgifter.
Dessa data ger nya ledtrådar för att utforma onboarding- och styrstrategier som underlättar utvecklingen av dessa användare och bättre samarbete mellan de olika rollerna. "I de flesta projekt med öppen källkod är insatserna för att attrahera och få in nya bidragsgivare tydligt inriktade på utvecklare, men det betyder att de missar möjligheten att attrahera andra typer av profiler som kan vara lättare att ta in och som också kan hjälpa framstegen och långa projektets hållbarhet på sikt," konstaterade författarna till studien.
"Faktiskt," tillade de, "projekt som är intresserade av att locka fler tekniska bidragsgivare borde också göra en extra ansträngning för att hjälpa några av de icke-tekniska bidragsgivarna att ta del av programmeringssidan, eftersom detta inte är en naturlig utveckling."
Studerar samhällets utveckling över tid
Denna forskning är en del av SOM Research Labs arbete med fokus på att optimera och främja bidragsgivares samarbete i system med öppen källkod, vilket har olika konsekvenser. "Den viktigaste aspekten just nu är att överväga den tidsmässiga dimensionen, det vill säga hur tillståndet för ett projekt och dess gemenskap utvecklas över tiden", sa forskaren.
Andra arbetslinjer inom detta område inkluderar att studera mekanismer för att attrahera nya bidragsgivare till projekt med öppen källkod, utforska nya sätt att visualisera bidrag från gemenskapsmedlemmar eller föreslå lösningar för att definiera regler (eller modeller för samhällsstyrning).
Forskningen publicerades i Empirical Software Engineering .