We've seen how to gather some people and create a community (at least that's the quick tutorial how it worked for us in Greece).
The product is cool (any product) but here we have people. They should know WHY they join a community as volunteers. Is it because they want to help FLOSS to make the world a better place? Is it because it is Fun? Is it because they like the pros that open source provides? Is it because they like to help other people? Find out WHY people want to join-form a community.
The key to increase the number of the members is to attend to events. Here a quick tutorial how to do that. The best possible scenario is a developer to come to your booth and join the team. But this is 1% possible to happen (maybe less). Usually developers we're searching, they have their favorite distro/project and they don't change so easy.
The best thing is to join events where you can find end users (end users = users they're computer science students where they focus on windows, users that their computer being used for facebook/twitter/office suite). Why? Because those users can do some work that the developers hate. What's that?
0. Junior Jobs. Write a junior jobs list where someone can find exactly what to do and how to do it. The list could have the following.
1. Report bugs to bugzilla. So developers can fix it (of course developers have to be polite and help end users to provide possible broken data etc).
2. Documentation. Developers just hate to write documentation.
3. Translation. Usually developers use some "strange" language. So if someone asks you, please be polite and reply.
4. Promotion. Everyone call it marketing. The term marketing seems that the distro/project earns money out of promotion. Maybe the best term is engagement. This is needed because if it's the best distro/project among others, how more potential users will learn about it? And if it's the best, if no one uses it, then it's useless.
Usually end users join the community not because of the product but because of the people (remember to find your WHY people should join the community). They stay in the community ONLY because of the people. If he/she doesn't feel good, then he/she leaves. Unfortunately community is a number of volunteers. There's not someone that orders them to do something. If there's someone that will present the result of the community as his/hers, then people will leave and community terminates.
Sometimes, members expect something in return. If there's a company that supports your open source project, then maybe they expect material or money. It's not like that because as volunteer you're doing your hobby. If your hobby become your job later, that's the best for you.
So the question is how to keep the community together? The answer is you can't.
If everything is ideally, everyone grow. The time they spend as volunteers is limited. They have personal life. They have careers.
So what's the workaround? Find more people before your time will become limited.
But why the article has a title:
From end user to developer
Well, as I mentioned before, it's impossible a developer from Fedora to decide to do development only for openSUSE. So every project has to "develop" developers. How to do that? Volunteers in the community they join as end users. They like the various aspects of the project and want to search more. They can find a way how to contribute on bug fixing (there should be an end user to report a bug). Then they learn a programming language and they learn also how to package. So they become developers. Maybe the community is -1 person (because he/she might be tired-boring to travel and promote) but the project is +1 developer.
Develop developers. Help end users to grow.