Incubating Open Source Communities [HK SFD 2009]

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Incubating Open Source Communities [HK SFD 2009] - Presentation Transcript

    1. Incubating Open Source Communities J Aaron Farr Hong Kong Free Software Day City University 19 SEP 2009
    2. Aaron
    3. farra @ apache . org
    4. Former Director Apache Software Foundation
    5. Co-Founder J T ade ower ! "
    6. www.cubiclemuses.com
    7. Apache Software Foundation • US Non-Profit • Provides legal and infrastructure support • Completely volunteer organization • 1000+ committers, 200+ members • 60+ open source projects
    8. Incubating Open Source Communities Which Why What How
    9. Which Community User Developer Involvement Public Contributor
    10. At The Core The community begins with the developers and contributors. The larger and more open the developer community, the greater chance for sustained activity and growth.
    11. Contributors Users Developers
    12. A Note on Size • Most developer communities are small • Even with large developers, most of the development is usually by a small number of developers • Apache requires minimum of 3 independent votes for a release
    13. A3B7)&)B)&D2* Q&%5)G*C2*2IBE&72*#B%)&9&#B)&"7*&7*'272%B)&7'*9"62/**Q&'3%2*S* #%"J29)/*0(2* #4")5* )(2* 93E34B)&D2* #%"#"%)&"7* ":* 9"62* 9(B7'25* TD2%)&9B4* Apache’s Long Tail 44?53&)26* )"* BI&5V* D2%535* )(2* )"#* `* 9"7)%&13)"%5* )"* )(2* 9"62* 1B52* (2$* EB$* 12* T("%&F"7)B4*BI&5V/* ")* 5":)CB%2* *%2B5"7G*C2* )"* '&D2* )(2* 1.0 * E&'()* 12* 9&B4* #%"J29)5* 0.8 5* B* #2%:29)* (2* DB%&B)&"7* 0.6 !K=* &5* 632* B76* R<<* Fraction of MRs 0.4 Fraction of Delta Fraction of Lines Added Fraction of Lines Deleted 5"*)(B)*72C* 0.2 )(* )(2* 9"%2* 26* E"63425* 0.0 3626* &7* "3%* 1 5 10 15 50 100 388 725* ":* 9"62* Number of individuals * Feilding, Herbleb & Mockus, 2000 @?37A." Q&'3%2*S/**D5-$16(6.)07B-$27:0/79607&*$&3$1&*0/79607&*:$0&$05-$ http://opensource.mit.edu/papers/mockusapache.pdf 1&2-$9):-?*
    14. Linux 2.6.20 50% of the changes where made by 2.5% of the developers Who Wrote 2.6.20? http://lwn.net/Articles/222773/ by corbet
    15. What Does That Mean? It means a huge number of contributors (741) who made thousands of small contributions
    16. Communities Which Why What How
    17. Community > Code
    18. Why Community Code Community Factor of Success Time
    19. Community First
    20. Communities Which Why What How
    21. Community community |kəˌmjunədi| |kəˌmjuːnɪti| noun ( pl. -ties) 1 a group of people living together in one place, esp. one practicing common ownership : a community of nuns. • all the people living in a particular area or place : local communities. • a particular area or place considered together with its inhabitants : a rural community. • ( the community) the people of a district or country considered collectively, esp. in the context of social values and responsibilities; society : preparing prisoners for life back in the community. • [as adj. ] denoting a worker or resource designed to serve the people of a particular area : community health services. 2 [usu. with adj. ] a group of people having a religion, race, profession, or other particular characteristic in common : Rhode Island's Japanese community | the scientific community. • a body of nations or states unified by common interests : [in names ] the European Community | the African Economic Community. 3 a feeling of fellowship with others, as a result of sharing common attitudes, interests, and goals : the sense of community that organized religion can provide. • [in sing. ] a similarity or identity : writers who shared a community of interests. • joint ownership or liability : a commitment to the community of goods. 4 Ecology a group of interdependent organisms of different species growing or living together in a specified habitat : communities of insectivorous birds. • a set of species found in the same habitat or ecosystem at the same time. Oxford American Dictionaries
    22. Community community |kəˌmjunədi| |kəˌmjuːnɪti| noun ( pl. -ties) 1 a group of people living together in one place, esp. one practicing common ownership : a community of nuns. • all the people living in a particular area or place : local communities. • a particular area or place considered together with its inhabitants : a rural community. • ( the community) the people of a district or country considered collectively, esp. in the context of social values and responsibilities society : preparing prisoners for life back in the community. responsibilities; • [as adj. ] denoting a worker or resource designed to serve the people of a particular area : community health services. 2 [usu. with adj. ] a group of people having a religion, race, profession, or other particular characteristic in common : Rhode Island's Japanese community | the scientific community. • a body of nations or states unified by common interests : [in names ] the European Community | the African Economic Community. 3 a feeling of fellowship with others, as a result of sharing common attitudes, interests, and goals : the sense of community that organized religion can provide. • [in sing. ] a similarity or identity : writers who shared a community of interests. • joint ownership or liability : a commitment to the community of goods. 4 Ecology a group of interdependent organisms of different species growing or living together in a specified habitat : communities of insectivorous birds. • a set of species found in the same habitat or ecosystem at the same time. Oxford American Dictionaries
    23. Community People Customs Ownership Shared Goals
    24. Community
    25. Communicates
    26. Community People Customs Ownership Shared Goals Communication
    27. Culture Shared meanings used by a group to approach the problems of life
    28. Cathedral vs Bazaar
    29. Cathedral
    30. Bazaar
    31. Community Culture Cathedral Bazaar
    32. Communities Which Why What How
    33. The Path To Contribution
    34. Path to Contribution User Developer Involvement Public Contributor
    35. Path to Contribution Documentation should clearly identify the audience and set out the process • Clear • Consistent • Attainable
    36. Types of Contribution • Documentation • Bug Fixes • Answers on mailing lists • Promotion • Money
    37. Providing a Path • How to Get Involved Documentation • Low Barrier To Contribution • Wiki Documentation Site • Bug Tracker • Recognize Contributors (Release Notes)
    38. Community People Customs Ownership Shared Goals Communication
    39. People Individuals Not Business Not Corporations Not Organizations People Customs Ownership Shared Goals Communication
    40. People • Meritocracy • Clearly define: • Roles • Expectations • Qualifications People Customs Ownership Shared Goals Communication
    41. People Roles The meritocracy enables various roles: user | developer | committer | PMC member | ASF member User user is someone that uses our software. They contribute to the Apache projects by providing feedback to developers in the form of bug reports and feature suggestions. Users participate in the Apache community by helping other users on mailing lists and user support forums. The passive users are also known as lurkers. Developer developer is a user who contributes to a project in the form of code or documentation. They take extra steps to participate in a project, are active on the developer mailing list, participate in discussions, provide patches, documentation, suggestions, and criticism. Developers are also known as contributors. Committer committer is a developer that was given write access to the code repository and has a signed Contributor License Agreement (CLA) on file. They have an apache.org mail address.... People Customs Ownership Shared Goals Communication
    42. People Apache CLA The Apache Software Foundation Individual Contributor License Agreement ("Agreement") V2.0 http://www.apache.org/licenses/ Thank you for your interest in The Apache Software Foundation (the "Foundation"). In order to clarify the intellectual property license granted with Contributions from any person or entity, the Foundation must have a Contributor License Agreement ("CLA") on file that has been signed by each Contributor, indicating agreement to the license terms below. This license is for your protection as a Contributor as well as the protection of the Foundation and its users; it does not change your rights to use your own Contributions for any other purpose. If you have not already done so, please complete and send an original signed Agreement to The Apache Software Foundation, 1901 Munsey Drive, Forest Hill, MD 21050-2747, U.S.A. If necessary, you may send it by facsimile to the Foundation at +1-410-803-2258. Please read this document carefully before signing and keep a copy for your records. People Customs Ownership Shared Goals Communication
    43. Customs Oral Traditions Rules of Participation Decision Making Processes People Customs Ownership Shared Goals Communication
    44. Customs • Clearly define project practices • Bug submission process • Release process • Voting process • Coding Standards • Mailing List Etiquette People Customs Ownership Shared Goals Communication
    45. FAQ People Customs Ownership Shared Goals Communication
    46. Ownership Open Source License Access Permissions Responsibilities People Customs Ownership Shared Goals Communication
    47. Ownership • Prominently display the license • Openly identify business interests • Non-locking source control • No Author Tags • Avoid Dictatorships or “one man shows” People Customs Ownership Shared Goals Communication
    48. Shared Goals Group Identity Clear Purpose What We’re Not People Customs Ownership Shared Goals Communication
    49. Subversion Why does this project exist? To take over the CVS user base. Specifically, we're writing a new version control system that is very similar to CVS, but fixes many things that are broken. See our front page. People Customs Ownership Shared Goals Communication
    50. Society → Community The difference between a society and a community is a “unity of wills” Community and Society: Gemeinschaft und Gesellschaft, Ferdinand Tönnies People Customs Ownership Shared Goals Communication
    51. Communication Open Consistent Archived People Customs Ownership Shared Goals Communication
    52. Communication • Website (with documentation) • Mailing Lists • Issue Tracking • Source Repository • Instant Message / Chat People Customs Ownership Shared Goals Communication
    53. Communities Which Why What How
    54. Communities Code
    55. Code • Directly useful to developers (itch) • Builds • Common standards • Composable • Consistent • Improvable
    56. Composability ... codebases that are more modular or have more option value increase developers’ incentives to join and to remain involved in an open source development effort; and decrease the amount of free-riding in equilibrium. The Architecture of Participation: Does Code Architecture Mitigate Free Riding in the Open Source Development Model Baldwin and Clark, 2005 http://www.people.hbs.edu/cbaldwin/DR2/BaldwinArchPartAll.pdf
    57. release early release often
    58. Community People Customs Ownership Shared Goals Communication Provide A Pathway To Contribution
    59. Apache Incubator
    60. Non-Apache Project ↓ Incubator ↓ Apache Project
    61. Apache Incubator • Legal Ensure donations and projects are in accordance with legal standards • Community Develop communities that adhere to ASF guiding principles
    62. Graduated Abdera httpd-CLI MyFaces SpamAssassin ActiveMQ iBATIS Nutch stdcxx Apollo Ivy Ode Synapse Beehive Jackrabbit OFBiz Tapestry Cayenne JaxMe OpenEJB Tika CouchDB JDO OpenJPA Tobago CXF jUDDI Pig Trinidad Derby Lenya Pluto Tuscany Directory log4cxx Qpid WebWork 2 Felix log4net Roller Wicket FtpServer MerlinDevelo Sanselan Woden Geronimo per ServiceMix XMLBeans Harmony mod_ftp Solr Hermes Muse Sling
    63. Incubating Ace Imperius Pivot TrafficServer Bluesky JSPWiki RAT UIMA Cassandra Kato RCF VCL Chemistry Log4php River VXQuery Click Lucene.Net Shindig Wookie Droids Olio Shiro Wink Empire-db Open- SocialSite WSRP4J Etch WebBeans Stonehenge ESME PDFBox Tashi Hama PhotArk Thrift
    64. Roles • Incubator PMC (IPMC) • Podling • Podling PMC (PPMC) • Champion • Sponsor • Mentor • Committers
    65. Incubation Process • Question • Learn • Search • Adjust • Commit • Grow • Committed • Report • Establish • Perform • Join • Leave • Clear
    66. Incubation Over 50 projects have graduated from the Apache Incubator. The average time is 14 months, but varies from 2 to 28 months. During that time, the average project adds 2 - 3 committers. Question Search Commit Committed Establish Join Clear Learn Adjust Grow Report Perform Leave
    67. Is the Incubator For Us?
    68. incubator.apache.org
    69. Thank You J Aaron Farr farra@apache.org www.cubiclemuses.com

    + J Aaron FarrJ Aaron Farr, 2 months ago

    custom

    355 views, 0 favs, 0 embeds more stats

    A version of my "Incubating Open Source Communities more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 355
      • 355 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 11
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories