Open Source Communities - OSS...

24
Open Source Communities Sebastian Rahtz Open Source Communities Sebastian Rahtz OSS Watch c University of Oxford This document is licensed under http://creativecommons.org/licenses/by-sa/2.0/uk/

Transcript of Open Source Communities - OSS...

Page 1: Open Source Communities - OSS Watchoss-watch.ac.uk/talks/2005-12-12-bcs/2005-12-12-bcs-communities.… · The user is either passive, ie anybody who uses the software but does not

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/

Page 2: Open Source Communities - OSS Watchoss-watch.ac.uk/talks/2005-12-12-bcs/2005-12-12-bcs-communities.… · The user is either passive, ie anybody who uses the software but does not

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’

Page 3: Open Source Communities - OSS Watchoss-watch.ac.uk/talks/2005-12-12-bcs/2005-12-12-bcs-communities.… · The user is either passive, ie anybody who uses the software but does not

Open SourceCommunities

SebastianRahtz

The reality

Page 4: Open Source Communities - OSS Watchoss-watch.ac.uk/talks/2005-12-12-bcs/2005-12-12-bcs-communities.… · The user is either passive, ie anybody who uses the software but does not

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.

Page 5: Open Source Communities - OSS Watchoss-watch.ac.uk/talks/2005-12-12-bcs/2005-12-12-bcs-communities.… · The user is either passive, ie anybody who uses the software but does not

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

Page 6: Open Source Communities - OSS Watchoss-watch.ac.uk/talks/2005-12-12-bcs/2005-12-12-bcs-communities.… · The user is either passive, ie anybody who uses the software but does not

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.

Page 7: Open Source Communities - OSS Watchoss-watch.ac.uk/talks/2005-12-12-bcs/2005-12-12-bcs-communities.… · The user is either passive, ie anybody who uses the software but does not

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?

Page 8: Open Source Communities - OSS Watchoss-watch.ac.uk/talks/2005-12-12-bcs/2005-12-12-bcs-communities.… · The user is either passive, ie anybody who uses the software but does not

Open SourceCommunities

SebastianRahtz

Community tensions

Co-located Distributed

Cathedral

Bazaar

Genius leader

Business as usualDevelopers

Users

Page 9: Open Source Communities - OSS Watchoss-watch.ac.uk/talks/2005-12-12-bcs/2005-12-12-bcs-communities.… · The user is either passive, ie anybody who uses the software but does not

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

Page 10: Open Source Communities - OSS Watchoss-watch.ac.uk/talks/2005-12-12-bcs/2005-12-12-bcs-communities.… · The user is either passive, ie anybody who uses the software but does not

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!

Page 11: Open Source Communities - OSS Watchoss-watch.ac.uk/talks/2005-12-12-bcs/2005-12-12-bcs-communities.… · The user is either passive, ie anybody who uses the software but does not

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

Page 12: Open Source Communities - OSS Watchoss-watch.ac.uk/talks/2005-12-12-bcs/2005-12-12-bcs-communities.… · The user is either passive, ie anybody who uses the software but does not

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

Page 13: Open Source Communities - OSS Watchoss-watch.ac.uk/talks/2005-12-12-bcs/2005-12-12-bcs-communities.… · The user is either passive, ie anybody who uses the software but does not

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

Page 14: Open Source Communities - OSS Watchoss-watch.ac.uk/talks/2005-12-12-bcs/2005-12-12-bcs-communities.… · The user is either passive, ie anybody who uses the software but does not

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

Page 15: Open Source Communities - OSS Watchoss-watch.ac.uk/talks/2005-12-12-bcs/2005-12-12-bcs-communities.… · The user is either passive, ie anybody who uses the software but does not

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

Page 16: Open Source Communities - OSS Watchoss-watch.ac.uk/talks/2005-12-12-bcs/2005-12-12-bcs-communities.… · The user is either passive, ie anybody who uses the software but does not

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

Page 17: Open Source Communities - OSS Watchoss-watch.ac.uk/talks/2005-12-12-bcs/2005-12-12-bcs-communities.… · The user is either passive, ie anybody who uses the software but does not

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

Page 18: Open Source Communities - OSS Watchoss-watch.ac.uk/talks/2005-12-12-bcs/2005-12-12-bcs-communities.… · The user is either passive, ie anybody who uses the software but does not

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?

Page 19: Open Source Communities - OSS Watchoss-watch.ac.uk/talks/2005-12-12-bcs/2005-12-12-bcs-communities.… · The user is either passive, ie anybody who uses the software but does not

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.

Page 20: Open Source Communities - OSS Watchoss-watch.ac.uk/talks/2005-12-12-bcs/2005-12-12-bcs-communities.… · The user is either passive, ie anybody who uses the software but does not

Open SourceCommunities

SebastianRahtz

Requirements for a formal community

named rôleswritten rules (remember the OSI licence)communication channelsdiscouragement of dissentleadershiplegalities, copyright etc

Page 21: Open Source Communities - OSS Watchoss-watch.ac.uk/talks/2005-12-12-bcs/2005-12-12-bcs-communities.… · The user is either passive, ie anybody who uses the software but does not

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.

Page 22: Open Source Communities - OSS Watchoss-watch.ac.uk/talks/2005-12-12-bcs/2005-12-12-bcs-communities.… · The user is either passive, ie anybody who uses the software but does not

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

Page 23: Open Source Communities - OSS Watchoss-watch.ac.uk/talks/2005-12-12-bcs/2005-12-12-bcs-communities.… · The user is either passive, ie anybody who uses the software but does not

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

Page 24: Open Source Communities - OSS Watchoss-watch.ac.uk/talks/2005-12-12-bcs/2005-12-12-bcs-communities.… · The user is either passive, ie anybody who uses the software but does not

Open SourceCommunities

SebastianRahtz

oh, and don’t forget the T-shirt