Understanding Code Forking in Open Source Software
Total Page:16
File Type:pdf, Size:1020Kb
EKONOMI OCH SAMHÄLLE ECONOMICS AND SOCIETY LINUS NYMAN – UNDERSTANDING CODE FORKING IN OPEN SOURCE SOFTWARE SOURCE OPEN IN FORKING CODE UNDERSTANDING – NYMAN LINUS UNDERSTANDING CODE FORKING IN OPEN SOURCE SOFTWARE AN EXAMINATION OF CODE FORKING, ITS EFFECT ON OPEN SOURCE SOFTWARE, AND HOW IT IS VIEWED AND PRACTICED BY DEVELOPERS LINUS NYMAN Ekonomi och samhälle Economics and Society Skrifter utgivna vid Svenska handelshögskolan Publications of the Hanken School of Economics Nr 287 Linus Nyman Understanding Code Forking in Open Source Software An examination of code forking, its effect on open source software, and how it is viewed and practiced by developers Helsinki 2015 < Understanding Code Forking in Open Source Software: An examination of code forking, its effect on open source software, and how it is viewed and practiced by developers Key words: Code forking, fork, open source software, free software © Hanken School of Economics & Linus Nyman, 2015 Linus Nyman Hanken School of Economics Information Systems Science, Department of Management and Organisation P.O.Box 479, 00101 Helsinki, Finland Hanken School of Economics ISBN 978-952-232-274-6 (printed) ISBN 978-952-232-275-3 (PDF) ISSN-L 0424-7256 ISSN 0424-7256 (printed) ISSN 2242-699X (PDF) Edita Prima Ltd, Helsinki 2015 i ACKNOWLEDGEMENTS There are many people who either helped make this book possible, or at the very least much more enjoyable to write. Firstly I would like to thank my pre-examiners Imed Hammouda and Björn Lundell for their insightful suggestions and remarks. Furthermore, I am grateful to Imed for also serving as my opponent. I would also like to express my sincere gratitude to Liikesivistysrahasto, the Hanken Foundation, the Wallenberg Foundation, and the Finnish Unix User Group. They gave me the financial freedom to spend years scratching my stubble while pondering a truly fascinating topic. The time spent at work was made enjoyable by a great bunch of people. First off, many thanks to Catarina and Sofia for their excellent company during our shared first year of PhD coursework and confusion. We were fortunate to catch the tail end of the “Third Floor”, a marvelous group of people one could not but enjoy spending time with – yes, I’m looking at you Jennie, Sanne, Hertta, Markus, and Matte. (The Third Floor is dead, long live the Third Floor!) I was a wanna-be geek hoping to go native during the course of writing about computer-related stuff. It was Mikael who helped me take step after faltering step toward geekdom. Our countless hours in the Nerd Cave discussing Humble Bundles and daily deals on Steam, assembling a new computer (or, as my wife usually put it, “another new computer?”), or debating the correct coleslaw moisture ratio made even the mundane enjoyable. Many thanks also go to the rest of the department, past and present, the so-called FLOsters: Pekka, Dmitri, Eric, Mikko, Olga, Jonnu, Fille, Wille, Inkku, Patrik, Mats, Martin von W. and Martin F., Jan(ne), Sari, Tom, Henrika, Kari, Paulina, and all of the others. Last but not least, Chris deserves thanks, not just for being who he is, but also for making me appear to be considerably more eloquent than I ever will be. My aversion to getting a real job deserves only part of the credit for inspiring me to write a dissertation. The majority of the credit goes to Saku Mantere, who supervised me through the writing of my Master’s thesis, and encouraged me to take on something more challenging. Further thanks are owed to Saku and Eero Vaara for serving as my supervisors for the first year of my dissertation. A big debt of gratitude is owed to both Bo-Christer Björk (aka Bobi) and Turid Hedlund, who took me in at the Information Systems Science department once it became clear that my interests were driving the book in that direction. Bobi and Juho Lindman served as my supervisors, granting me my request to freely stumble around in a little-researched field until I smacked my head into something interesting. I am grateful to both of them for offering the perfect mix of freedom, guidance, and feedback. Further thanks go to Juho for being an insightful and knowledgeable co-author. I owe a great debt of gratitude to the many researchers and industry professionals who helped with ideas and feedback along the way. In addition to co-authoring one of the papers of this dissertation, Tommi Mikkonen offered help and guidance whenever needed, even back when I had only a vague notion of what I was doing. Tommi and the other open source researchers at the Tampere University of Technology, most notably Imed and Terhi, always made me feel like part of the gang. Walt Scacchi deserves a special mention for sharing his insights in general, but also in particular for suggesting that I look into the history of the term fork. Susanna Taimitarha was my go-to stats wizard, and I could imagine no one more pleasant or knowledgeable. ii Few things are as valuable to the confused PhD student as an expert willing to answer emails. I thank Glyn Moody, Jesper Nevalainen, and Heather Meeker for being such experts. Few things are as valuable to the procrastination-prone PhD student as a journal editor who spurs article submissions beyond even what was promised. I thank Chris McPhee for being such an editor. This book would have amounted to little more than dubious speculation, were it not for the many programmers and open source experts who shared their views and insights with me over the years. In addition to those already mentioned, I am very grateful to Lars Wirzenius, Artem Goutsoul, Niklas von Hertzen, Stefano Campadello, Patrik Welling, Jukka Z., Kalle H., Pekka B., Rasmus J., and the many other programmers who shared so freely of their time. Thanks also go to Olivier (“Olli”) Beutels for being both knowledgeable and approachable, and to Camilla Z. and Ralf W. for sharing their experiences, opinions, and insights. Monty Widenius offered so generously of his time and insights, it requires a special mention. From the multiple interviews included in this book, to the later co-authored papers on the inner workings of open source, this dissertation benefitted immensely from both his knowledge and his willingness to share his stories and views. I would also like to thank Monty’s assistant Andrea for all her help in making things happen. Tracking the history of the term fork, both in finding its way into the English language as well as into computing, was only possible due to the help of many people, all deserving of thanks. For sharing freely of their time and recollections of years past, as well as for their help in attempting to track down the original source code from Project Genie, my humble thanks go to: L Peter Deutsch, Butler Lampson, Ken Thompson, Melvin Conway, Jack Dennis, Jerry Saltzer, Tom van Vleck, Brian Randell, Wayne Lichtenberger, and Dag Spicer. Mark Riley and Elizabeth Tucker are to thank for sharing their knowledge of the early history of the term fork, and Anton Granvik has my eternal gratitude both for helping dig up obscure Latin references as well as for his oversight of my lackluster knowledge of Portuguese. While on the topic of uncovering and understanding yesteryear, Steve Russell and Peter Samson both deserve and have my thanks for shedding light on the early days of Spacewar!, and Reino Kurki-Suonio likewise for sharing his insights and stories about the history of computing in Finland. If it is indeed true that one can judge a man by the company he keeps then I owe an enormous debt of gratitude to my friends outside of academia for their continued bad judgment. Petteri, Anssi, Arno, Stefu, Markku & Hajam (the PhD slippers have been in regular use!) and the rest – thanks for all the great times! Thanks also go to my wife’s many wonderful friends (as well as wife’s-friend’s-brother: I’m looking at you, Andu). I have had the delightful marital duty of every so often spending time with Kata & Osku, Minna & Tomas, and Ann-Sofie & Bertrand (some of whom I already knew, most of whom I did not), and now consider them my friends as well. For their pleasant company, pre-opening Coffee Club, and inventing of the Humanoid, I am grateful to Mika, Ansku (aka Anastasia), and the rest of the staff, past and present, at Shaker. Heartfelt thanks go to my mother and father, Kate and Ebbe, for their support, encouragement, and especially their babysitting services! Thanks also to my godfather Konschin, who accepted the role of Bullshit Bingo Detector, tasked with keeping fashionable nonsense out of my dissertation. And to my mother-in-law Kisa and father- iii in-law Georg, for being not only great grandparents, but also great babysitting grandparents! Finally, immeasurable thanks go to my wife Yrsa, and my two wonderful sons Sebastian and Benjamin, both born during the writing of this book. Completing my PhD before they learned to say, “Daddy, are you still working on your dissertation?” served as a constant source of panicked encouragement. One of the defining characteristics of the Finnish male is his inability to express emotions like love and gratitude when sober. Another defining characteristic is his inability to stop expressing them when intoxicated. Were I to have written these acknowledgements while considerably less sober, I would have said something to the effect of: “Without you, there would be nothing. Somewhere beneath the thick layers of cynical skepticism that I define myself by, there is an unquenchable warm and cuddly glow that exists because you all are part of my life.” Helsinki, 9.1.2015 Linus Nyman iv CONTENTS 1 INTRODUCTION......................................................................................