Wewnętrzne źródło

InnerSource to wykorzystanie najlepszych praktyk w zakresie tworzenia oprogramowania typu open source oraz ustanowienie kultury podobnej do oprogramowania typu open source w organizacjach w celu rozwoju oprogramowania innego niż open source i/lub oprogramowania własnościowego . Termin został wymyślony przez Tima O'Reilly'ego w 2000 roku w jego felietonie.

Motywacja

Otwarte oprogramowanie jest uznawane za zdolne do dostarczania wysokiej jakości oprogramowania. Co więcej, otwarta współpraca w ramach open source umożliwia współpracę nawet między konkurentami (np. ARM i Intel pracujące nad jądrem Linuksa na podstawie decyzji opartych na zasługach).

W związku z tym organizacje tworzące oprogramowanie chcą czerpać korzyści z jego wyników (komponentów oprogramowania i narzędzi), ale także z praktyk programistycznych stosowanych i ugruntowanych w świecie open source.

Stosowane praktyki open source

Oprócz kilku praktyk ustanowionych w fundacjach , takich jak Apache Software Foundation , Linux Foundation i Eclipse Foundation , projekty InnerSource i open source wymagają otwartej współpracy , otwartej komunikacji i odpowiedniego zapewnienia jakości .

Otwarta współpraca

Wszystkie wymagane artefakty programistyczne (np. kod, dokumentacja, narzędzie do śledzenia problemów itp.) muszą być dostępne dla wszystkich pracowników firmy wykorzystującej InnerSource. Centralne kuźnie oprogramowania są niezbędnym narzędziem do wdrażania otwartej współpracy.

Opierając się na zasadach otwartej współpracy ( egalitarnej , merytokratycznej i samoorganizującej się), każdy współpracownik, który chce pomóc projektowi InnerSource, jest zwykle mile widziany. Wkłady w projekty InnerSource są zazwyczaj oceniane merytokratycznie na podstawie wartości, jaką wnoszą do projektu. Merytokracja można również umożliwić poprzez otwartą komunikację, ponieważ decyzje są omawiane publicznie. Chociaż organizacja niekoniecznie staje się całkowicie samoorganizująca się, aby przyjąć InnerSource, InnerSource umożliwia jednostkom, jednostkom organizacyjnym i społecznościom projektowym wyższy stopień samoorganizacji.

Otwarta komunikacja

Projekty i programy InnerSource opierają się na otwartej komunikacji, aby cała komunikacja była dostępna dla wszystkich pracowników. Otwarta komunikacja to komunikacja publiczna (wewnątrz firmy), pisemna, zarchiwizowana i kompletna. W konsekwencji tej właściwości komunikacja jest asynchroniczna. Celem jest umożliwienie każdej osobie lub stronie, która ma udziały lub zainteresowanie projektem InnerSource, wzięcie udziału w komunikacji. W miarę archiwizowania otwartych dyskusji komunikacyjnych biernie gromadzona jest szczegółowa dokumentacja oprogramowania, która umożliwia cofnięcie się i ponowne przyjrzenie się historycznym dyskusjom i decyzjom.

Zapewnienie jakości poprzez oddzielenie wkładu od integracji

Dedykowany przegląd kodu oraz oddzielenie współtwórców i zatwierdzających (integratorów, programistów z dostępem do zapisu) zapewnia jakość projektu open source, a zatem także projektu InnerSource.

Korzyści

Oprócz atrybutów jakości oprogramowania open source zgłaszane są następujące korzyści:

Bardziej wydajny i efektywny rozwój
Pokonywanie granic jednostek organizacyjnych
  • Podział kosztów i ryzyka pomiędzy jednostkami organizacyjnymi
  • Współpraca ponad granicami jednostek organizacyjnych
  • Wymiana informacji w całym programie
Bardziej udane ponowne użycie
  • Wykorzystanie kompetencji, których brakuje u dostawców komponentów
  • Niezależność między ponownymi użytkownikami a dostawcami
  • Zwolnienie dostawców komponentów
Lepsze oprogramowanie
Bardziej elastyczne wykorzystanie programistów
  • Uproszczone wdrażanie dla programistów
  • Współpraca niezależnych programistów
Ulepszone zarządzanie wiedzą
  • Nauka oparta na społeczności
  • Otwartość i dostępność wiedzy
Wyższa motywacja pracowników

Rozpowszechnienie

Między innymi następujące firmy są znane z przyjęcia InnerSource:

Kluczowe czynniki decydujące o przyjęciu InnerSource

InnerSource może być obiecującym podejściem dla dużych organizacji tworzących oprogramowanie. Jednak może nie być odpowiedni we wszystkich ustawieniach. Poniższe dziewięć czynników, pogrupowanych w trzy kategorie, można sprawdzić, aby ocenić, w jakim stopniu InnerSource może być odpowiednie.

Czynniki produktu

  • Produkt nasienny, aby przyciągnąć społeczność
  • Wielu interesariuszy dla różnych wkładów
  • Modułowość, aby przyciągnąć współpracowników i użytkowników

Czynniki związane z procesami i narzędziami

Czynniki organizacji i społeczności

  • Koordynacja i przywództwo wspierające powstanie wewnętrznej merytokracji
  • Przejrzystość, aby otworzyć organizację
  • Wsparcie kierownictwa i motywacja do angażowania ludzi