These are the slides of team 3 at the Community Leadership Summit in Calistoga (at the Open Source Think Tank). Our group discussed the topic "Developer Growth", answering questions such as: How will you attract new developers to participate? How will you retain developers so they become significant and sustained contributors? How will you attract new demographic of developers, outside of the current industry? How will you encourage existing partner organizations to contribute developers to the project? How will you deal with organizational requirements (e.g. NDAs, copyright assignment, re-licensing requirements, etc)? How will you keep developers motivated and feeling they have a sense of personal influence on the project? How will you avoid entitlement?
2. ORGANIC ATTRACTION
Make sure your product takes away a pain
• People usually don’t contribute to products they don’t use
• Corporations don’t adopt code they don’t need
Provide good tooling:
• Guidance: e.g. Mozilla’s open TODO list
• StackOverflow
• Manuals (people aren’t going to use your product if they don’t know how)
This works best if you create a niche: FOCUS!!!
• Be the leader in your field of expertise
3. Go to the place to be for developers
Engage
people!
4. Provide free documentation
By example tutorial base on the
many code samples written in
answer to questions.
TRAIN PEOPLE TO USE YOUR
PRODUCT AND THEY WON’T GO
LOOKING FOR ANOTHER SOLUTION
5. Write books (or have them written)
1st Edition: 2006
• 11.500 copies
2nd Edition: 2010
• 7.500 copies
11. Engage new demographics
• Port to other technologies; interoperability
– E.g. Java to C#
– Allow using a C library in PHP
• Write white papers for specific verticals
– Financial sector, government,…
• Translate manuals in German, French,…
13. Recruit / Share the wealth
• Rewards that make people more involved
• Invite to a conference for free
• On payroll
• Use different roles: answering questions, first commits, code
reviewing
• Make sure there’s some redundancy: e.g. code reviewer can step
in when a developer disappears
• Freelance assignments
• For third parties
• For product enhancements
14. Recruit / Share the wealth
• Create win-win partnerships
• Thou shalt not compete with thy customer. Allow
integrators to make money
• NDAs:
– Don’t ask people to sign an NDA
– Sign an NDA when people ask you to
• Make sure that developers changing jobs continue
using the product
15. Responsibility
• Increase / reduce responsibility
– People deserve / earn responsibility
– Make sure that the responsibility isn’t crushing: due to
whatever reason somebody can drop out for a while
• Responsibility towards the user
– Developers can get carried away and create code nobody
will ever need
– Corporations can get carried away making it the user
impossible to use the product
16. WHEN IN CALISTOGA
Why is there grass in-between
the vines?
The grass is there to improve the quality of the wine.
It protects against weed, erosion, diseases,...
Moreover, competition from grasses is also a natural
and efficient tool to control yield. Reduction of grape
yield is necessary to increase sugar content (higher
alcohol potential) and content of favorable flavors.
Companies need communities for
the same reason.