anatomy of an open source project: key factors to success

23
1 Samsung Open Source Group Anatomy of an Open Source Project Key Factors to Success Guy Martin Senior Strategist Samsung Open Source Group [email protected] @guyma, @SamsungOSG

Upload: samsung-open-source-group

Post on 16-Jul-2015

254 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Anatomy of An Open Source Project: Key Factors to Success

1Samsung Open Source Group

Anatomy of an Open Source ProjectKey Factors to Success

Guy MartinSenior Strategist

Samsung Open Source [email protected]@guyma, @SamsungOSG

Page 2: Anatomy of An Open Source Project: Key Factors to Success

2Samsung Open Source Group

What is Anatomy?

Wikipedia says…

“Anatomy is the biological science concerned with the

structure of living things.”

But I say…

Projects are made up of living beings, and it can be useful

to model their parts using human anatomy as an analogy.

Page 3: Anatomy of An Open Source Project: Key Factors to Success

3Samsung Open Source Group

Abnormal Project Anatomy

Page 4: Anatomy of An Open Source Project: Key Factors to Success

4Samsung Open Source Group

The Brain Governance

Page 5: Anatomy of An Open Source Project: Key Factors to Success

5Samsung Open Source Group

Open Source Governance

• Licensing

• Choosing an appropriate license

• Contributor Agreements?

• Operations

• Management & community structure

• Maintenance & contribution policies

• Development methodologies

• Guidelines

• Code of Conduct

• Handling Grievance/Disputes

Page 6: Anatomy of An Open Source Project: Key Factors to Success

6Samsung Open Source Group

Community Organization

• Tight vertical hierarchy

• Loose horizontal structure

• Small incremental changes flow upward

Maintainer

Subsystem maintainer

Subsystem maintainer

Subsystem maintainer

Sub-subsystem mainta

iner

Sub-subsystem mainta

iner

Sub-subsystem mainta

iner

Sub-subsystem mainta

iner

Sub-subsystem mainta

iner

Develo

per

Develo

per

Develo

per

Develo

per

Develo

per

Develo

per

Develo

per

Develo

per

Develo

per

Develo

per

Develo

per

Develo

per

Develo

per

Develo

per

Meritocracy drives advancement and acceptance

Not influenced by marketing

Page 7: Anatomy of An Open Source Project: Key Factors to Success

7Samsung Open Source Group

Open Source Development

ModelUser

Community

Developer

Community

Project or Feature Ideas

Architecture and

Design Discussion

Implementation(coding)

Continuous Testing

and IntegrationDeployment

(release)

Maintenance

Patches(submitted by developers

and users)

Feature Requests(submitted by developers

and users)

Test Projects to Automate

Testing and Validation

Page 8: Anatomy of An Open Source Project: Key Factors to Success

8Samsung Open Source Group

Feedback

Loop

Setup

machine

Check out

code

Write code

Debug

Build

Validate

Generate

patch

Submit Validate

Integrate with

-dev

Build

QA

validation

Release

validation

Publish as

-stable

Driven by participating developers Driven by maintainers

Open Source Release Cycle

Page 9: Anatomy of An Open Source Project: Key Factors to Success

9Samsung Open Source Group

The HeartCulture, Transparency, Openness

Page 10: Anatomy of An Open Source Project: Key Factors to Success

10Samsung Open Source Group

Project Culture

Accidental or Intentional?

• Usually better to be intentional, not let it just ‘happen’?

Welcoming or Challenging?

• Welcoming brings in diverse ideas – challenging sets bar to entry higher

Encouraging or Demanding?

• Encouraging builds sustainability – demanding gets the job done

“Defining a culture doesn’t mean being everything to

everyone…it means choosing the environment which

you want to participate in… which will breed more of

the same type of creativity you want in the project.”John O’Nolan – Ghost.org Founder

Page 11: Anatomy of An Open Source Project: Key Factors to Success

11Samsung Open Source Group

Project Transparency

Design, Discuss, Code in Public

• This can be messy, but messy is good

• Allows for multiple voices and opinions to be heard

• Process/person for resolving disputes decided ahead of time

Special Note for Companies

• Transparency != Loss of Control

The same point is clear in software as in business and in politics –

transparency wins.

Dana Blankenhorn – Business/Technology Journalist

Page 12: Anatomy of An Open Source Project: Key Factors to Success

12Samsung Open Source Group

Project Openness

Access

• Code available equally to everyone

• Support resources/infrastructure equally available to everyone

Collaboration

• Shared responsibility and accountability

• Ability to influence project through sustained contributions

Corporate Influences

• Leadership != Control

• Decisions made that balance community/corporate needs

• The ‘Android Paradox’ – varying levels of ‘openness’

Page 13: Anatomy of An Open Source Project: Key Factors to Success

13Samsung Open Source Group

The Blood Contributions

Page 14: Anatomy of An Open Source Project: Key Factors to Success

14Samsung Open Source Group

Technical Contributions

• Standardized & consistent code architecture

• Modular and flexible code designed for acceptance

• Easily understandable code (with useful comments)

• Code contributed in manageable chunks (no code dumps)

• Smoke and sanity/unit-tested code

Page 15: Anatomy of An Open Source Project: Key Factors to Success

15Samsung Open Source Group

Supporting Contributions

• Accurately described/filed bugs

• Requests for new features

• Strong and consistent documentation

• Strong Quality Assurance/Testing

• External evangelism/community management

Page 16: Anatomy of An Open Source Project: Key Factors to Success

16Samsung Open Source Group

The SkeletonInfrastructure

Page 17: Anatomy of An Open Source Project: Key Factors to Success

17Samsung Open Source Group

Project Infrastructure

Page 18: Anatomy of An Open Source Project: Key Factors to Success

18Samsung Open Source Group

Project Infrastructure Examples: Front Page

What the project does

Where tofind the code

Who issponsoring

Page 19: Anatomy of An Open Source Project: Key Factors to Success

19Samsung Open Source Group

Project Infrastructure Examples: For Developers

Page 20: Anatomy of An Open Source Project: Key Factors to Success

20Samsung Open Source Group

Project Infrastructure Examples: Get Involved

Page 21: Anatomy of An Open Source Project: Key Factors to Success

21Samsung Open Source Group

The Checkup Project Review

Page 22: Anatomy of An Open Source Project: Key Factors to Success

22Samsung Open Source Group

Project Checkup

• Are your project elements balanced?

• Is each element functioning optimally?

• Brain – Governance and processes that guide development

• Heart – Strong community, honest and transparent communication

• Blood – Strong consistent contributions (not just code)

• Skeleton – Infrastructure that meets project needs

• Frequent checkups (at least 1/year, more if necessary)

Page 23: Anatomy of An Open Source Project: Key Factors to Success

23Samsung Open Source Group

Questions and Discussion

Guy Martin

[email protected]