gardler bosc2010 community_developmentattheasf

37
Community Development at the Apache Software Foundation BOSC 2010, Boston, July 2010 Open Bioinformatics Foundation Ross Gardler @rgardler [email protected] Vice President, Community Development The Apache Software Foundation

Upload: bosc-2010

Post on 24-Jan-2015

1.535 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Gardler bosc2010 community_developmentattheasf

Community Development at the Apache Software Foundation

BOSC 2010, Boston, July 2010Open Bioinformatics Foundation

Ross Gardler@rgardler

[email protected] President, Community Development

The Apache Software Foundation

Page 2: Gardler bosc2010 community_developmentattheasf

● History of The Apache Software Foundation● Accident or design?

● The Apache Way● Flexibility and invariants

● Scaling the foundation● From 8 to 2500+

● Surviving the future● A collection of projects or collaboration between

experts?

Page 3: Gardler bosc2010 community_developmentattheasf

History of the ASF

Page 4: Gardler bosc2010 community_developmentattheasf

Founding of Apache● Started as “Apache Group” (8 members)● Resumed work on NCSA httpd in Feb 1995

● UIUC put httpd in public domain, but essentially abandoned it

● Chose permissive licensing● Informal corporate structure, until...

Page 5: Gardler bosc2010 community_developmentattheasf

Creation of the Foundation● Incorporated with 21 members in 1999

● ~2,500 committers, 291 members, and 53 emritus members today

● Membership-based organisation● 501(c)3 publish charity status

Page 6: Gardler bosc2010 community_developmentattheasf

Apache's mission

The Apache Software Foundation provides support for the Apache community of open source

software projects. The Apache projects are characterised by a collaborative, consensus based development process, an open and

pragmatic software licence, and a desire to create high quality software that leads the way in its field.

Page 7: Gardler bosc2010 community_developmentattheasf

Apache's tagline

We are more than a group of projects sharing a server, we are a community of developers and users

Page 8: Gardler bosc2010 community_developmentattheasf

Or to put it another way...● Let developers focus on what they do best

● Code● Document (if only...)

● Foundation exists to do the rest● “The Apache Way”

● Open development vs. open source● All technical decisions about a project are made in

public (mailing lists)

Page 9: Gardler bosc2010 community_developmentattheasf

Indirect financial support● Apache does not pay for development

● Voluntary contributions only● Many (not all) developers are paid by a third-

party to work on the project● Foundation bears indirect support costs

● Infrastructure, legal, publicity, etc.

Page 10: Gardler bosc2010 community_developmentattheasf

The Apache Way

Page 11: Gardler bosc2010 community_developmentattheasf

We're a meritocracy● Everyone has a voice

● Do stuff and get a vote● Merit is not transferable between projects● Merit across multiple projects or at foundation

level earn you membership

Page 12: Gardler bosc2010 community_developmentattheasf

Decision Making● Who makes decisions?

● Community consensus via debate and code● Occasionally a vote is required

● +1, +0, -0, -1● Everyone in the community has a vote

● “binding” vote given to committers● All technical votes cast on public lists

Page 13: Gardler bosc2010 community_developmentattheasf

Rule of Lazy Consensus● Trusted parties can just get on with it

● They know when a change will be controversial● State what you intend to do and why● Start doing it● If no-one objects to the idea commit the code

● There's always code review

Page 14: Gardler bosc2010 community_developmentattheasf

Scaling the Foundation

Page 15: Gardler bosc2010 community_developmentattheasf

Growth of the Foundation● Started with just HTTP Server in 1995● The model “felt” repeatable● Today, we have over 70 top-level projects

● >30 in Incubator● It took over 15 years to get there...

● … but it wasn't smooth ...

Page 16: Gardler bosc2010 community_developmentattheasf

Jakarta “Foundation”● Jakarta: “umbrella” for all Java efforts

● Successful as a brand in its own right● Tomcat, Ant, Struts, etc.

● Started to copy the foundation org structure● “mini”-board... but problems arose...● who was responsible?

Page 17: Gardler bosc2010 community_developmentattheasf

Importance of Oversight● Jakarta issues led to a lot of navel gazing● Ultimately agreed upon an extremely flat

organisational structure● Very short communication lines● Umbrella projects are bad!

● We killed jakarta: all projects became top-level

Page 18: Gardler bosc2010 community_developmentattheasf

Board Oversight● Projects submit quarterly board reports

● By far the most important board activity● Looking for repeating community anti-patterns

● Emerging umbrella projects● Undue commercial influence● Stagnating community● Etc.

● NOT concerned with technical issues

Page 19: Gardler bosc2010 community_developmentattheasf

Foundation Structure● Top-Level Projects

● Users● Contributors● Committers● PMC

– Technical management

● Foundation● Members

– Cross-project community

● Board– Oversight

● Foundation projects

Page 20: Gardler bosc2010 community_developmentattheasf

What makes a good Apache project?

Page 21: Gardler bosc2010 community_developmentattheasf

Community● Diversity

● Minimum of 3 committers ● unrelated to one another outside the project

● Fully audited code● CLAs on file● No incompatible licences

● Practice The Apache Way–

Page 22: Gardler bosc2010 community_developmentattheasf

Generic and Reusable● Don't (just) open source a complete application● Open source the component parts

independently● Encourage communities from outside your

domain● Get enhancements to your libraries from others

● Or maybe, you can contribute to someone elses

Page 23: Gardler bosc2010 community_developmentattheasf

CC- BY-NC-SA © 2010 Bertrand Delacrataz

Page 24: Gardler bosc2010 community_developmentattheasf

CC- BY-NC-SA © 2010 Bertrand Delacrataz

Page 25: Gardler bosc2010 community_developmentattheasf

Surviving the Future

Page 26: Gardler bosc2010 community_developmentattheasf

Can the ASF scale further?● More projects mean

● Small overhead on foundation● More volunteers at foundation level

● But...● more opinions on what “The Apache Way” is● more potential for abuse of ASF brand

Page 27: Gardler bosc2010 community_developmentattheasf

Managing growing pains● Flat structures give power to “newbies”

● Low barriers to entry● No entrance “exam”● Can result in the “blind leading the blind”

● But, hierarchy is inefficient● Higher barrier to entry creates a hierarchy

● So how do we ensure “The Apache Way” survives?● Without stagnating

Page 28: Gardler bosc2010 community_developmentattheasf

The Apache Way has the answer● Peer review is core to The Apache Way

● “Just get on with it, we'll object if necessary”● Someone is watching● Objections are supported by debate

– That's how we learn● Mentoring is a small step from peer review

Page 29: Gardler bosc2010 community_developmentattheasf

The Incubator● Incubates new projects

● More specifically new project communities● Mentors guide the project team

● Teach The Apache Way

Page 30: Gardler bosc2010 community_developmentattheasf

Community Development Projecthttp//community.apache.org

● Google Summer of Code● Code only● Summer only● Students only

● Apache Mentoring Project● Any contribution● Any time● Anyone

Page 31: Gardler bosc2010 community_developmentattheasf

Why do this in foundation projects?● Let developers do what they do best: code● But some volunteers want to help newcomers

● Good for recruiting● Good for training● Good for community● Good for getting stuff done

Page 32: Gardler bosc2010 community_developmentattheasf

Summary

Page 33: Gardler bosc2010 community_developmentattheasf

Separation of Concerns● Foundation

● Brand● Infrastructure● Legal● Cross project community

● Projects● Technical issues● Project community

Page 34: Gardler bosc2010 community_developmentattheasf

No leaders, just doers● Give decision making power to the doers● Use lazy consensus to avoid “management by

committee”● Anyone with sufficient merit can veto

● But they should never need to● Consensus through discussion

Page 35: Gardler bosc2010 community_developmentattheasf

Generalise● Don't just open source a complete application● Open source components of the application● Most applications address a niche

● You are not unusual in this

Page 36: Gardler bosc2010 community_developmentattheasf

Educate● Apache projects are successful because of

“The Apache Way”● There are other ways

● But not in Apache● Better to ensure newcomers understand

● Incubation for project communities● Mentoring for individuals

Page 37: Gardler bosc2010 community_developmentattheasf

Questions