- What happens if the main contributors of an open source project die?
- Are there any guarantee that someone else takes that work?
- Do project hosting services handle this situation?
- Are there any systems that the related knowledge of main contributors inherited to new contributor candidates?
- And has this ever happened, are there any examples you know?
I'm playing with the wording in your question a little bit, but don't change it up because it will likely make this entire answer invalid.
Anyways, let's break down the question by well... question:
What happens if the main contributors of an open source project die?
Well, the project will die down. Likely, a lot. The key part here is that the core part of the team, the project maintainers, will still be around. In that case, there is still the leadership that a project needs in order for it to continue on. If a frequent contributors becomes inactive, or passes away, contributions will not stop, the frequency in which they come in will diminish like the snap of a finger.
Are there any guarantee that someone else takes that work?
I view many open source projects as having an aim (to write good software), as well as a great collaborative tool. Generally, many open source projects have multiple maintainers, as well as multiple collaborators. There will still be people around that will still be willing to contribute. They may not take the full job, but they may step up a gear or two.
What's best however, is the fact that anyone can take an existing open source project, clone it, and then make it their own. This is one of the many goals of open source: to create freedom. Take the Python module requests for example:
Her Majesty’s Government, Amazon, Google, Twilio, Runscope, Mozilla, Heroku, PayPal, NPR, Obama for America, Transifex, Native Instruments, The Washington Post, Twitter, SoundCloud, Kippt, Readability, Sony, and Federal US Institutions that prefer to be unnamed use Requests internally. It has been downloaded over 40,000,000 times from PyPI.
That's a lot of people. But what is neat about this is that I can take this project, clone it, and it will be mine. Anyone can do this.
There's no guarantee that someone else will take the work, but it's quite likely. It's happened many times before, and you will likely find people in this community that have done this before (taken dead projects, and turned them into vibrant, active ones).
Are there any systems that the related knowledge of main contributors inherited to new contributor candidates?
Good projects will likely have many issues, and feature-requests that have been submitted over the course of its life. This is a good system to track how a project has moved on over the course of many years, and is normally more than enough knowledge to continue a project. There's also documentation, and many projects will likely have a set of goals, and objectives.
And has this ever happened, are there any examples you know?
I'm sure there are plenty of examples. You may be able to find a few!
The beauty of Open Source projects is that they are a collaborative effort: anyone can contribute, anyone can make it their own. As a sort of freelance/intermediate programmer myself, I like open source, because it's also a learning experience, where I gain experience in managing projects, working with others, and most importantly, learning to code. Have fun :D
A healthy, active project might suffer if a central figure steps down (or leaves for whatever reason), but other collabotarors should be able to carry on.
Yes, this has happened. Multiple times. E.g. maxima lost it's lead developer and champion a while back, but carries on. Dungeon Crawl Stone Soup was abandoned by the original developers, and taken over by the current team.If you rummage around the various GNU projects (only picked because there are many, long lived projects under that umbrella) you will see that lead developers have changed, often multiple times. Not always peacefully, mind you. They even ask for interested parties to take over maintainership of orphaned packages. git's development was started by Linus Torvalds, who passed handling of the project to Junio Hamano.