SlideShare a Scribd company logo
1Samsung Open Source Group
Anatomy of an Open Source Project
Key Factors to Success
Guy Martin
Senior Strategist
Samsung Open Source Group
guym@osg.samsung.com
@guyma, @SamsungOSG
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.
3Samsung Open Source Group
Abnormal Project Anatomy
4Samsung Open Source Group
The Brain
Governance
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
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-subsys
tem mainta
iner
Sub-subsys
tem mainta
iner
Sub-subsys
tem mainta
iner
Sub-subsys
tem mainta
iner
Sub-subsys
tem mainta
iner
Developer
Developer
Developer
Developer
Developer
Developer
Developer
Developer
Developer
Developer
Developer
Developer
Developer
Developer
Meritocracy drives advancement
and acceptance
Not influenced by marketing
7Samsung Open Source Group
Open Source Development
Model
User
Community
Developer
Community
Project or Feature Ideas
Architecture and
Design Discussion
Implementation
(coding)
Continuous Testing
and Integration
Deployment
(release)
Maintenance
Patches
(submitted by developers
and users)
Feature Requests
(submitted by developers
and users)
Test Projects to Automate
Testing and Validation
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
9Samsung Open Source Group
The Heart
Culture, Transparency, Openness
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
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
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’
13Samsung Open Source Group
The Blood
Contributions
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
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
16Samsung Open Source Group
The Skeleton
Infrastructure
17Samsung Open Source Group
Project Infrastructure
18Samsung Open Source Group
Project Infrastructure
Examples: Front Page
What the
project does
Where to
find the code
Who is
sponsoring
19Samsung Open Source Group
Project Infrastructure
Examples: For Developers
20Samsung Open Source Group
Project Infrastructure
Examples: Get Involved
21Samsung Open Source Group
The Checkup
Project Review
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)
23Samsung Open Source Group
Questions and
Discussion
Guy Martin
guym@osg.samsung.com

More Related Content

What's hot

DevOps Interview Questions and Answers 2019 | DevOps Tutorial | Edureka
DevOps Interview Questions and Answers 2019 | DevOps Tutorial | EdurekaDevOps Interview Questions and Answers 2019 | DevOps Tutorial | Edureka
DevOps Interview Questions and Answers 2019 | DevOps Tutorial | EdurekaEdureka!
 
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...Edureka!
 
4+1 View Model of Software Architecture
4+1 View Model of Software Architecture4+1 View Model of Software Architecture
4+1 View Model of Software Architecturebashcode
 
Devops Devops Devops
Devops Devops DevopsDevops Devops Devops
Devops Devops DevopsKris Buytaert
 
Software Engineering - chp8- deployment
Software Engineering - chp8- deploymentSoftware Engineering - chp8- deployment
Software Engineering - chp8- deploymentLilia Sfaxi
 
Best practices for agile design
Best practices for agile designBest practices for agile design
Best practices for agile designIgor Moochnick
 
Building a DevOps organization
Building a DevOps organizationBuilding a DevOps organization
Building a DevOps organizationZinnov
 
Software Architecture Patterns
Software Architecture PatternsSoftware Architecture Patterns
Software Architecture PatternsAssaf Gannon
 
Open Source Software Presentation
Open Source Software PresentationOpen Source Software Presentation
Open Source Software PresentationHenry Briggs
 
What Is DevOps?
What Is DevOps?What Is DevOps?
What Is DevOps?Soumya De
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOpsYosef Tavin
 
Metrics to Power DevOps
Metrics to Power DevOpsMetrics to Power DevOps
Metrics to Power DevOpsCollabNet
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introductionSridhara T V
 

What's hot (20)

DevOps 101
DevOps 101DevOps 101
DevOps 101
 
DevOps Interview Questions and Answers 2019 | DevOps Tutorial | Edureka
DevOps Interview Questions and Answers 2019 | DevOps Tutorial | EdurekaDevOps Interview Questions and Answers 2019 | DevOps Tutorial | Edureka
DevOps Interview Questions and Answers 2019 | DevOps Tutorial | Edureka
 
DevOps
DevOpsDevOps
DevOps
 
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
 
4+1 View Model of Software Architecture
4+1 View Model of Software Architecture4+1 View Model of Software Architecture
4+1 View Model of Software Architecture
 
Devops Devops Devops
Devops Devops DevopsDevops Devops Devops
Devops Devops Devops
 
Software Engineering - chp8- deployment
Software Engineering - chp8- deploymentSoftware Engineering - chp8- deployment
Software Engineering - chp8- deployment
 
Devops maturity model
Devops maturity modelDevops maturity model
Devops maturity model
 
Devops
DevopsDevops
Devops
 
Best practices for agile design
Best practices for agile designBest practices for agile design
Best practices for agile design
 
Building a DevOps organization
Building a DevOps organizationBuilding a DevOps organization
Building a DevOps organization
 
Software Architecture Patterns
Software Architecture PatternsSoftware Architecture Patterns
Software Architecture Patterns
 
Open Source Software Presentation
Open Source Software PresentationOpen Source Software Presentation
Open Source Software Presentation
 
What Is DevOps?
What Is DevOps?What Is DevOps?
What Is DevOps?
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
DevSecOps 101
DevSecOps 101DevSecOps 101
DevSecOps 101
 
Metrics to Power DevOps
Metrics to Power DevOpsMetrics to Power DevOps
Metrics to Power DevOps
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introduction
 
DevOps-CoE
DevOps-CoEDevOps-CoE
DevOps-CoE
 
DevOps
DevOpsDevOps
DevOps
 

Viewers also liked

Open Source development funding. OpenLayers 3 - 2013
Open Source development funding. OpenLayers 3 - 2013Open Source development funding. OpenLayers 3 - 2013
Open Source development funding. OpenLayers 3 - 2013Moullet
 
Rise of the Open Source Program Office for LinuxCon 2016
Rise of the Open Source Program Office for LinuxCon 2016Rise of the Open Source Program Office for LinuxCon 2016
Rise of the Open Source Program Office for LinuxCon 2016Gil Yehuda
 
Open source on Microsoft Azure: Linux, Java, NodeJS, MongoDb and many other t...
Open source on Microsoft Azure: Linux, Java, NodeJS, MongoDb and many other t...Open source on Microsoft Azure: Linux, Java, NodeJS, MongoDb and many other t...
Open source on Microsoft Azure: Linux, Java, NodeJS, MongoDb and many other t...Codemotion
 
MANAGEMENT 3.0: A Wisdom Network as an organisational structure
MANAGEMENT 3.0: A Wisdom Network as an organisational structureMANAGEMENT 3.0: A Wisdom Network as an organisational structure
MANAGEMENT 3.0: A Wisdom Network as an organisational structureWisdom.To
 
Open source Software: pros and cons
Open source Software: pros and consOpen source Software: pros and cons
Open source Software: pros and consygpriya
 
Open source technology
Open source technologyOpen source technology
Open source technologyaparnaz1
 
Opensource Powerpoint Review.Ppt
Opensource Powerpoint Review.PptOpensource Powerpoint Review.Ppt
Opensource Powerpoint Review.PptViet NguyenHoang
 
OPEN SOURCE SEMINAR PRESENTATION
OPEN SOURCE SEMINAR PRESENTATIONOPEN SOURCE SEMINAR PRESENTATION
OPEN SOURCE SEMINAR PRESENTATIONRitwick Halder
 

Viewers also liked (9)

Open Source development funding. OpenLayers 3 - 2013
Open Source development funding. OpenLayers 3 - 2013Open Source development funding. OpenLayers 3 - 2013
Open Source development funding. OpenLayers 3 - 2013
 
Open Source Technology
Open Source TechnologyOpen Source Technology
Open Source Technology
 
Rise of the Open Source Program Office for LinuxCon 2016
Rise of the Open Source Program Office for LinuxCon 2016Rise of the Open Source Program Office for LinuxCon 2016
Rise of the Open Source Program Office for LinuxCon 2016
 
Open source on Microsoft Azure: Linux, Java, NodeJS, MongoDb and many other t...
Open source on Microsoft Azure: Linux, Java, NodeJS, MongoDb and many other t...Open source on Microsoft Azure: Linux, Java, NodeJS, MongoDb and many other t...
Open source on Microsoft Azure: Linux, Java, NodeJS, MongoDb and many other t...
 
MANAGEMENT 3.0: A Wisdom Network as an organisational structure
MANAGEMENT 3.0: A Wisdom Network as an organisational structureMANAGEMENT 3.0: A Wisdom Network as an organisational structure
MANAGEMENT 3.0: A Wisdom Network as an organisational structure
 
Open source Software: pros and cons
Open source Software: pros and consOpen source Software: pros and cons
Open source Software: pros and cons
 
Open source technology
Open source technologyOpen source technology
Open source technology
 
Opensource Powerpoint Review.Ppt
Opensource Powerpoint Review.PptOpensource Powerpoint Review.Ppt
Opensource Powerpoint Review.Ppt
 
OPEN SOURCE SEMINAR PRESENTATION
OPEN SOURCE SEMINAR PRESENTATIONOPEN SOURCE SEMINAR PRESENTATION
OPEN SOURCE SEMINAR PRESENTATION
 

Similar to Anatomy of An Open Source Project: Key Factors to Success

The Missing Link Between Governance and Agile Culture
The Missing Link Between Governance and Agile CultureThe Missing Link Between Governance and Agile Culture
The Missing Link Between Governance and Agile CultureJeremy Pullen
 
Developing OSS Leadership (LinuxCon NA - 2014)
Developing OSS Leadership (LinuxCon NA - 2014)Developing OSS Leadership (LinuxCon NA - 2014)
Developing OSS Leadership (LinuxCon NA - 2014)Samsung Open Source Group
 
Resilience and Compliance at Speed and Scale
Resilience and Compliance at Speed and ScaleResilience and Compliance at Speed and Scale
Resilience and Compliance at Speed and ScaleJason Chan
 
Building and Scaling High Performing Technology Organizations by Jez Humble a...
Building and Scaling High Performing Technology Organizations by Jez Humble a...Building and Scaling High Performing Technology Organizations by Jez Humble a...
Building and Scaling High Performing Technology Organizations by Jez Humble a...Agile India
 
Introduction to Software Development Life Cycle.pptx
Introduction to Software Development Life Cycle.pptxIntroduction to Software Development Life Cycle.pptx
Introduction to Software Development Life Cycle.pptxGodwin Monserate
 
Lean Kanban India 2016 | Confronting the Challenge of Scale: Making Ants the ...
Lean Kanban India 2016 | Confronting the Challenge of Scale: Making Ants the ...Lean Kanban India 2016 | Confronting the Challenge of Scale: Making Ants the ...
Lean Kanban India 2016 | Confronting the Challenge of Scale: Making Ants the ...LeanKanbanIndia
 
HOT TOPIC REPORT DIVYA
HOT TOPIC REPORT DIVYAHOT TOPIC REPORT DIVYA
HOT TOPIC REPORT DIVYADivya Tadi
 
Zachman Enterprise Security Architecture
Zachman Enterprise Security ArchitectureZachman Enterprise Security Architecture
Zachman Enterprise Security ArchitectureJoaquin Marques
 
SRVision 2019, Utrecht: Swarming and Cynefin
SRVision 2019, Utrecht: Swarming and CynefinSRVision 2019, Utrecht: Swarming and Cynefin
SRVision 2019, Utrecht: Swarming and CynefinJon Stevens-Hall
 
Building software: the lessons from open source
Building software: the lessons from open sourceBuilding software: the lessons from open source
Building software: the lessons from open sourceArnaud Porterie
 
Humane assessment on cards
Humane assessment on cardsHumane assessment on cards
Humane assessment on cardsTudor Girba
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycleAfrasiyab Haider
 
"Open Source and the Choice to Cooperate" by Brian Behlendorf @ eLiberatica 2007
"Open Source and the Choice to Cooperate" by Brian Behlendorf @ eLiberatica 2007"Open Source and the Choice to Cooperate" by Brian Behlendorf @ eLiberatica 2007
"Open Source and the Choice to Cooperate" by Brian Behlendorf @ eLiberatica 2007eLiberatica
 
Velocity19 Berlin: Swarming, Cynefin… and avoiding the problems of becoming a...
Velocity19 Berlin: Swarming, Cynefin…and avoiding the problems of becoming a...Velocity19 Berlin: Swarming, Cynefin…and avoiding the problems of becoming a...
Velocity19 Berlin: Swarming, Cynefin… and avoiding the problems of becoming a...Jon Stevens-Hall
 
OSEHRA Summit 2017: Legacy System Modernization Using Open Source Tools and A...
OSEHRA Summit 2017: Legacy System Modernization Using Open Source Tools and A...OSEHRA Summit 2017: Legacy System Modernization Using Open Source Tools and A...
OSEHRA Summit 2017: Legacy System Modernization Using Open Source Tools and A...Adam D'Angelo
 
Evolving Architecture and Organization - Lessons from Google and eBay
Evolving Architecture and Organization - Lessons from Google and eBayEvolving Architecture and Organization - Lessons from Google and eBay
Evolving Architecture and Organization - Lessons from Google and eBayRandy Shoup
 

Similar to Anatomy of An Open Source Project: Key Factors to Success (20)

The Missing Link Between Governance and Agile Culture
The Missing Link Between Governance and Agile CultureThe Missing Link Between Governance and Agile Culture
The Missing Link Between Governance and Agile Culture
 
Developing OSS Leadership (LinuxCon NA - 2014)
Developing OSS Leadership (LinuxCon NA - 2014)Developing OSS Leadership (LinuxCon NA - 2014)
Developing OSS Leadership (LinuxCon NA - 2014)
 
Resilience and Compliance at Speed and Scale
Resilience and Compliance at Speed and ScaleResilience and Compliance at Speed and Scale
Resilience and Compliance at Speed and Scale
 
The Pre-Open Sourcing Sanity Check
The Pre-Open Sourcing Sanity CheckThe Pre-Open Sourcing Sanity Check
The Pre-Open Sourcing Sanity Check
 
Building and Scaling High Performing Technology Organizations by Jez Humble a...
Building and Scaling High Performing Technology Organizations by Jez Humble a...Building and Scaling High Performing Technology Organizations by Jez Humble a...
Building and Scaling High Performing Technology Organizations by Jez Humble a...
 
Introduction to Software Development Life Cycle.pptx
Introduction to Software Development Life Cycle.pptxIntroduction to Software Development Life Cycle.pptx
Introduction to Software Development Life Cycle.pptx
 
Lean Kanban India 2016 | Confronting the Challenge of Scale: Making Ants the ...
Lean Kanban India 2016 | Confronting the Challenge of Scale: Making Ants the ...Lean Kanban India 2016 | Confronting the Challenge of Scale: Making Ants the ...
Lean Kanban India 2016 | Confronting the Challenge of Scale: Making Ants the ...
 
HOT TOPIC REPORT DIVYA
HOT TOPIC REPORT DIVYAHOT TOPIC REPORT DIVYA
HOT TOPIC REPORT DIVYA
 
Zachman Enterprise Security Architecture
Zachman Enterprise Security ArchitectureZachman Enterprise Security Architecture
Zachman Enterprise Security Architecture
 
SRVision 2019, Utrecht: Swarming and Cynefin
SRVision 2019, Utrecht: Swarming and CynefinSRVision 2019, Utrecht: Swarming and Cynefin
SRVision 2019, Utrecht: Swarming and Cynefin
 
Are you Agile enough?
Are you Agile enough?Are you Agile enough?
Are you Agile enough?
 
Building software: the lessons from open source
Building software: the lessons from open sourceBuilding software: the lessons from open source
Building software: the lessons from open source
 
Humane assessment on cards
Humane assessment on cardsHumane assessment on cards
Humane assessment on cards
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
"Open Source and the Choice to Cooperate" by Brian Behlendorf @ eLiberatica 2007
"Open Source and the Choice to Cooperate" by Brian Behlendorf @ eLiberatica 2007"Open Source and the Choice to Cooperate" by Brian Behlendorf @ eLiberatica 2007
"Open Source and the Choice to Cooperate" by Brian Behlendorf @ eLiberatica 2007
 
Velocity19 Berlin: Swarming, Cynefin… and avoiding the problems of becoming a...
Velocity19 Berlin: Swarming, Cynefin…and avoiding the problems of becoming a...Velocity19 Berlin: Swarming, Cynefin…and avoiding the problems of becoming a...
Velocity19 Berlin: Swarming, Cynefin… and avoiding the problems of becoming a...
 
Scaling scrum agile2010
Scaling scrum agile2010Scaling scrum agile2010
Scaling scrum agile2010
 
OSEHRA Summit 2017: Legacy System Modernization Using Open Source Tools and A...
OSEHRA Summit 2017: Legacy System Modernization Using Open Source Tools and A...OSEHRA Summit 2017: Legacy System Modernization Using Open Source Tools and A...
OSEHRA Summit 2017: Legacy System Modernization Using Open Source Tools and A...
 
Scaling agile
Scaling agileScaling agile
Scaling agile
 
Evolving Architecture and Organization - Lessons from Google and eBay
Evolving Architecture and Organization - Lessons from Google and eBayEvolving Architecture and Organization - Lessons from Google and eBay
Evolving Architecture and Organization - Lessons from Google and eBay
 

More from Samsung Open Source Group

The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)Samsung Open Source Group
 
Rapid SPi Device Driver Development over USB
Rapid SPi Device Driver Development over USBRapid SPi Device Driver Development over USB
Rapid SPi Device Driver Development over USBSamsung Open Source Group
 
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT DevicesTizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT DevicesSamsung Open Source Group
 
IoTivity: Smart Home to Automotive and Beyond
IoTivity: Smart Home to Automotive and BeyondIoTivity: Smart Home to Automotive and Beyond
IoTivity: Smart Home to Automotive and BeyondSamsung Open Source Group
 
IoTivity for Automotive: meta-ocf-automotive tutorial
IoTivity for Automotive: meta-ocf-automotive tutorialIoTivity for Automotive: meta-ocf-automotive tutorial
IoTivity for Automotive: meta-ocf-automotive tutorialSamsung Open Source Group
 
Open Source Metrics to Inform Corporate Strategy
Open Source Metrics to Inform Corporate StrategyOpen Source Metrics to Inform Corporate Strategy
Open Source Metrics to Inform Corporate StrategySamsung Open Source Group
 
IoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT InteroperabilityIoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT InteroperabilitySamsung Open Source Group
 
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...Samsung Open Source Group
 
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceAdding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceSamsung Open Source Group
 
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity
IoT: From Arduino Microcontrollers to Tizen Products using IoTivityIoT: From Arduino Microcontrollers to Tizen Products using IoTivity
IoT: From Arduino Microcontrollers to Tizen Products using IoTivitySamsung Open Source Group
 
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxPractical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxSamsung Open Source Group
 
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
IoTivity Tutorial: Prototyping IoT Devices on GNU/LinuxIoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
IoTivity Tutorial: Prototyping IoT Devices on GNU/LinuxSamsung Open Source Group
 
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of ThingsJerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of ThingsSamsung Open Source Group
 

More from Samsung Open Source Group (20)

The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)
 
Easy IoT with JavaScript
Easy IoT with JavaScriptEasy IoT with JavaScript
Easy IoT with JavaScript
 
Spawny: A New Approach to Logins
Spawny: A New Approach to LoginsSpawny: A New Approach to Logins
Spawny: A New Approach to Logins
 
Rapid SPi Device Driver Development over USB
Rapid SPi Device Driver Development over USBRapid SPi Device Driver Development over USB
Rapid SPi Device Driver Development over USB
 
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT DevicesTizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
 
IoTivity: Smart Home to Automotive and Beyond
IoTivity: Smart Home to Automotive and BeyondIoTivity: Smart Home to Automotive and Beyond
IoTivity: Smart Home to Automotive and Beyond
 
IoTivity for Automotive: meta-ocf-automotive tutorial
IoTivity for Automotive: meta-ocf-automotive tutorialIoTivity for Automotive: meta-ocf-automotive tutorial
IoTivity for Automotive: meta-ocf-automotive tutorial
 
GENIVI + OCF Cooperation
GENIVI + OCF CooperationGENIVI + OCF Cooperation
GENIVI + OCF Cooperation
 
Framework for IoT Interoperability
Framework for IoT InteroperabilityFramework for IoT Interoperability
Framework for IoT Interoperability
 
Open Source Metrics to Inform Corporate Strategy
Open Source Metrics to Inform Corporate StrategyOpen Source Metrics to Inform Corporate Strategy
Open Source Metrics to Inform Corporate Strategy
 
IoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT InteroperabilityIoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT Interoperability
 
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
 
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceAdding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
 
IoTivity: From Devices to the Cloud
IoTivity: From Devices to the CloudIoTivity: From Devices to the Cloud
IoTivity: From Devices to the Cloud
 
SOSCON 2016 JerryScript
SOSCON 2016 JerryScriptSOSCON 2016 JerryScript
SOSCON 2016 JerryScript
 
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity
IoT: From Arduino Microcontrollers to Tizen Products using IoTivityIoT: From Arduino Microcontrollers to Tizen Products using IoTivity
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity
 
Run Your Own 6LoWPAN Based IoT Network
Run Your Own 6LoWPAN Based IoT NetworkRun Your Own 6LoWPAN Based IoT Network
Run Your Own 6LoWPAN Based IoT Network
 
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxPractical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
 
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
IoTivity Tutorial: Prototyping IoT Devices on GNU/LinuxIoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
 
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of ThingsJerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
 

Recently uploaded

Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsPaul Groth
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backElena Simperl
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...Sri Ambati
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...Elena Simperl
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Product School
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesThousandEyes
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...Product School
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupCatarinaPereira64715
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1DianaGray10
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...Product School
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Product School
 

Recently uploaded (20)

Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 

Anatomy of An Open Source Project: Key Factors to Success

  • 1. 1Samsung Open Source Group Anatomy of an Open Source Project Key Factors to Success Guy Martin Senior Strategist Samsung Open Source Group guym@osg.samsung.com @guyma, @SamsungOSG
  • 2. 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.
  • 3. 3Samsung Open Source Group Abnormal Project Anatomy
  • 4. 4Samsung Open Source Group The Brain Governance
  • 5. 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
  • 6. 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-subsys tem mainta iner Sub-subsys tem mainta iner Sub-subsys tem mainta iner Sub-subsys tem mainta iner Sub-subsys tem mainta iner Developer Developer Developer Developer Developer Developer Developer Developer Developer Developer Developer Developer Developer Developer Meritocracy drives advancement and acceptance Not influenced by marketing
  • 7. 7Samsung Open Source Group Open Source Development Model User Community Developer Community Project or Feature Ideas Architecture and Design Discussion Implementation (coding) Continuous Testing and Integration Deployment (release) Maintenance Patches (submitted by developers and users) Feature Requests (submitted by developers and users) Test Projects to Automate Testing and Validation
  • 8. 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
  • 9. 9Samsung Open Source Group The Heart Culture, Transparency, Openness
  • 10. 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
  • 11. 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
  • 12. 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’
  • 13. 13Samsung Open Source Group The Blood Contributions
  • 14. 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
  • 15. 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
  • 16. 16Samsung Open Source Group The Skeleton Infrastructure
  • 17. 17Samsung Open Source Group Project Infrastructure
  • 18. 18Samsung Open Source Group Project Infrastructure Examples: Front Page What the project does Where to find the code Who is sponsoring
  • 19. 19Samsung Open Source Group Project Infrastructure Examples: For Developers
  • 20. 20Samsung Open Source Group Project Infrastructure Examples: Get Involved
  • 21. 21Samsung Open Source Group The Checkup Project Review
  • 22. 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)
  • 23. 23Samsung Open Source Group Questions and Discussion Guy Martin guym@osg.samsung.com