building a great team in open source - open agile 2011

Post on 06-May-2015

2.540 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Lessons I learned over the last 2 years as an open source contributor at The Apache Software Foundation.

TRANSCRIPT

Building A Great Team Around Open Source Projects

@ Open Agile 2011

asavu @ apache.org

Andrei Savu

Started by doing php, html, css & js ... ... moved to python, jvm, distributed systems, large scale deployments & open source worked at Facebook and Adobe

See more on LinkedIn

Past

Software Engineer @ cloudsoftcorp.com

● Apache Whirr● jclouds

Apache Whirr PMC Member @ ASF

Now

over 2+ years at The Apache Software Foundation

... lessons learned

community engagement

software development

distributed teams

Note: Strong Bias Towards The Apache Software Foundation

* not the only way of doing open source

Warning: I am not a lawyer* seek third party assistance as required

let's define some terms

what is open source?

a software license that gives you certain freedoms

#1 free distribution

#2 access to source code

#3 integrity of author's code

#4 prevents discrimination

#5 technology neutral

a license shapes the community and the code

ASL vs. GPL

the Apache License asks for credit attribution

derivative work can re-license

no warranty

may ask to credit original authors

~ 64 OSI Approved Licenses

talk to your lawyer!

What is The Apache Software Foundation?

Community-led development since 1999

Apache Foo as trademark

provides protection for the project identity

not simply a group of projects sharing a server, but rather a community of

developers and users

projects are defined by ...

collaborative consensus based processes

an open, pragmatic software license

a desire to create high quality software

the pragmatic perspective

why contribute back?

why use open source?

as a way to reduce your costs

use to leverage existing tested code

there is no such thing as perfect software

contribute to minimize maintainance costs

why develop as open source?

starting from scratch

self sustainable

start a fire!

maintain - support - extend

by building a community

Do we build advanced products by accident !?

20 things to keep in mind

see communityovercode.com

#1 Community over code

#2 Team = Community

#3 It's about what you do. Those who do, decide.

#4 Lead by example

#5 Be the janitor!

#5 Constantly ask for feedback

#6 Release early, release often

#7 100% transparent development process

email lists, IRC, issue tracking, wiki

#8 Discuss in the open

public repository, CI server

#9 Develop in the open

#10 Be responsive!

#11 Be diplomatic!

#12 Enforce meritocracy

#13 Decide by consensus

#14 Responsible Oversight

#15 People not Companies

#16 Seek an active nucleus

50% of changes made by 2.5% of the developers

Linux 2.6.20 - see lwn.net

#17 Show that you care!

#18 Keep things consistent

#19 Encourage modular design

#20 Be grateful

Andrei Savu / asavu@apache.org

thanks!

top related