{"action":"created","issue":{"url":"https://api.github.com/repos/ReactiveX/RxJava/issues/3133","labels_url":"https://api.github.com/repos/ReactiveX/RxJava/issues/3133/labels{/name}","comments_url":"https://api.github.com/repos/ReactiveX/RxJava/issues/3133/comments","events_url":"https://api.github.com/repos/ReactiveX/RxJava/issues/3133/events","html_url":"https://github.com/ReactiveX/RxJava/issues/3133","id":99420345,"number":3133,"title":"RxJava Truck Factor","user":{"login":"gavelino","id":666210,"avatar_url":"https://avatars.githubusercontent.com/u/666210?v=3","gravatar_id":"","url":"https://api.github.com/users/gavelino","html_url":"https://github.com/gavelino","followers_url":"https://api.github.com/users/gavelino/followers","following_url":"https://api.github.com/users/gavelino/following{/other_user}","gists_url":"https://api.github.com/users/gavelino/gists{/gist_id}","starred_url":"https://api.github.com/users/gavelino/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gavelino/subscriptions","organizations_url":"https://api.github.com/users/gavelino/orgs","repos_url":"https://api.github.com/users/gavelino/repos","events_url":"https://api.github.com/users/gavelino/events{/privacy}","received_events_url":"https://api.github.com/users/gavelino/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ReactiveX/RxJava/labels/Question","name":"Question","color":"cc317c"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-08-06T11:59:18Z","updated_at":"2015-08-07T03:19:07Z","closed_at":null,"body":"As part of my PhD research on code authorship, we calculated the Truck Factor (TF) of some popular GitHub repositories.\r\n\r\nAs you probably know, the [Truck (or Bus) Factor](https://en.wikipedia.org/wiki/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).\r\n\r\nMore details on our work in this preprint: https://peerj.com/preprints/1233\r\n\r\nWe calculated the TF for **RxJava** and obtained a value of **1**.\r\n\r\nThe developer responsible for this TF is:\r\n\r\nBen Christensen - author of 91% of the files \r\n\r\nTo validate our results, we would like to ask **RxJava** developers the following three brief questions:\r\n\r\n(a) Do you agree that the listed developer is the main developer of **RxJava**?\r\n\r\n(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)?\r\n\r\n(c) Does **RxJava** have some characteristics that would attenuate the loss of the listed developer (e.g., detailed documentation)?\r\n\r\nThanks in advance for your collaboration,\r\n\r\nGuilherme Avelino\r\nPhD Student\r\nApplied Software Engineering Group (ASERG)\r\nUFMG, Brazil\r\nhttp://aserg.labsoft.dcc.ufmg.br/"},"comment":{"url":"https://api.github.com/repos/ReactiveX/RxJava/issues/comments/128577740","html_url":"https://github.com/ReactiveX/RxJava/issues/3133#issuecomment-128577740","issue_url":"https://api.github.com/repos/ReactiveX/RxJava/issues/3133","id":128577740,"user":{"login":"benjchristensen","id":813492,"avatar_url":"https://avatars.githubusercontent.com/u/813492?v=3","gravatar_id":"","url":"https://api.github.com/users/benjchristensen","html_url":"https://github.com/benjchristensen","followers_url":"https://api.github.com/users/benjchristensen/followers","following_url":"https://api.github.com/users/benjchristensen/following{/other_user}","gists_url":"https://api.github.com/users/benjchristensen/gists{/gist_id}","starred_url":"https://api.github.com/users/benjchristensen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benjchristensen/subscriptions","organizations_url":"https://api.github.com/users/benjchristensen/orgs","repos_url":"https://api.github.com/users/benjchristensen/repos","events_url":"https://api.github.com/users/benjchristensen/events{/privacy}","received_events_url":"https://api.github.com/users/benjchristensen/received_events","type":"User","site_admin":false},"created_at":"2015-08-07T03:19:07Z","updated_at":"2015-08-07T03:19:07Z","body":"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. \r\n\r\nb) 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. \r\n\r\nc) There are a few things:\r\n\r\n- ReactiveX is not just a Java project, but a polyglot pattern of development, so the skills, mindshare and interest transfer across languages\r\n- active community on Github, Google Groups, Twitter, conference talks\r\n- solid documentation in both the Wiki and at http://reactivex.io that is always being improved\r\n- paid technical writer (@DavidMGross) sponsored by Netflix to maintain the documentation\r\n- 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\r\n\r\nHope 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. "}}