Stefano Fornari - Come creare e far crescere un progetto ed una community open source

Post on 06-Dec-2014

2.090 views 1 download

description

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.

Transcript of Stefano Fornari - Come creare e far crescere un progetto ed una community open source

Funambol & Open Source:creare e far crescere un progetto e una community

Better SoftwareFirenze 6-7 Maggio 2009Stefano Fornari, Funambol CTO

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

The company

#1 cross-platform mobile open source companyHeadquartered in the US (Silicon Valley)Engineering team in ItalySales presence in the US, Germany, Dubai, Beijinghttp://www.funambol.comA product company

i.e. No consulting

Commercial deployment

Industry recognition

The product/1

“MobileMe” for the massesClient and server componentsCarrier grade serverMany componentsSynchronization serverPush serverInbox listenerPIM listener

The product/2

The product/3

Multi platform clientsWindowsMobile (smartphone & pocket PC)Win32/fat clientsSymbianJ2MEJ2SEBlackBerryiPhoneAndroidMobile/Desktop linux

An online portal (my.funambol.com)

The product/4

LicensingDual licenseAGPL 3.0/commercial

The engineering team

Based in PaviaDevelopment teamPavia, Portugal

QA teamPavia, Palermo, Portugal

Product teamchief architect, scrum master, technical writer, release eng, office managerPavia

Funambol I

The Genesis - Sync4j

Late 2002-early 2003Motivations

Do not reinvent the wheelSpeed-up developmentSpeed-up visibilitySpeed-up adoptionLeading the space

Think big, start small!Finding if there was any existing projectSharing idea with the ownerContributing code (patches, new code)Gaining trust and recognitionGaining write access to the repositoryTaking over project ownership and management

<250

250 – 2,5002,500 – 10,000

10,000 – 25,00025,000 – 50,000

>50,000

Funambol 2.0

Leading the project, starting a community

Early 2004More solid project

Attracting interest in SyncML spaceMany implementations based on

Project moved to the ObjectWeb consortiumMore visibilityBecome a player in encouraging open source adoption in business

organizations

Changed the name from Sync4j to FunambolDual-licenceFunambol Open Source Project Social ContractMaking stronger and better use of community tools

CVS, mailing lists, issue trackers, communication

Funambol 3.0

The ecosystem

Users

Coredevelopers

3rd partydevelopers

Mobile users System admins

Funambol developers External developers

Visible Stealth

The ecosystem

Hired a community manager

Stefano Maffulli

The ecosystem

Hired a community managerFunambol Forge

http://forge.funambol.org

Forge: the place where the ecosystem meets

Lifecycle and Software

Development

StructuredCollaboration

Architecture ofParticipation

Subversion ,Task/Issue Tracking, Project Reporting

Mailing lists, Discussion Forums, Announcements, Documents & Files

Community Portal, Wikis, Content Management, User Roles, Project Workspaces

The ecosystem

Hired a community managerFunambol Forge

http://forge.funambol.org

Code sniper

The ecosystem

Hired a community managerFunambol Forge

http://forge.funambol.org

Code sniperPhone sniper

The ecosystem

Community managerFunambol Forge

http://forge.funambol.org

Conversationshttp://identi.ca/group/funambolIrc.freenode.net #funambol

Code sniperDevice sniperLion sniper

The ecosystem

Community managerFunambol Forge

http://forge.funambol.org

Code sniperDevice sniperLion sniperTransparency

RoadmapBacklog sharingDevelopment plans sharingPublic design discussionsPublic software metrics

The challenge

Commercial vs Open Source development

Commercial vs Open Source features Openness Shared Roadmap Development process integration

Questions?

The following slides are for further discussions

Open source development

Coreproject

Contributions

Funambol development community

Contributors

Externaldevelopers

Funamboldevelopers

Funambol development community

Contributors

Externaldevelopers

Funamboldevelopers core projects

community projects connectors

plug ins OEMs

Developers community

core Funambol developersfull time Funambol employees

core developerscommitted developersowners of a modulealone players or other companies' employees

contributors3rd party developers

Contributors and contributions

contributors do not have write access to the code repositoryfreely offered from developers to the communitytracked in the bug tracking systemreviewed by core developersaccepted and integrated in the main trunk by core developers

core/3rd party development

Funambol provides the framework and API3rd parties develop independentlyFunambol offers the possibility to host the project on the Funambol forgeforge.funambol.org

community supportcore developers take care of the module they are owner