From Idea to Corporate-Sponsored Open Source Project

37
1 © 2013 SAMSUNG Electronics Co. Open Source Group – Silicon Valley Ibrahim Haddad, Ph.D. Head of Open Source Group Samsung Research America – Silicon Valley [email protected] 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

Transcript of From Idea to Corporate-Sponsored Open Source Project

Page 1: From Idea to Corporate-Sponsored Open Source Project

1 © 2013 SAMSUNG Electronics Co. Open Source Group – Silicon Valley

Ibrahim Haddad, Ph.D. Head of Open Source Group

Samsung Research America – Silicon Valley

[email protected]

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

Page 2: From Idea to Corporate-Sponsored Open Source Project

2 © 2013 SAMSUNG Electronics Co. Open Source Group – Silicon Valley

Open Collaboration Changes Everything

Page 3: From Idea to Corporate-Sponsored Open Source Project
Page 4: From Idea to Corporate-Sponsored Open Source Project

4 © 2013 SAMSUNG Electronics Co. Open Source Group – Silicon Valley

Content

Process

Preparations

Governance

Infrastructure

Review

Launch

Page 5: From Idea to Corporate-Sponsored Open Source Project

5 © 2013 SAMSUNG Electronics Co. Open Source Group – Silicon Valley

Preparations: Process Walkthrough

Page 6: From Idea to Corporate-Sponsored Open Source Project

6 © 2013 SAMSUNG Electronics Co. Open Source Group – Silicon Valley

High Level Process Overview

Internal Preparations!

Legal!

Technical!

Business!

Marketing!

Define project governance!

Final code review!

Launch and maintain!

Open Source for �the Right Reasons!

Set up project infrastructure!

Page 7: From Idea to Corporate-Sponsored Open Source Project

7 © 2013 SAMSUNG Electronics Co. Open Source Group – Silicon Valley

It starts with open sourcing for the right reasons

Page 8: From Idea to Corporate-Sponsored Open Source Project

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.)

Page 9: From Idea to Corporate-Sponsored Open Source Project

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

Page 10: From Idea to Corporate-Sponsored Open Source Project

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.

Page 11: From Idea to Corporate-Sponsored Open Source Project

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.

Page 12: From Idea to Corporate-Sponsored Open Source Project

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.

Page 13: From Idea to Corporate-Sponsored Open Source Project

13 © 2013 SAMSUNG Electronics Co. Open Source Group – Silicon Valley

Project Governance

Page 14: From Idea to Corporate-Sponsored Open Source Project

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

Page 15: From Idea to Corporate-Sponsored Open Source Project

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.

Page 16: From Idea to Corporate-Sponsored Open Source Project

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

Page 17: From Idea to Corporate-Sponsored Open Source Project

17 © 2013 SAMSUNG Electronics Co. Open Source Group – Silicon Valley

Project Maintainer

•  A formal position of leadership within the project

Page 18: From Idea to Corporate-Sponsored Open Source 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

Page 19: From Idea to Corporate-Sponsored Open Source Project

19 © 2013 SAMSUNG Electronics Co. Open Source Group – Silicon Valley

Project Infrastructure

Page 20: From Idea to Corporate-Sponsored Open Source Project

20 © 2013 SAMSUNG Electronics Co. Open Source Group – Silicon Valley

Project Infrastructure

•  Essential components:!- Web site!- Wiki (User contributed documentation)!- Git or other source code repository system!- Mailing lists!-  IRC!- Bug and feature tracking!- Automated build and test system!- Discussion forums!

Page 21: From Idea to Corporate-Sponsored Open Source Project

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

Page 22: From Idea to Corporate-Sponsored Open Source Project

22 © 2013 SAMSUNG Electronics Co. Open Source Group – Silicon Valley

Project Infrastructure Examples: Get Involved

Page 23: From Idea to Corporate-Sponsored Open Source Project

23 © 2013 SAMSUNG Electronics Co. Open Source Group – Silicon Valley

Project Infrastructure Examples: Processes

Page 24: From Idea to Corporate-Sponsored Open Source Project

24 © 2013 SAMSUNG Electronics Co. Open Source Group – Silicon Valley

Project Infrastructure Examples: Processes

Page 25: From Idea to Corporate-Sponsored Open Source Project

25 © 2013 SAMSUNG Electronics Co. Open Source Group – Silicon Valley

Project Infrastructure Examples: Sign-off-by

Page 26: From Idea to Corporate-Sponsored Open Source Project

26 © 2013 SAMSUNG Electronics Co. Open Source Group – Silicon Valley

Final Reviews Before Release

Page 27: From Idea to Corporate-Sponsored Open Source Project

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.

Page 28: From Idea to Corporate-Sponsored Open Source Project

28 © 2013 SAMSUNG Electronics Co. Open Source Group – Silicon Valley

Operation “Launch”

Page 29: From Idea to Corporate-Sponsored Open Source Project

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.

Page 30: From Idea to Corporate-Sponsored Open Source Project

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.

Page 31: From Idea to Corporate-Sponsored Open Source Project

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

Page 32: From Idea to Corporate-Sponsored Open Source Project

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

Page 33: From Idea to Corporate-Sponsored Open Source Project

33 © 2013 SAMSUNG Electronics Co. Open Source Group – Silicon Valley

Leadership != Control

Page 34: From Idea to Corporate-Sponsored Open Source Project

34 © 2013 SAMSUNG Electronics Co. Open Source Group – Silicon Valley

Closing

Page 35: From Idea to Corporate-Sponsored Open Source Project

It takes whole community !to raise an open source project!

Page 36: From Idea to Corporate-Sponsored Open Source Project

36  

Page 37: From Idea to Corporate-Sponsored Open Source Project

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.