You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As part of my PhD research on code authorship, we calculated the Truck Factor (TF) of some popular GitHub repositories.
As you probably know, the Truck (or Bus) Factor designates the minimal number of developers that have to be hit by a truck (or quit) before a project is incapacitated. In our work, we consider that a system is in trouble if more than 50% of its files become orphan (i.e., without a main author).
a) Overall, yes I have been the main developer. However, the community has become actively involved, with some such as @akarnokd now having contributed not only significant amounts of code, but very critical parts of code. See https://github.com/ReactiveX/RxJava/graphs/contributors for statistics that are more representative than just who has touched a file.
b) 6ish months ago, yes this concerned me. Now, not as much. There are now more committers and other community members than just me who are actively maintaining the project even when I am absent. Currently I am still the bottleneck for releases and major changes, but I am actively working towards having others who can fulfill that role in my place as well. I hope that within the next 6 months I get to a point where I have in place enough leadership on the project that I could step away and it would be okay. For example, since Netflix sponsors the project, our goal is to have another Netflix engineer besides myself who can support and if needed, replace me.
c) There are a few things:
ReactiveX is not just a Java project, but a polyglot pattern of development, so the skills, mindshare and interest transfer across languages
active community on Github, Google Groups, Twitter, conference talks
solid documentation in both the Wiki and at http://reactivex.io that is always being improved
paid technical writer (@DavidMGross) sponsored by Netflix to maintain the documentation
significant usage of RxJava in critical systems at Netflix, so for the foreseeable future, even if I were to leave the project, others would step in to maintain the project
Hope this provides context on my thinking on the topic. It is definitely something that I have been thinking about over this past year, have started making changes to account for, and I am working on further improvements to the situation.
As part of my PhD research on code authorship, we calculated the Truck Factor (TF) of some popular GitHub repositories.
As you probably know, the Truck (or Bus) Factor designates the minimal number of developers that have to be hit by a truck (or quit) before a project is incapacitated. In our work, we consider that a system is in trouble if more than 50% of its files become orphan (i.e., without a main author).
More details on our work in this preprint: https://peerj.com/preprints/1233
We calculated the TF for RxJava and obtained a value of 1.
The developer responsible for this TF is:
Ben Christensen - author of 91% of the files
To validate our results, we would like to ask RxJava developers the following three brief questions:
(a) Do you agree that the listed developer is the main developer of RxJava?
(b) Do you agree that RxJava will be in trouble if the listed developer leave the project (e.g., if he wins in the lottery, to be less morbid)?
(c) Does RxJava have some characteristics that would attenuate the loss of the listed developer (e.g., detailed documentation)?
Thanks in advance for your collaboration,
Guilherme Avelino
PhD Student
Applied Software Engineering Group (ASERG)
UFMG, Brazil
http://aserg.labsoft.dcc.ufmg.br/
The text was updated successfully, but these errors were encountered: