Inre källa

InnerSource är användningen av bästa metoder för utveckling av programvara med öppen källkod och etablering av en öppen källkodskultur inom organisationer för utveckling av dess icke-öppna källkod och/eller proprietär programvara . Termen myntades av Tim O'Reilly 2000 i hans spalt.

Motivering

Öppen källkod är känt för att kunna leverera högkvalitativ programvara. Dessutom möjliggör det öppna samarbetet i öppen källkod samarbete även mellan konkurrenter (t.ex. ARM och Intel som arbetar på Linux-kärnan med meritbaserade beslut).

Följaktligen vill programvaruutvecklande organisationer dra nytta av dess resultat (mjukvarukomponenterna och verktygen), men också av de utvecklingsmetoder som utövas och etableras i världen med öppen källkod.

Använde öppen källkod

Förutom flera metoder etablerade i stiftelser som Apache Software Foundation , Linux Foundation och Eclipse Foundation , kräver InnerSource och projekt med öppen källkod öppet samarbete , öppen kommunikation och en ordentlig kvalitetssäkring .

Öppet samarbete

Alla nödvändiga utvecklingsartefakter (t.ex. kod, dokumentation, problemspårare, etc.) måste vara tillgängliga för alla anställda i ett företag som använder InnerSource. Centrala mjukvarusmedjor är ett viktigt verktyg för att implementera öppet samarbete.

Baserat på principerna för öppet samarbete ( jämlikt , meritokratiskt och självorganiserande) är varje bidragsgivare som är villig att hjälpa ett InnerSource-projekt vanligtvis välkommen. Bidrag till InnerSource-projekt bedöms vanligtvis meritokratiskt baserat på det värde de tillför projektet. Meritokrati kan också möjliggöras genom öppen kommunikation då beslut diskuteras offentligt. Även om en organisation inte nödvändigtvis blir helt självorganiserande för att adoptera InnerSource, tillåter InnerSource individer, organisatoriska enheter och projektgemenskaper en högre grad av självorganisering.

Öppen kommunikation

InnerSource-projekt och program förlitar sig på öppen kommunikation för att göra all kommunikation öppet tillgänglig för alla anställda. Öppen kommunikation är kommunikation som är offentlig (inom företaget), skriven, arkiverad och komplett. Som en konsekvens av denna egenskap är kommunikationen asynkron. Målet är att tillåta alla individer eller parter som har intresse eller intresse i ett InnerSource-projekt att delta i kommunikationen. När öppna kommunikationsdiskussioner arkiveras samlas en detaljerad dokumentation av programvaran passivt in som gör att man kan gå tillbaka och återbesöka historiska diskussioner och beslut.

Kvalitetssäkring genom separation av bidrag från integration

En dedikerad kodgranskning och separeringen av bidragsgivare och committers (integratörer, utvecklare med skrivåtkomst) säkerställer kvaliteten på ett projekt med öppen källkod, och därför även för ett InnerSource-projekt.

Fördelar

Utöver kvalitetsattributen för programvara med öppen källkod rapporteras följande fördelar:

Effektivare och effektivare utveckling
Att övervinna organisatoriska enhetsgränser
  • Kostnads- och riskdelning mellan organisatoriska enheter
  • Samarbete över organisatoriska enhetsgränser
  • Programövergripande informationsutbyte
Mer framgångsrik återanvändning
  • Användning av kompetenser som saknas hos komponentleverantörer
  • Oberoende mellan återanvändare och leverantörer
  • Avlastning av komponentleverantörer
Bättre mjukvaruprodukt
Mer flexibelt utnyttjande av utvecklare
  • Förenklad implementering av utvecklare
  • Samarbete av fristående utvecklare
Förbättrad kunskapshantering
  • Samhällsbaserat lärande
  • Öppenhet och tillgång på kunskap
Högre medarbetarmotivation

Utbredning

Bland annat är följande företag kända för att använda InnerSource:

Nyckelfaktorer för att använda InnerSource

InnerSource kan vara ett lovande tillvägagångssätt för stora organisationer som utvecklar mjukvara. Men det kanske inte är lämpligt i alla inställningar. Följande nio faktorer, grupperade i tre kategorier, kan konsulteras för att bedöma i vilken utsträckning InnerSource kan vara lämplig.

Produktfaktorer

  • Seed produkt för att locka en community
  • Flera intressenter för en mängd olika bidrag
  • Modularitet för att attrahera bidragsgivare och användare

Process- och verktygsfaktorer

Organisation och gemenskapsfaktorer

  • Samordning och ledarskap för att stödja framväxten av en intern meritokrati
  • Transparens för att öppna upp organisationen
  • Ledarstöd och motivation att involvera människor