1 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Ibrahim Haddad, Ph.D.	
Head of Open Source Group	
Samsu...
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	
Infrastructu...
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...
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...
9 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Legal Preparations
-  Patent Scrub to identify IP areas...
10 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
License Selection Considerations
•  Use a mainstream O...
11 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Source Code Preparations
•  Clean up the code	
-  Ensu...
12 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Marketing Preparations
•  Design project logo, color s...
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 	
•  D...
15 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Governance Decisions
•  All projects should define and...
16 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Basic Recommendations
•  Governing body should represe...
17 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Project Maintainer
•  A formal position of leadership ...
18 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Define the “Project Maintainer Role”
•  Setting the cr...
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:!
-  Web...
21 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Project Infrastructure Examples: Front Page
What the
p...
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 i...
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 launchin...
30 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Is this your first time doing this?
•  Train your empl...
31 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
After the launch
•  Work on building a developer commu...
32 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley
Be a Good Open Source Citizen
•  Have conversations an...
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 ope...
From Idea to Corporate-Sponsored Open Source Project
Upcoming SlideShare
Loading in …5
×

From Idea to Corporate-Sponsored Open Source Project

360 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
360
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

From Idea to Corporate-Sponsored Open Source Project

  1. 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. 2 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Open Collaboration Changes Everything
  3. 3. 4 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Content Process Preparations Governance Infrastructure Review Launch
  4. 4. 5 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Preparations: Process Walkthrough
  5. 5. 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!
  6. 6. 7 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley It starts with open sourcing for the right reasons
  7. 7. 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.)
  8. 8. 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
  9. 9. 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.
  10. 10. 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.
  11. 11. 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.
  12. 12. 13 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Project Governance
  13. 13. 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
  14. 14. 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.
  15. 15. 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
  16. 16. 17 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Project Maintainer •  A formal position of leadership within the project
  17. 17. 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
  18. 18. 19 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Project Infrastructure
  19. 19. 20 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Project Infrastructure •  Essentialcomponents:! -  Website! -  Wiki(Usercontributeddocumentation)! -  Gitorothersourcecoderepositorysystem! -  Mailinglists! -  IRC! -  Bugandfeaturetracking! -  Automatedbuildandtestsystem! -  Discussionforums!
  20. 20. 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
  21. 21. 22 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Project Infrastructure Examples: Get Involved
  22. 22. 23 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Project Infrastructure Examples: Processes
  23. 23. 24 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Project Infrastructure Examples: Processes
  24. 24. 25 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Project Infrastructure Examples: Sign-off-by
  25. 25. 26 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Final Reviews Before Release
  26. 26. 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.
  27. 27. 28 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Operation “Launch”
  28. 28. 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.
  29. 29. 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.
  30. 30. 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
  31. 31. 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
  32. 32. 33 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Leadership != Control
  33. 33. 34 © 2013 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Closing
  34. 34. Ittakes wholecommunity! toraiseanopensourceproject!
  35. 35. 36  
  36. 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.

×