![Page 1: How Your Company Can Benefit from Open Sourcing Code · 2007-07-31 · 4. Consensus-Based Development • Pros: – Continuously increasing PR benefits – Long-term, sustainable](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed7de79b86804226e05d9c4/html5/thumbnails/1.jpg)
Ben Collins-Sussman & Brian W. FitzpatrickGoogle
OSCON: July 27, 2007
What’s In It For Me?How Your Company Can Benefit
from Open Sourcing Code
![Page 2: How Your Company Can Benefit from Open Sourcing Code · 2007-07-31 · 4. Consensus-Based Development • Pros: – Continuously increasing PR benefits – Long-term, sustainable](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed7de79b86804226e05d9c4/html5/thumbnails/2.jpg)
Overview• These are our opinions• Target audience: corporations and folks in them• Different strategies for open sourcing code• Pros and cons of each• Prescribe best practices
![Page 3: How Your Company Can Benefit from Open Sourcing Code · 2007-07-31 · 4. Consensus-Based Development • Pros: – Continuously increasing PR benefits – Long-term, sustainable](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed7de79b86804226e05d9c4/html5/thumbnails/3.jpg)
Why Go Open Source?
• Some sort of net gain• Create better software• Create a real relationship with your users• Choose your goals– PR?– Goodwill from techies?– Free labor?– Change the industry, take over world?
![Page 4: How Your Company Can Benefit from Open Sourcing Code · 2007-07-31 · 4. Consensus-Based Development • Pros: – Continuously increasing PR benefits – Long-term, sustainable](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed7de79b86804226e05d9c4/html5/thumbnails/4.jpg)
Measuring “Health” of Open Source
• Lots of usage (not users!)• A number of active developers• Constant improvements and releases• Remember: no community == dead software
![Page 5: How Your Company Can Benefit from Open Sourcing Code · 2007-07-31 · 4. Consensus-Based Development • Pros: – Continuously increasing PR benefits – Long-term, sustainable](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed7de79b86804226e05d9c4/html5/thumbnails/5.jpg)
Open Source Strategies
![Page 6: How Your Company Can Benefit from Open Sourcing Code · 2007-07-31 · 4. Consensus-Based Development • Pros: – Continuously increasing PR benefits – Long-term, sustainable](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed7de79b86804226e05d9c4/html5/thumbnails/6.jpg)
0. “Fake Open Source” Approach
• “Open Source” your code, but don’t use an OSI-approved license• Pros:– PR splash– Effortless• Cons:– You’re not open source– You’re missing the benefits– Open Source zealots may burn your house down
![Page 7: How Your Company Can Benefit from Open Sourcing Code · 2007-07-31 · 4. Consensus-Based Development • Pros: – Continuously increasing PR benefits – Long-term, sustainable](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed7de79b86804226e05d9c4/html5/thumbnails/7.jpg)
1. “Throw Code Over Wall” Approach
• Post tarball of the code, then walk away.• Pros:– PR splash (maybe)– Effortless• Cons:– No community to keep software alive (bit-rot)– Real techies give little cred
![Page 8: How Your Company Can Benefit from Open Sourcing Code · 2007-07-31 · 4. Consensus-Based Development • Pros: – Continuously increasing PR benefits – Long-term, sustainable](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed7de79b86804226e05d9c4/html5/thumbnails/8.jpg)
2. Develop Internally, Post Externally
• In-house development, public repository• Pros:– PR splash– Occasional volunteers can send patches– A bit of cred from real techies• Cons:– Community & momentum is wholly internal– External community likely to form elsewhere– Attracts only “follower” developers. (No bus keys!)– General distrust: only care about corporate agenda
![Page 9: How Your Company Can Benefit from Open Sourcing Code · 2007-07-31 · 4. Consensus-Based Development • Pros: – Continuously increasing PR benefits – Long-term, sustainable](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed7de79b86804226e05d9c4/html5/thumbnails/9.jpg)
3. Open Monarchy
• Public discussion, public repository• Committers are mostly employees, occasionally a volunteer is given the keys• One entity (corporation, lead developer) “rules” project and makes all decisions
![Page 10: How Your Company Can Benefit from Open Sourcing Code · 2007-07-31 · 4. Consensus-Based Development • Pros: – Continuously increasing PR benefits – Long-term, sustainable](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed7de79b86804226e05d9c4/html5/thumbnails/10.jpg)
3. Open Monarchy
• Pros:– PR splash– Even more cred from techies– Better quality volunteers; they can participate in
discussions, sometimes commit directly– Results in better software• Cons:– Community not long-term sustainable– High risk of angry revolutions and forking– General distrust: only care about corporate agenda
![Page 11: How Your Company Can Benefit from Open Sourcing Code · 2007-07-31 · 4. Consensus-Based Development • Pros: – Continuously increasing PR benefits – Long-term, sustainable](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed7de79b86804226e05d9c4/html5/thumbnails/11.jpg)
4. Consensus-Based Development
• Almost everything is public• Decisions are based on consensus of the committers• Commit privilege must be earned by everyone
![Page 12: How Your Company Can Benefit from Open Sourcing Code · 2007-07-31 · 4. Consensus-Based Development • Pros: – Continuously increasing PR benefits – Long-term, sustainable](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed7de79b86804226e05d9c4/html5/thumbnails/12.jpg)
4. Consensus-Based Development• Pros:– Continuously increasing PR benefits– Long-term, sustainable communities– Complete techie cred– High quality volunteers (full bus keys)– Trust from other companies and participants– Results in even better software• Cons:– Little short-term benefit– In the short-term, project agenda must come first– Hard Work– You need to hire strong leaders
![Page 13: How Your Company Can Benefit from Open Sourcing Code · 2007-07-31 · 4. Consensus-Based Development • Pros: – Continuously increasing PR benefits – Long-term, sustainable](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed7de79b86804226e05d9c4/html5/thumbnails/13.jpg)
Why We Think This Is Best• Traditionally companies isolate developers from users– “They can be more productive”• Results in better software• If done right, internal developers will see the benefits
![Page 14: How Your Company Can Benefit from Open Sourcing Code · 2007-07-31 · 4. Consensus-Based Development • Pros: – Continuously increasing PR benefits – Long-term, sustainable](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed7de79b86804226e05d9c4/html5/thumbnails/14.jpg)
BUT BUT... I Don’t Want To Lose Control!
• “Strangers will force me to do things!”
• “Nasty people will hijack the project!”
![Page 15: How Your Company Can Benefit from Open Sourcing Code · 2007-07-31 · 4. Consensus-Based Development • Pros: – Continuously increasing PR benefits – Long-term, sustainable](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed7de79b86804226e05d9c4/html5/thumbnails/15.jpg)
Answer: Craft your Community
• Choose a well-scoped mission• Have your devs establish a strong, respectful culture • Set the discussion tone carefully• Have a well-defined process for making decisions•Watch our ‘poisonous people’ talk ;-)
• Remember, you can set the stage, but it takes effort
![Page 16: How Your Company Can Benefit from Open Sourcing Code · 2007-07-31 · 4. Consensus-Based Development • Pros: – Continuously increasing PR benefits – Long-term, sustainable](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed7de79b86804226e05d9c4/html5/thumbnails/16.jpg)
What about Forking?
• Extremely rare in consensus-based development•Majority always moves in one direction• Really hard for a hive to swarm without at least 50% of the bees
![Page 17: How Your Company Can Benefit from Open Sourcing Code · 2007-07-31 · 4. Consensus-Based Development • Pros: – Continuously increasing PR benefits – Long-term, sustainable](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed7de79b86804226e05d9c4/html5/thumbnails/17.jpg)
How To Builda Consensus-BasedOpen Source Project
![Page 18: How Your Company Can Benefit from Open Sourcing Code · 2007-07-31 · 4. Consensus-Based Development • Pros: – Continuously increasing PR benefits – Long-term, sustainable](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed7de79b86804226e05d9c4/html5/thumbnails/18.jpg)
1. Come up with a Goal.• Something useful• Something people can be excited about•Might only benefit your company indirectly, or in the long-term
• Examples: Collabnet, Google.
![Page 19: How Your Company Can Benefit from Open Sourcing Code · 2007-07-31 · 4. Consensus-Based Development • Pros: – Continuously increasing PR benefits – Long-term, sustainable](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed7de79b86804226e05d9c4/html5/thumbnails/19.jpg)
2. Write a Mission Statement
• Be very careful about scoping– too broad: attracts the wrong contributors– too narrow: attracts no interest at all• Non-goals are important
• Examples: Subversion, GWT
![Page 20: How Your Company Can Benefit from Open Sourcing Code · 2007-07-31 · 4. Consensus-Based Development • Pros: – Continuously increasing PR benefits – Long-term, sustainable](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed7de79b86804226e05d9c4/html5/thumbnails/20.jpg)
3. Prepare your Team
• Read Karl’s book! Discuss it• Learn how to set community tone• Decide on process for admitting new committers• Learn how to diffuse poisonous people• Thicken everyone’s skin
![Page 21: How Your Company Can Benefit from Open Sourcing Code · 2007-07-31 · 4. Consensus-Based Development • Pros: – Continuously increasing PR benefits – Long-term, sustainable](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed7de79b86804226e05d9c4/html5/thumbnails/21.jpg)
4. Move all Development to Public
• Launch public mailing lists, repository, bug tracker•Minimize use of internal mailing lists!– Develop policy for working with internal devs• Do some PR to attract volunteers• Start with one mailing list if possible, split later
![Page 22: How Your Company Can Benefit from Open Sourcing Code · 2007-07-31 · 4. Consensus-Based Development • Pros: – Continuously increasing PR benefits – Long-term, sustainable](https://reader034.vdocument.in/reader034/viewer/2022042310/5ed7de79b86804226e05d9c4/html5/thumbnails/22.jpg)
Summary• Choose strategy based on your goals• There are tradeoffs•We think consensus-based creates the best software