SlideShare a Scribd company logo
1 of 37
Download to read offline
1 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Ibrahim Haddad, Ph.D.	
Head of Open Source Group	
Samsung Research America – Silicon Valley	
	
Ibrahim.H@Samsung.com	
From an Idea to a Corporate
Sponsored Open Source Project
A Practical Guide to Starting a New Open Source Project and to Open
Sourcing Proprietary Source Code
2 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Open Collaboration Changes Everything
4 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Content
Process	
Preparations	
Governance	
Infrastructure	
Review	
Launch
5 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Preparations: Process Walkthrough
6 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
High Level Process Overview
InternalPreparations!
Legal!
Technical!
Business!
Marketing!
Defineproject
governance!
Finalcodereview!
Launchandmaintain!
OpenSourcefor
theRightReasons!
Setupproject
infrastructure!
7 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
It starts with open sourcing for the right reasons
8 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Business Preparations
•  Determine the overall strategy	
-  “Why are we doing this?”	
-  Business case/value proposition	
•  Ensure there is an executive champion for the project 	
-  Commitment for resources (developers)	
-  Commitment for funding (project infrastructure, events, travel, etc.)
9 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Legal Preparations
-  Patent Scrub to identify IP areas in the existing source
code to be made available 	
·  This is a source for the largest headaches you can experience	
-  Decide on License	
-  Decide on trademark use, requirements, and process	
-  Ensure a clean BoM for the code to be released	
·  Identify all source code originating from outside your company	
-  Other items as necessary
10 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
License Selection Considerations
•  Use a mainstream OSI-approved license (opensource.org)	
•  Some factors to consider in choosing a license:	
-  Do you want to relinquish any control over how your code is used and
distributed?	
-  Do you want to allow people to use your code in non open-source
programs?	
-  If somebody uses your code in their program and sells their program
for money, do you want some of that money?	
-  Do you want to ensure all future derivatives distribute source code?	
-  Do you want your code to be usable in both open source and
proprietary products?	
-  If it’s a library, should non-open source code be allowed to link to it?	
-  Etc.
11 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Source Code Preparations
•  Clean up the code	
-  Ensure coding style is consistent	
-  Clean up internal comments, references to other internal code, etc.	
-  Remove any code not part of open sourcing plan	
-  Remove dependencies on non-public components	
•  Add license and copyright notices	
-  Add license notice in source code files	
-  Add license text as a file in the root directory	
-  Update copyright notices in source code files	
•  Prepare the code for new external users	
-  Provide documentation and use case examples	
-  Ensure it compiles and builds on target platforms	
-  Fully document all APIs	
-  Etc.
12 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Marketing Preparations
•  Design project logo, color scheme,
website, collateral, etc.	
•  Formalize branding guidelines (do
you need a compliance program?)	
•  Register social media accounts for
the project 	
•  Register domain names	
•  Etc.
13 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Project Governance
14 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Project Governance
•  Companies vs. individuals 	
•  Define the structure around a project that enables decisions
on:	
-  Participation guidelines and requirements	
-  Architectural changes	
-  Nominating maintainers	
-  Final arbiter on disputes	
-  Suspension of participants	
-  Etc.	
•  Often similar to a board of directors	
-  Typically represents mix of project contributors
15 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Governance Decisions
•  All projects should define and communicate, at minimum:	
-  Processes for submitting code, patches, feature ideas, etc.	
-  Process for technical conflict resolution	
-  Release management process	
•  A multi-company project may need more formal governance	
-  Decide on how governance is structured, who can participate, for how
long, etc.
16 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Basic Recommendations
•  Governing body should represent various participating
entities	
•  Democratic system	
•  Clear decision-making process	
•  Clear path to resolve disputes	
•  Flexibility to adapt to changing project needs	
•  Clear means to add new or replace members	
è Check the governance of the Linux Foundation projects
17 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Project Maintainer
•  A formal position of leadership within the project
18 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Define the “Project Maintainer Role”
•  Setting the criteria for accepted / rejected code	
•  Reviewing submitted code / accept and reject based on pre-defined
rules	
•  Tracking dependency issues	
•  Notifying developers of source code changes that may affect their
packages	
•  Managing source code security issues	
•  Working closely with team developing the source code	
•  Working closely with QA team testing the source code	
•  Dealing with reported bugs in a timely manner	
•  Preparing binaries – packages of the source code
19 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Project Infrastructure
20 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Project Infrastructure
•  Essentialcomponents:!
-  Website!
-  Wiki(Usercontributeddocumentation)!
-  Gitorothersourcecoderepositorysystem!
-  Mailinglists!
-  IRC!
-  Bugandfeaturetracking!
-  Automatedbuildandtestsystem!
-  Discussionforums!
21 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Project Infrastructure Examples: Front Page
What the
project does
Where to
find the code
Who is
involved
22 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Project Infrastructure Examples: Get Involved
23 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Project Infrastructure Examples: Processes
24 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Project Infrastructure Examples: Processes
25 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Project Infrastructure Examples: Sign-off-by
26 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Final Reviews Before Release
27 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Final Reviews (i.e. Final Final)
•  All requirements identified by the business, legal, technical,
and marketing reviews are completely met	
•  Examples:	
-  License, attribution, and copyright texts are all complete and in place	
-  Source code scanner reports clean bill of materials	
-  Every line of code is licensed appropriately for release	
-  Comments are sanitized of casual or unrelated language	
-  Source code does not inadvertently reveal internal projects	
-  Source code is sufficiently complete that it will build	
-  Source code builds using publicly available tools	
-  etc.
28 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Operation “Launch”
29 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Prior To Launch
•  Build critical mass before launching	
-  Provide preview to customers and partners so they can begin to work with the
code	
-  Lobby for launch-day participants among your existing business partners	
•  Train your employees to follow open source methods and processes	
•  Ensure that all project infrastructure is running, secure, and scalable	
•  Upload the code	
•  Ensure internal developers join and continually monitor IRC channel,
mailing lists, etc.
30 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Is this your first time doing this?
•  Train your employees and managers	
-  Open source development methods and processes	
-  Working with the open source community 	
-  Your company's open source policies and compliance rules	
-  Integrating open source software within your software development
model	
•  Follow open source practices internally	
•  Encourage community thinking	
-  Welcome help in crafting a more general solution	
-  You will be working alongside competitors, get used to it.
31 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
After the launch
•  Work on building a developer community	
-  Is it easy to find and join as an outsider?	
-  Does the community have the documentation they need, and a means
to update it?	
-  Is the process for accepting community code working?	
•  Follow open source development model & practices	
•  Remain visible
32 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Be a Good Open Source Citizen
•  Have conversations and make decisions in the open	
-  Builds goodwill, but also reduces overhead in documenting decisions	
-  Streamlines onboarding process for new participants	
-  Archives ensure continuity if participants change	
•  Listen to the community	
-  They know what they are doing, particularly on integration and testing	
-  Encourage generalized implementations that extend what you need,
particularly if someone else volunteers	
•  Initially allocate resources as if you will be the only company
doing the work	
-  Set goals, and make sure they have resources to get accomplished	
-  This builds momentum until the leveraged development model takes
effect
33 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Leadership != Control
34 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Closing
Ittakes wholecommunity!
toraiseanopensourceproject!
36	
  
37 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Thank you goes to the thousands 

and thousands of open source 

developers ... Not just for the code but 

most importantly for innovating a better

way to create software.

More Related Content

Similar to From Idea to Corporate-Sponsored Open Source Project

Samsung and the Path to Open Source Leadership
Samsung and the Path to Open Source LeadershipSamsung and the Path to Open Source Leadership
Samsung and the Path to Open Source LeadershipRyo Jin
 
The Art and Science of Open Source Compliance
The Art and Science of Open Source ComplianceThe Art and Science of Open Source Compliance
The Art and Science of Open Source ComplianceSamsung Open Source Group
 
The Future of IoT: Why We Need the Open Interconnect Consortium
The Future of IoT: Why We Need the Open Interconnect ConsortiumThe Future of IoT: Why We Need the Open Interconnect Consortium
The Future of IoT: Why We Need the Open Interconnect ConsortiumOpen Interconnect Consortium
 
Federating Subversion and Git
Federating Subversion and GitFederating Subversion and Git
Federating Subversion and GitCollabNet
 
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
 
The Future of IoT: Why We Need the Open Interconnect Consortium
The Future of IoT: Why We Need the Open Interconnect ConsortiumThe Future of IoT: Why We Need the Open Interconnect Consortium
The Future of IoT: Why We Need the Open Interconnect ConsortiumSamsung Open Source Group
 
The Role of Legal Counsels in Focusing Compliance on Scaling and Execution
The Role of Legal Counsels in Focusing Compliance on Scaling and ExecutionThe Role of Legal Counsels in Focusing Compliance on Scaling and Execution
The Role of Legal Counsels in Focusing Compliance on Scaling and ExecutionSamsung Open Source Group
 
Scaling Application Development & Delivery across the Enterprise
Scaling Application Development & Delivery across the EnterpriseScaling Application Development & Delivery across the Enterprise
Scaling Application Development & Delivery across the EnterpriseCollabNet
 
10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust
10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust
10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_custdennisn129
 
5 strategies for enterprise cloud infrastructure success
5 strategies for enterprise cloud infrastructure success5 strategies for enterprise cloud infrastructure success
5 strategies for enterprise cloud infrastructure successRogue Wave Software
 
Loras College 2014 Business Analytics Symposium | Aaron Lanzen: Creating Busi...
Loras College 2014 Business Analytics Symposium | Aaron Lanzen: Creating Busi...Loras College 2014 Business Analytics Symposium | Aaron Lanzen: Creating Busi...
Loras College 2014 Business Analytics Symposium | Aaron Lanzen: Creating Busi...Cartegraph
 
A blueprint for enterprise agility
A blueprint for enterprise agilityA blueprint for enterprise agility
A blueprint for enterprise agilityCollabNet
 
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
 
Agile Governance for Hybrid Programs
Agile Governance for Hybrid ProgramsAgile Governance for Hybrid Programs
Agile Governance for Hybrid ProgramsCprime
 
Delivering Network Innovation with SDN - Tom Nadeau
Delivering Network Innovation with SDN - Tom Nadeau Delivering Network Innovation with SDN - Tom Nadeau
Delivering Network Innovation with SDN - Tom Nadeau scoopnewsgroup
 
Building A Business-Facing Mobile Developer Community
Building A Business-Facing Mobile Developer CommunityBuilding A Business-Facing Mobile Developer Community
Building A Business-Facing Mobile Developer CommunityProgrammableWeb
 
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...WSO2
 
SDN Basics – What You Need to Know about Software-Defined Networking
SDN Basics – What You Need to Know about Software-Defined NetworkingSDN Basics – What You Need to Know about Software-Defined Networking
SDN Basics – What You Need to Know about Software-Defined NetworkingSDxCentral
 

Similar to From Idea to Corporate-Sponsored Open Source Project (20)

Samsung and the Path to Open Source Leadership
Samsung and the Path to Open Source LeadershipSamsung and the Path to Open Source Leadership
Samsung and the Path to Open Source Leadership
 
Samsung and the path to open source leadership
Samsung and the path to open source leadershipSamsung and the path to open source leadership
Samsung and the path to open source leadership
 
The Art and Science of Open Source Compliance
The Art and Science of Open Source ComplianceThe Art and Science of Open Source Compliance
The Art and Science of Open Source Compliance
 
The Future of IoT: Why We Need the Open Interconnect Consortium
The Future of IoT: Why We Need the Open Interconnect ConsortiumThe Future of IoT: Why We Need the Open Interconnect Consortium
The Future of IoT: Why We Need the Open Interconnect Consortium
 
Federating Subversion and Git
Federating Subversion and GitFederating Subversion and Git
Federating Subversion and Git
 
The Pre-Open Sourcing Sanity Check
The Pre-Open Sourcing Sanity CheckThe Pre-Open Sourcing Sanity Check
The Pre-Open Sourcing Sanity Check
 
Developing OSS Leadership (LinuxCon NA - 2014)
Developing OSS Leadership (LinuxCon NA - 2014)Developing OSS Leadership (LinuxCon NA - 2014)
Developing OSS Leadership (LinuxCon NA - 2014)
 
The Future of IoT: Why We Need the Open Interconnect Consortium
The Future of IoT: Why We Need the Open Interconnect ConsortiumThe Future of IoT: Why We Need the Open Interconnect Consortium
The Future of IoT: Why We Need the Open Interconnect Consortium
 
The Role of Legal Counsels in Focusing Compliance on Scaling and Execution
The Role of Legal Counsels in Focusing Compliance on Scaling and ExecutionThe Role of Legal Counsels in Focusing Compliance on Scaling and Execution
The Role of Legal Counsels in Focusing Compliance on Scaling and Execution
 
Scaling Application Development & Delivery across the Enterprise
Scaling Application Development & Delivery across the EnterpriseScaling Application Development & Delivery across the Enterprise
Scaling Application Development & Delivery across the Enterprise
 
10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust
10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust
10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust
 
5 strategies for enterprise cloud infrastructure success
5 strategies for enterprise cloud infrastructure success5 strategies for enterprise cloud infrastructure success
5 strategies for enterprise cloud infrastructure success
 
Loras College 2014 Business Analytics Symposium | Aaron Lanzen: Creating Busi...
Loras College 2014 Business Analytics Symposium | Aaron Lanzen: Creating Busi...Loras College 2014 Business Analytics Symposium | Aaron Lanzen: Creating Busi...
Loras College 2014 Business Analytics Symposium | Aaron Lanzen: Creating Busi...
 
A blueprint for enterprise agility
A blueprint for enterprise agilityA blueprint for enterprise agility
A blueprint for enterprise agility
 
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
 
Agile Governance for Hybrid Programs
Agile Governance for Hybrid ProgramsAgile Governance for Hybrid Programs
Agile Governance for Hybrid Programs
 
Delivering Network Innovation with SDN - Tom Nadeau
Delivering Network Innovation with SDN - Tom Nadeau Delivering Network Innovation with SDN - Tom Nadeau
Delivering Network Innovation with SDN - Tom Nadeau
 
Building A Business-Facing Mobile Developer Community
Building A Business-Facing Mobile Developer CommunityBuilding A Business-Facing Mobile Developer Community
Building A Business-Facing Mobile Developer Community
 
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
 
SDN Basics – What You Need to Know about Software-Defined Networking
SDN Basics – What You Need to Know about Software-Defined NetworkingSDN Basics – What You Need to Know about Software-Defined Networking
SDN Basics – What You Need to Know about Software-Defined Networking
 

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
 

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
 
Clang: More than just a C/C++ Compiler
Clang: More than just a C/C++ CompilerClang: More than just a C/C++ Compiler
Clang: More than just a C/C++ Compiler
 

Recently uploaded

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 

Recently uploaded (20)

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 

From Idea to Corporate-Sponsored Open Source Project

  • 1. 1 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Ibrahim Haddad, Ph.D. Head of Open Source Group Samsung Research America – Silicon Valley Ibrahim.H@Samsung.com From an Idea to a Corporate Sponsored Open Source Project A Practical Guide to Starting a New Open Source Project and to Open Sourcing Proprietary Source Code
  • 2. 2 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Open Collaboration Changes Everything
  • 3.
  • 4. 4 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Content Process Preparations Governance Infrastructure Review Launch
  • 5. 5 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Preparations: Process Walkthrough
  • 6. 6 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley High Level Process Overview InternalPreparations! Legal! Technical! Business! Marketing! Defineproject governance! Finalcodereview! Launchandmaintain! OpenSourcefor theRightReasons! Setupproject infrastructure!
  • 7. 7 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley It starts with open sourcing for the right reasons
  • 8. 8 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Business Preparations •  Determine the overall strategy -  “Why are we doing this?” -  Business case/value proposition •  Ensure there is an executive champion for the project -  Commitment for resources (developers) -  Commitment for funding (project infrastructure, events, travel, etc.)
  • 9. 9 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Legal Preparations -  Patent Scrub to identify IP areas in the existing source code to be made available ·  This is a source for the largest headaches you can experience -  Decide on License -  Decide on trademark use, requirements, and process -  Ensure a clean BoM for the code to be released ·  Identify all source code originating from outside your company -  Other items as necessary
  • 10. 10 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley License Selection Considerations •  Use a mainstream OSI-approved license (opensource.org) •  Some factors to consider in choosing a license: -  Do you want to relinquish any control over how your code is used and distributed? -  Do you want to allow people to use your code in non open-source programs? -  If somebody uses your code in their program and sells their program for money, do you want some of that money? -  Do you want to ensure all future derivatives distribute source code? -  Do you want your code to be usable in both open source and proprietary products? -  If it’s a library, should non-open source code be allowed to link to it? -  Etc.
  • 11. 11 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Source Code Preparations •  Clean up the code -  Ensure coding style is consistent -  Clean up internal comments, references to other internal code, etc. -  Remove any code not part of open sourcing plan -  Remove dependencies on non-public components •  Add license and copyright notices -  Add license notice in source code files -  Add license text as a file in the root directory -  Update copyright notices in source code files •  Prepare the code for new external users -  Provide documentation and use case examples -  Ensure it compiles and builds on target platforms -  Fully document all APIs -  Etc.
  • 12. 12 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Marketing Preparations •  Design project logo, color scheme, website, collateral, etc. •  Formalize branding guidelines (do you need a compliance program?) •  Register social media accounts for the project •  Register domain names •  Etc.
  • 13. 13 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Project Governance
  • 14. 14 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Project Governance •  Companies vs. individuals •  Define the structure around a project that enables decisions on: -  Participation guidelines and requirements -  Architectural changes -  Nominating maintainers -  Final arbiter on disputes -  Suspension of participants -  Etc. •  Often similar to a board of directors -  Typically represents mix of project contributors
  • 15. 15 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Governance Decisions •  All projects should define and communicate, at minimum: -  Processes for submitting code, patches, feature ideas, etc. -  Process for technical conflict resolution -  Release management process •  A multi-company project may need more formal governance -  Decide on how governance is structured, who can participate, for how long, etc.
  • 16. 16 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Basic Recommendations •  Governing body should represent various participating entities •  Democratic system •  Clear decision-making process •  Clear path to resolve disputes •  Flexibility to adapt to changing project needs •  Clear means to add new or replace members è Check the governance of the Linux Foundation projects
  • 17. 17 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Project Maintainer •  A formal position of leadership within the project
  • 18. 18 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Define the “Project Maintainer Role” •  Setting the criteria for accepted / rejected code •  Reviewing submitted code / accept and reject based on pre-defined rules •  Tracking dependency issues •  Notifying developers of source code changes that may affect their packages •  Managing source code security issues •  Working closely with team developing the source code •  Working closely with QA team testing the source code •  Dealing with reported bugs in a timely manner •  Preparing binaries – packages of the source code
  • 19. 19 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Project Infrastructure
  • 20. 20 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Project Infrastructure •  Essentialcomponents:! -  Website! -  Wiki(Usercontributeddocumentation)! -  Gitorothersourcecoderepositorysystem! -  Mailinglists! -  IRC! -  Bugandfeaturetracking! -  Automatedbuildandtestsystem! -  Discussionforums!
  • 21. 21 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Project Infrastructure Examples: Front Page What the project does Where to find the code Who is involved
  • 22. 22 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Project Infrastructure Examples: Get Involved
  • 23. 23 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Project Infrastructure Examples: Processes
  • 24. 24 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Project Infrastructure Examples: Processes
  • 25. 25 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Project Infrastructure Examples: Sign-off-by
  • 26. 26 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Final Reviews Before Release
  • 27. 27 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Final Reviews (i.e. Final Final) •  All requirements identified by the business, legal, technical, and marketing reviews are completely met •  Examples: -  License, attribution, and copyright texts are all complete and in place -  Source code scanner reports clean bill of materials -  Every line of code is licensed appropriately for release -  Comments are sanitized of casual or unrelated language -  Source code does not inadvertently reveal internal projects -  Source code is sufficiently complete that it will build -  Source code builds using publicly available tools -  etc.
  • 28. 28 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Operation “Launch”
  • 29. 29 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Prior To Launch •  Build critical mass before launching -  Provide preview to customers and partners so they can begin to work with the code -  Lobby for launch-day participants among your existing business partners •  Train your employees to follow open source methods and processes •  Ensure that all project infrastructure is running, secure, and scalable •  Upload the code •  Ensure internal developers join and continually monitor IRC channel, mailing lists, etc.
  • 30. 30 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Is this your first time doing this? •  Train your employees and managers -  Open source development methods and processes -  Working with the open source community -  Your company's open source policies and compliance rules -  Integrating open source software within your software development model •  Follow open source practices internally •  Encourage community thinking -  Welcome help in crafting a more general solution -  You will be working alongside competitors, get used to it.
  • 31. 31 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley After the launch •  Work on building a developer community -  Is it easy to find and join as an outsider? -  Does the community have the documentation they need, and a means to update it? -  Is the process for accepting community code working? •  Follow open source development model & practices •  Remain visible
  • 32. 32 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Be a Good Open Source Citizen •  Have conversations and make decisions in the open -  Builds goodwill, but also reduces overhead in documenting decisions -  Streamlines onboarding process for new participants -  Archives ensure continuity if participants change •  Listen to the community -  They know what they are doing, particularly on integration and testing -  Encourage generalized implementations that extend what you need, particularly if someone else volunteers •  Initially allocate resources as if you will be the only company doing the work -  Set goals, and make sure they have resources to get accomplished -  This builds momentum until the leveraged development model takes effect
  • 33. 33 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Leadership != Control
  • 34. 34 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Closing
  • 36. 36  
  • 37. 37 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Thank you goes to the thousands 
 and thousands of open source 
 developers ... Not just for the code but 
 most importantly for innovating a better
 way to create software.