building a great team in open source - open agile 2011

65
Building A Great Team Around Open Source Projects @ Open Agile 2011

Upload: andrei-savu

Post on 06-May-2015

2.540 views

Category:

Technology


2 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Building a Great Team in Open Source - Open Agile 2011

Building A Great Team Around Open Source Projects

@ Open Agile 2011

Page 2: Building a Great Team in Open Source - Open Agile 2011

asavu @ apache.org

Andrei Savu

Page 3: Building a Great Team in Open Source - Open Agile 2011

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

Page 4: Building a Great Team in Open Source - Open Agile 2011

Software Engineer @ cloudsoftcorp.com

● Apache Whirr● jclouds

Apache Whirr PMC Member @ ASF

Now

Page 5: Building a Great Team in Open Source - Open Agile 2011

over 2+ years at The Apache Software Foundation

... lessons learned

Page 6: Building a Great Team in Open Source - Open Agile 2011

community engagement

Page 7: Building a Great Team in Open Source - Open Agile 2011

software development

Page 8: Building a Great Team in Open Source - Open Agile 2011

distributed teams

Page 9: Building a Great Team in Open Source - Open Agile 2011

Note: Strong Bias Towards The Apache Software Foundation

* not the only way of doing open source

Page 10: Building a Great Team in Open Source - Open Agile 2011

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

Page 11: Building a Great Team in Open Source - Open Agile 2011

let's define some terms

Page 12: Building a Great Team in Open Source - Open Agile 2011

what is open source?

Page 13: Building a Great Team in Open Source - Open Agile 2011

a software license that gives you certain freedoms

Page 14: Building a Great Team in Open Source - Open Agile 2011

#1 free distribution

Page 15: Building a Great Team in Open Source - Open Agile 2011

#2 access to source code

Page 16: Building a Great Team in Open Source - Open Agile 2011

#3 integrity of author's code

Page 17: Building a Great Team in Open Source - Open Agile 2011

#4 prevents discrimination

Page 18: Building a Great Team in Open Source - Open Agile 2011

#5 technology neutral

Page 19: Building a Great Team in Open Source - Open Agile 2011

a license shapes the community and the code

Page 20: Building a Great Team in Open Source - Open Agile 2011

ASL vs. GPL

Page 21: Building a Great Team in Open Source - Open Agile 2011

the Apache License asks for credit attribution

Page 22: Building a Great Team in Open Source - Open Agile 2011

derivative work can re-license

Page 23: Building a Great Team in Open Source - Open Agile 2011

no warranty

Page 24: Building a Great Team in Open Source - Open Agile 2011

may ask to credit original authors

Page 25: Building a Great Team in Open Source - Open Agile 2011

~ 64 OSI Approved Licenses

talk to your lawyer!

Page 26: Building a Great Team in Open Source - Open Agile 2011

What is The Apache Software Foundation?

Page 27: Building a Great Team in Open Source - Open Agile 2011

Community-led development since 1999

Page 28: Building a Great Team in Open Source - Open Agile 2011

Apache Foo as trademark

provides protection for the project identity

Page 29: Building a Great Team in Open Source - Open Agile 2011

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

developers and users

Page 30: Building a Great Team in Open Source - Open Agile 2011

projects are defined by ...

Page 31: Building a Great Team in Open Source - Open Agile 2011

collaborative consensus based processes

Page 32: Building a Great Team in Open Source - Open Agile 2011

an open, pragmatic software license

Page 33: Building a Great Team in Open Source - Open Agile 2011

a desire to create high quality software

Page 34: Building a Great Team in Open Source - Open Agile 2011

the pragmatic perspective

Page 35: Building a Great Team in Open Source - Open Agile 2011

why contribute back?

why use open source?

Page 36: Building a Great Team in Open Source - Open Agile 2011

as a way to reduce your costs

use to leverage existing tested code

Page 37: Building a Great Team in Open Source - Open Agile 2011

there is no such thing as perfect software

contribute to minimize maintainance costs

Page 38: Building a Great Team in Open Source - Open Agile 2011

why develop as open source?

starting from scratch

Page 39: Building a Great Team in Open Source - Open Agile 2011

self sustainable

start a fire!

Page 40: Building a Great Team in Open Source - Open Agile 2011

maintain - support - extend

by building a community

Page 41: Building a Great Team in Open Source - Open Agile 2011

Do we build advanced products by accident !?

Page 42: Building a Great Team in Open Source - Open Agile 2011

20 things to keep in mind

Page 43: Building a Great Team in Open Source - Open Agile 2011

see communityovercode.com

#1 Community over code

Page 44: Building a Great Team in Open Source - Open Agile 2011

#2 Team = Community

Page 45: Building a Great Team in Open Source - Open Agile 2011

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

Page 46: Building a Great Team in Open Source - Open Agile 2011

#4 Lead by example

Page 47: Building a Great Team in Open Source - Open Agile 2011

#5 Be the janitor!

Page 48: Building a Great Team in Open Source - Open Agile 2011

#5 Constantly ask for feedback

Page 49: Building a Great Team in Open Source - Open Agile 2011

#6 Release early, release often

Page 50: Building a Great Team in Open Source - Open Agile 2011

#7 100% transparent development process

Page 51: Building a Great Team in Open Source - Open Agile 2011

email lists, IRC, issue tracking, wiki

#8 Discuss in the open

Page 52: Building a Great Team in Open Source - Open Agile 2011

public repository, CI server

#9 Develop in the open

Page 53: Building a Great Team in Open Source - Open Agile 2011

#10 Be responsive!

Page 54: Building a Great Team in Open Source - Open Agile 2011

#11 Be diplomatic!

Page 55: Building a Great Team in Open Source - Open Agile 2011

#12 Enforce meritocracy

Page 56: Building a Great Team in Open Source - Open Agile 2011

#13 Decide by consensus

Page 57: Building a Great Team in Open Source - Open Agile 2011

#14 Responsible Oversight

Page 58: Building a Great Team in Open Source - Open Agile 2011

#15 People not Companies

Page 59: Building a Great Team in Open Source - Open Agile 2011

#16 Seek an active nucleus

Page 60: Building a Great Team in Open Source - Open Agile 2011

50% of changes made by 2.5% of the developers

Linux 2.6.20 - see lwn.net

Page 61: Building a Great Team in Open Source - Open Agile 2011

#17 Show that you care!

Page 62: Building a Great Team in Open Source - Open Agile 2011

#18 Keep things consistent

Page 63: Building a Great Team in Open Source - Open Agile 2011

#19 Encourage modular design

Page 64: Building a Great Team in Open Source - Open Agile 2011

#20 Be grateful

Page 65: Building a Great Team in Open Source - Open Agile 2011

Andrei Savu / [email protected]

thanks!