Category Archives: 4. Publications

Inner Source Definition, Benefits, and Challenges

Abstract: Inner Source (IS) is the use of open source soft­ware devel­op­ment prac­tices and the estab­lish­ment of an open source-like cul­ture with­in orga­ni­za­tions. The orga­ni­za­tion may still devel­op pro­pri­etary soft­ware but inter­nal­ly opens up its devel­op­ment. A steady stream of sci­en­tific lit­er­a­ture and prac­ti­tion­er reports indi­cates the inter­est in this research area. How­ev­er, the research area lacks a sys­tem­at­ic assess­ment of known research work: No mod­el exists that defines IS thor­ough­ly. Var­i­ous case stud­ies provide insights into IS pro­grams in the con­text of speci­fic orga­ni­za­tions but only few pub­li­ca­tions apply a broad­er per­spec­tive. To resolve this, we per­formed an exten­sive lit­er­a­ture sur­vey and ana­lyzed 43 IS relat­ed pub­li­ca­tions plus addi­tion­al back­ground lit­er­a­ture. Using qual­i­ta­tive data analy­sis meth­ods, we devel­oped a mod­el of the ele­ments that con­sti­tute IS. We present a clas­si­fi­ca­tion frame­work for IS pro­grams and projects and apply it to lay out a map of known IS endeav­ors. Fur­ther, we present qual­i­ta­tive mod­els sum­ma­riz­ing the ben­e­fits and chal­lenges of IS adop­tion. The sur­vey pro­vides the first broad review of IS lit­er­a­ture and sys­tem­at­ic arrange­ment of IS research results.

Key­words: Inner source, inner source def­i­n­i­tion, inner source ben­e­fits, inner source chal­lenges

Ref­er­ence: Capraro, M., & Riehle, D. (2016). Inner Source Def­i­n­i­tion, Ben­e­fits, and Chal­lenges. ACM Com­put­ing Sur­veys, vol. 9, no. 4, arti­cle no. 67.

The paper is avail­able as a PDF file.

An Example Charter for Inner Source Programs

Abstract: Inner source soft­ware devel­op­ment is firm-internal soft­ware devel­op­ment that uses the prin­ci­ples of open source soft­ware devel­op­ment to col­lab­o­rate across intra-organizational bound­aries that would oth­er­wise hin­der any such col­lab­o­ra­tion. Inner source breaks down the bar­ri­ers to col­lab­o­ra­tion across devel­op­ment silos by set­ting up an inter­nal ecosys­tem of read­i­ly avail­able soft­ware com­po­nents. To get start­ed with inner source, com­pa­nies need to define their goals and then set up a gov­er­nance struc­ture for an inner source pro­gram and the projects with­in to reach those goals. This gov­er­nance struc­ture is often cod­i­fied in the form of a char­ter doc­u­ment. This tech­ni­cal report presents an exam­ple char­ter for an inner source pro­gram. The goal is for com­pa­nies to be able to copy and adjust this char­ter for their own needs. Towards this pur­pose, the char­ter leaves open the many deci­sions to be made, but out­li­nes the options that any com­pa­ny needs to decide upon when estab­lish­ing an inner source pro­gram.

Key­words: Inner source, inner source char­ter

Ref­er­ence: Riehle, D. (2016). An Exam­ple Char­ter for Inner Source Pro­grams. Friedrich-Alexander-Universität Erlangen-Nürnberg, Dept. of Com­put­er Sci­ence, Tech­ni­cal Reports, CS-2016–05, August 2016.

The paper is avail­able as a PDF file.

Inner Source in Platform-based Product Engineering

Abstract: Inner source is an approach to col­lab­o­ra­tion across intra-organizational bound­aries for the cre­ation of shared reusable assets. Pri­or project reports on inner source sug­gest improved code reuse and bet­ter knowl­edge shar­ing. Using a multiple-case case study research approach, we ana­lyze the prob­lems that three major soft­ware devel­op­ment orga­ni­za­tions were fac­ing in their pro­duct line engi­neer­ing efforts. We find that a root cause, the sep­a­ra­tion of pro­duct units as prof­it cen­ters from a plat­form orga­ni­za­tion as a cost cen­ter, leads to delayed deliv­er­ies, increased defect rates, and redun­dant soft­ware com­po­nents. All three orga­ni­za­tions assume that inner source can help solve the­se prob­lems. The arti­cle ana­lyzes the expec­ta­tions that the­se com­pa­nies were hav­ing towards inner source and the prob­lems they were expe­ri­enc­ing in its adop­tion. Final­ly, the arti­cle presents our con­clu­sions on how the­se orga­ni­za­tions should adapt their exist­ing engi­neer­ing efforts.

Key­words: Inner source, inner source foun­da­tion, product-line engi­neer­ing, soft­ware plat­forms, engi­neer­ing pro­duc­tiv­i­ty

Ref­er­ence: Riehle, D., Capraro, M., Kips, D., & Horn, L. (2016). Inner Source in Platform-Based Pro­duct Engi­neer­ing. IEEE Trans­ac­tions on Soft­ware Engi­neer­ing vol. 42, no. 12 (Decem­ber 2016), 1162–1177.

The paper is avail­able as a PDF file.

Using Students as a Distributed Coding Team for Validation through Intercoder Agreement

Abstract: In qual­i­ta­tive research, results often emerge through an analy­sis process called cod­ing. A com­mon mea­sure of valid­i­ty of the­o­ries built through qual­i­ta­tive research is the agree­ment between dif­fer­ent peo­ple cod­ing the same mate­ri­als. High inter­coder agree­ment indi­cates that the find­ings are derived from the data as opposed to being rel­a­tive results based on the orig­i­nal researcher’s bias. How­ev­er, mea­sur­ing such inter­coder agree­ment incurs the high cost of hav­ing addi­tion­al researchers per­form seem­ing­ly redun­dant work. In this paper we present first results on a nov­el method of using stu­dents for val­i­dat­ing the­o­ries. We find that inter­coder agree­ment between a large num­ber of stu­dents is almost as good as the inter­coder agree­ment between two pro­fes­sion­als work­ing on the same mate­ri­als.

Key­words: Qual­i­ta­tive Data Analy­sis, The­o­ry Tri­an­gu­la­tion, Inter­coder Agree­ment, Dis­trib­ut­ed Cod­ing, Col­lec­tive Cod­ing

Ref­er­ence: Andreas Kauf­mann, Ann Bar­comb and Dirk Riehle. “Using Stu­dents as a Dis­trib­ut­ed Cod­ing Team for Val­i­da­tion through Inter­coder Agree­ment.” Friedrich-Alexander-Universität Erlangen-Nürnberg, Dept. of Com­put­er Sci­ence, Tech­ni­cal Reports, CS-2016–01, April 2016.

The paper is avail­able as a local PDF file and also on FAU’s OPUS server.

Das Uni1 Projektkonzept (2016)

Abstract: Die­ses Pro­jekt­kon­zept schil­dert, wie Hoch­schu­len mit Unter­neh­men Pro­jekte mit Stu­die­ren­den zu beid­sei­ti­gem Gewinn durch­füh­ren kön­nen. Unter­neh­men pro­fi­tie­ren durch Recruit­ing, Out­sour­cing und Inno­va­tion („ROI“), wel­che sich durch die Pro­jekte erge­ben. Hoch­schu­len gewin­nen neue Part­ner, ver­die­nen an den Pro­jek­ten und bie­ten attrak­ti­vere Lehre.

Key­words: Industrie-Hochschul-Kooperation, Forschungstrans­fer, Geschäftsmod­ell

Ref­er­ence: Dirk Riehle. “Das Uni1 Pro­jek­tkonzept (2016).” Friedrich-Alexander-Universität Erlangen-Nürnberg, Dept. of Com­put­er Sci­ence, Tech­ni­cal Report, CS-2016–04. Erlan­gen, Ger­many, 2016.

The paper is avail­able as a local PDF file and also on FAU’s OPUS server.

See also the Uni1 web­site.

Current Open Source Publications of General Interest

Prepar­ing for the relaunch of my course on free/libre, and open source soft­ware, I took stock of the general-interest papers I wrote about open source. From this list, I’m omit­ting (over­ly) aca­d­e­mic papers; all of the­se papers should be broad­ly under­stand­able.

Introduction to Open Source

The Five Stages of Open Source Volunteering

Abstract: Today’s soft­ware sys­tems build on open source soft­ware. Thus, we need to under­stand how to suc­cess­ful­ly cre­ate, nur­ture, and mature the soft­ware devel­op­ment com­mu­ni­ties of the­se open source projects. In this arti­cle, we review and dis­cuss best prac­tices of the open source vol­un­teer­ing and recruit­ment process that suc­cess­ful project lead­ers are using to lead their projects to suc­cess. We com­bine the per­spec­tive of the vol­un­teer, look­ing at a project, with the per­spec­tive of a project lead­er, look­ing to find addi­tion­al vol­un­teers for the project. We iden­ti­fy a five-stage process con­sist­ing of a con­nect­ing, under­stand­ing, engag­ing, per­form­ing, and lead­ing stage. The under­ly­ing best prac­tices, when applied, sig­nif­i­cant­ly increase the chance of an open source project being suc­cess­ful.

Key­words: Crowd­sourcing, open source soft­ware, open source com­mu­ni­ties, vol­un­teer­ing process 

Ref­er­ence: Riehle, D. (2015). The Five Stages of Open Source Vol­un­teer­ing. In Crowd­sourcing. Li, Wei; Huhns, Michael N.; Tsai, Wei-Tek; Wu, Wen­jun (Edi­tors). Springer-Verlag, 2015, 25–38. Repub­lished from The Five Stages of Open Source Vol­un­teer­ing. Friedrich-Alexander-Universität Erlangen-Nürnberg, Dept. of Com­put­er Sci­ence, Tech­ni­cal Report, CS-2014–01, March 2014. Erlan­gen, Ger­many, 2014. 

The paper is avail­able as a PDF file and as HTML on this site.