science >> Wetenschap >  >> Elektronica

Software voor iedereen:hoe werken open-sourcecommunity's?

Krediet:Pixabay/CC0 publiek domein

Open-sourcesystemen zijn een soort software die vrij kan worden gewijzigd en gedistribueerd. Open-sourceprojecten vormen het hart van de infrastructuur van onze digitale samenleving, maar ze zijn gevoelig voor grote duurzaamheidsproblemen omdat veel mensen ze gebruiken, maar slechts weinigen bijdragen aan hun ontwikkeling.

Onderzoek door Javier Cánovas (lid van de faculteit Computerwetenschappen, Multimedia en Telecommunicatie van de UOC en onderzoeker bij de groep Systems, Software and Models Research Lab (SOM Research Lab) van het IN3 Internet Interdisciplinair Instituut), samen met Jordi Cabot (ICREA-onderzoek professor en groepsleider), heeft de profielen geanalyseerd van de gebruikers die bij deze projecten betrokken zijn. De resultaten laten zien dat de aanwezigheid van bijdragers die geen code ontwikkelen van groot belang is, en dat er ook een zekere mate van specialisatie is onder deze mensen. Volgens de onderzoekers ontkrachten deze gegevens "het idee dat alleen ontwikkelaars open source-projecten aansturen" en kunnen ze worden gebruikt om nieuwe strategieën te ontwerpen om de duurzaamheid van dergelijke initiatieven te verbeteren.

Het gedeeltelijke beeld van open-sourceprojecten voltooien

De structuur van open-sourceprojecten hangt fundamenteel af van zowel de gemeenschap van bijdragers (die de projecten levend houden) als van hen die op een actieve en verrijkende manier samenwerken. Het overgrote deel van het onderzoek naar deze gemeenschappen is echter gericht op het bestuderen van de profielen van gebruikers die verantwoordelijk zijn voor programmeren en andere technische taken, zoals het beoordelen of combineren van code. "Dit is slechts een gedeeltelijk beeld van waar een open-sourceproject echt uit bestaat en hoe het verder gaat, dat over het algemeen gebaseerd is op een gemeenschap van gebruikers die verantwoordelijk is voor een breed scala aan taken (zoals marketing, promotie en ontwerp), die ook helpen bij het opstellen van documentatie of deelnemen aan discussies over de toekomstige evolutie van het project", legt Javier Cánovas uit.

Om een ​​beter begrip te krijgen van de samenwerkingsdynamiek in open-sourcesystemen, analyseerden de onderzoekers de 100 belangrijkste npm-projecten (npm is de pakketbeheerder voor Node.js, een van de meest populaire webtoepassingsservers) die te vinden zijn op GitHub, een toonaangevende sociale coderingsplatform. "Deze studie heeft ons in staat gesteld om te verifiëren dat niet-codetaken (niet-technisch), zoals het melden van een probleem, het voorstellen van een verbetering, deelnemen aan een discussie of gewoon reageren op opmerkingen van anderen (bijvoorbeeld met een emoji om te communiceren) aanvaarding van een voorstel), zijn een veelvoorkomend kenmerk in open-sourcesystemen. Hun aanwezigheid is zelfs zeer belangrijk, wat hun betrokkenheid bij het leven van het project aantoont", aldus Javier Cánovas.

Verdeling van projecttaken

In het onderzoek is ook onderzocht of projectmedewerkers meestal één taak hebben of dat ze meerdere taken uitvoeren en dat de verschillende rollen elkaar dus overlappen. De resultaten laten zien dat er gebruikers zijn die alleen bijdragen aan het project met niet-technische activiteiten, wat een aanvulling zou zijn op het werk van de mensen die zich richten op programmeren en code-ontwikkeling, die daarentegen weinig betrokken zouden zijn bij andere taken.

Deze gegevens geven nieuwe aanwijzingen voor het ontwerpen van onboarding- en beheerstrategieën die de evolutie van deze gebruikers en een betere samenwerking tussen de verschillende rollen vergemakkelijken. "In de meeste open-sourceprojecten zijn de inspanningen om nieuwe bijdragers aan te trekken en binnen te halen duidelijk gericht op ontwikkelaars, maar dit betekent dat ze de kans missen om andere soorten profielen aan te trekken die gemakkelijker kunnen worden binnengebracht en die ook de voortgang en de lange -duurzaamheid van het project op termijn", merkten de auteurs van de studie op.

"In feite," voegden ze eraan toe, "moeten projecten die geïnteresseerd zijn in het aantrekken van meer technische bijdragers ook een extra inspanning leveren om een ​​aantal van de niet-technische bijdragers te helpen om deel te nemen aan de programmering, aangezien dit geen natuurlijke evolutie is."

De evolutie van de community in de loop van de tijd bestuderen

Dit onderzoek maakt deel uit van het werk van het SOM Research Lab dat gericht is op het optimaliseren en bevorderen van samenwerking tussen bijdragers in open-sourcesystemen, wat verschillende gevolgen heeft. "Het belangrijkste aspect op dit moment is het overwegen van de temporele dimensie, d.w.z. hoe de staat van een project en zijn gemeenschap in de loop van de tijd evolueert", aldus de onderzoeker.

Andere werkterreinen op dit gebied zijn onder meer het bestuderen van mechanismen voor het aantrekken van nieuwe bijdragers aan open-sourceprojecten, het verkennen van nieuwe manieren om de bijdragen van leden van de gemeenschap te visualiseren of het voorstellen van oplossingen voor het definiëren van regels (of modellen) voor gemeenschapsbestuur.

Het onderzoek is gepubliceerd in Empirical Software Engineering .