Open Source Communities - OSS...
Transcript of Open Source Communities - OSS...
Open SourceCommunities
SebastianRahtz
Open Source Communities
Sebastian Rahtz
OSS Watch
c© University of Oxford
This document is licensed underhttp://creativecommons.org/licenses/by-sa/2.0/uk/
Open SourceCommunities
SebastianRahtz
What challenges do open source projects face?
Projects tend to start small, and often go in one of sevendirections:
stay small: remains a nerd toolgather users but no new developers: frustrated usersfragment when primary leader loses interest:unattractive for new peopledevelop power but with minimal documentation: noway to find the powergrow within an expert community: high price foradmissiongo commercial: stops being ‘free’simply die
The usual panacea is ‘you need to build a community’
Open SourceCommunities
SebastianRahtz
The reality
Open SourceCommunities
SebastianRahtz
Why do people work on open source?
The desire to learn technical skills by joining an openproject is strong. Typical reasons for staying in OSS are:
seeking recognition: 12%improving skills: 32%improving software: 24%ideology 31%
A lot of people work on open source because they are paidto by their company. It isn’t all about ideology.
Open SourceCommunities
SebastianRahtz
Types of open source communities
Developers who want to work on a shared projectUsers of software who want to get better results from itA community with a problem which is solved bysoftwareProgrammers who find it gets software developed fasterA procedural infrastructure to provide long-term stability
Open SourceCommunities
SebastianRahtz
Communities of practice
from the world of learning theory, COPs are:
informal networks that emerge from a desire to workmore effectively or to understand work more deeplyamong members of a particular speciality or workgroup.small groups of people who’ve worked together over aperiod of time and through extensive communicationhave developed a common sense of purpose and adesire to share work-related knowledge andexperience.communities of apprentices where newcomers learn bygradually going from peripheral participation to fullparticipation in the community.
Sound familiar?
Learning is presented as a process of socialparticipation in a community, not as a process ofinternalization of knowledge by the learner.‘Legitimate peripheral participation’ leads to fullparticipation, and this takes place by socioculturaltransformations in the context of the shared communityof practice.
Open SourceCommunities
SebastianRahtz
Caveats on the nature of communities
there are communities of users and communities ofdeveloperswhat differentiates open source communities from usergroups?how are they different from advocacy groups?what about open content groups like Wikipediais community the only way of developing goodsoftware?you can’t control the community because of the OSIlicencecan you have several communities for the same bit ofsoftware?
Open SourceCommunities
SebastianRahtz
Community tensions
Co-located Distributed
Cathedral
Bazaar
Genius leader
Business as usualDevelopers
Users
Open SourceCommunities
SebastianRahtz
Shining examples of community
Apache web server (etc) a technical strategy; formaldemocratic management; enviable reputationfor quality
Firefox web browser Committed non-technical evangelistsand plugin writers
uPortal portal framework shared development betweenacademia and business
Debian Linux Articulated policies and procedures; no primadonna leaders
Moodle VLE a community of teachers which mergesseamlessly into developers; charismaticleadership; self-hosting
Open SourceCommunities
SebastianRahtz
The Apache Software Foundation
Consists of
1 Projects and sub-projects2 Project Management Committees3 The Foundation
The board manages and oversees corporate assets;allocates corporate resources to the various projects9 members are elected each year but make no technicaldecisions!
Open SourceCommunities
SebastianRahtz
ASF projects
Geronimo Incubator James Logging Maven PerlSpamAssassin Web Services XML Graphics HTTP ServerAnt APR Cocoon DB Directory Excalibur TCL XMLBeansForrest Gump Jakarta Lenya Lucene MyFaces PortalsStruts XML
Open SourceCommunities
SebastianRahtz
ASF principles
It’s a technical meritocracy, with the roles of:
The user is either passive, ie anybody who uses thesoftware but does not contribute directly to theproject (a ‘lurker’); or active, ie anybody whocontributes directly to the project
The committer An active user elected for merit, whoreceives this receives an @apache.orgaccount, write access to project repositories,binding vote, the ability to propose others forcommittership
The member a committer elected for merit in the evolutionof the foundation, who is a shareholder of thefoundation, can propose committers formembership, can elect the board and be acandidate, and can propose new projects forincubation
Open SourceCommunities
SebastianRahtz
Firefox
Selling quality: ‘The award-winning Web browser is betterthan ever. Browse the Web with confidence - Firefoxprotects you from viruses, spyware and pop-ups. Enjoyimprovements to performance, ease of use and privacy. It’seasy to import your favorites and settings and get started.Download Firefox now and get the most out of the Web.’A community of users
Open SourceCommunities
SebastianRahtz
Debian characteristics
A free linux distribution:
multi-architecture (11 architectures)very large (1000 developers, 10000 packages)volunteers (although some do it as part of their real job)distributed (Europe, America, some Australia, not muchin Asia or China). European developers seem to tendtowards being loner volunteers, in US people are fromcompanies
Open SourceCommunities
SebastianRahtz
Debian infrastructure
documentsDebian Social Contract; Debian wants tomove to a social contract which says "free"not "free software"policy documentsdevelopers reference
forumsIRC for direct access, good for answersmailing lists (100+, covering user,developer, announce), good for discussionbug tracking system, for archivingdeveloper web portalpackage tracking systemface-to-face meetings, eg at conferences
Open SourceCommunities
SebastianRahtz
Debian constitution and officers
developerstechnical committee (meritocracy, appointed but notremoveable; resolves technical disputes)project secretary (handles votes)project leader (yearly election by developers; talks atmeetings, represents Debian, talks to companies,motivates people, coordinates work)delegates (appointed by leader to do a job)release managerteams: release, ftp masters, web, new maintainer,ports, security, publicityusers reach consensus on decisions, on mail listsSoftware in the Public Interest (SPI). US non-profitwhich owns trademark, holds money, does legalmatters
Open SourceCommunities
SebastianRahtz
How does Moodle work?
Moodle is a benevolent dictatorship. Some characteristics:
Over 4000 registered Moodle sitesMoodle is entirely self-hostingThere are support forums in many languageshttp://moodle.com offers commerical supportthrough Moodle PartnersPartners pay royalties to The Moodle Trust to furtherMoodle development
Open SourceCommunities
SebastianRahtz
General community developer rôles
The visionary has the Big Idea & makes the long-termdecisions
The leader makes the medium-term decisionsThe programmer implements the functionality and makes
the short-term decisionsThe tester finds the bugs
The apprentice programmer fixes the bugsThe documentor writes the manualThe communicator tells other people how good it all isThe distributor packages it up for new users to try
How many of these rôles can safely be filled by one person?
Open SourceCommunities
SebastianRahtz
Characterizing development communities
Many open source software development groups havecommon characteristics:
small groups of people who have worked together overa period of time and have developed a common senseof purposecommunities of apprentices where newcomers learn bygradually going from peripheral participation to fullparticipationcollective understanding of the community by itsmembers and accountability to each othershared repertoire of languages, tools, artefacts, etc,produced by the community.
Open SourceCommunities
SebastianRahtz
Requirements for a formal community
named rôleswritten rules (remember the OSI licence)communication channelsdiscouragement of dissentleadershiplegalities, copyright etc
Open SourceCommunities
SebastianRahtz
Community guidance
1 Are you clear about the kind of community you want togrow and why? Sort yourself out first.
2 When people find you, do they (nearly) instantly have agood grasp of what your project is about and how yourcommunity works together? Sort out yourcommunications.
3 Are there multiple entry points into your community andis there a clear path of progression through it? If yourcommunity is more valuable than your code, then valueit.
Open SourceCommunities
SebastianRahtz
Top tip: start with your web presence
1 Tell people in a simple, summary, way what you are upto:
This is what the software is supposed to doThis is who it is aimed atThere are its main featuresThese are the main software or other dependenciesHere are some screen shotsThis is the developer communityHere are licence, download and install instructions
to have a nice mixed community
Open SourceCommunities
SebastianRahtz
Community-building methods
reward contributors by acknowledgementcommunicate your vision (Gnu ePrints implements OAI)make your etiquette planbe open and democratic (don’t make all decisions atphysical meetings at the pub)have a good flexible infrastructurehave an IP policy and a clear licence
Open SourceCommunities
SebastianRahtz
oh, and don’t forget the T-shirt