Creare un software open source è molto di più che rendere scaricabile del codice sorgente. E' creare e alimentare una comunità fatta di utenti prima che di sviluppatori, che assieme contribuiscono a far progredire il prodotto innescando un circolo virtuoso tra le esigenze della comunità e quelle di un'azienda commerciale.
Stefano Fornari - Come creare e far crescere un progetto ed una community open source
1. Funambol & Open Source:
creare e far crescere un
progetto e una community
Better Software
Firenze 6-7 Maggio 2009
Stefano Fornari, Funambol CTO
2. Summary
Today (the project, the company, the team)
Funambol I – genesis of an open source project
Funambol II – the project, the tools, the community
Funambol III – the ecosystem
3. The company
#1 cross-platform mobile open source company
Headquartered in the US (Silicon Valley)
Engineering team in Italy
Sales presence in the US, Germany, Dubai, Beijing
http://www.funambol.com
A product company
i.e. No consulting
6. The product/1
“MobileMe” for the masses
Client and server components
Carrier grade server
Many components
Synchronization server
Push server
Inbox listener
PIM listener
10. The engineering team
Based in Pavia
Development team
Pavia, Portugal
QA team
Pavia, Palermo, Portugal
Product team
chief architect, scrum master, technical writer, release eng, office
manager
Pavia
12. The Genesis - Sync4j
Late 2002-early 2003
Motivations
Do not reinvent the wheel
Speed-up development
Speed-up visibility
Speed-up adoption
Leading the space
Think big, start small!
Finding if there was any existing project
Sharing idea with the owner
Contributing code (patches, new code)
Gaining trust and recognition
Gaining write access to the repository
Taking over project ownership and management
15. Leading the project, starting a community
Early 2004
More solid project
Attracting interest in SyncML space
Many implementations based on
Project moved to the ObjectWeb consortium
More visibility
Become a player in encouraging open source adoption in business
organizations
Changed the name from Sync4j to Funambol
Dual-licence
Funambol Open Source Project Social Contract
Making stronger and better use of community tools
CVS, mailing lists, issue trackers, communication
20. Forge: the place where the ecosystem meets
Lifecycle and
Subversion ,Task/Issue Tracking, Project Reporting
Software
Development
Structured
Mailing lists, Discussion Forums, Announcements, Document
Collaboration
Architecture of Portal, Wikis, Content Management, User Roles, Projec
Community
Participation
21. The ecosystem
Hired a community manager
Funambol Forge
http://forge.funambol.org
Code sniper
22. The ecosystem
Hired a community manager
Funambol Forge
http://forge.funambol.org
Code sniper
Phone sniper
23. The ecosystem
Community manager
Funambol Forge
http://forge.funambol.org
Conversations
http://identi.ca/group/funambol
Irc.freenode.net #funambol
Code sniper
Device sniper
Lion sniper
24. The ecosystem
Community manager Roadmap
Funambol Forge Backlog sharing
http://forge.funambol.org Development plans sharing
Code sniper Public design discussions
Device sniper Public software metrics
Lion sniper
Transparency
25. The challenge
Commercial vs Open Source
development
Commercial vs Open Source features
Openness
Shared Roadmap
Development process integration
30. Funambol development community
community projects
connectors
plug ins
OEMs
Contributors
External
developers
Funambol
developers core projects
31. Developers community
core Funambol developers
full time Funambol employees
core developers
committed developers
owners of a module
alone players or other companies' employees
contributors
3rd party developers
32. Contributors and contributions
contributors do not have write access to the code repository
freely offered from developers to the community
tracked in the bug tracking system
reviewed by core developers
accepted and integrated in the main trunk by core
developers
33. core/3rd party development
Funambol provides the framework and API
3rd parties develop independently
Funambol offers the possibility to host the project on the
Funambol forge
forge.funambol.org
community support
core developers take care of the module they are owner