Download presentation
Presentation is loading. Please wait.
1
OSS Development Team in a Company
2015/06/04 Ken’ichi Ohmichi Ghanshyam Mann NEC
2
Agenda Who are we? Purposes to join OSS development
Company viewpoint Developer viewpoint Growing steps of OSS developer Step1: Fix trivial bugs Step2: Review patches Step3: Propose big features Join OSS development community Keep relation with s, IRCs and meetups Educate new developers
3
Who are we? Ken’ichi Ohmichi Ghanshyam Mann
Software developer from NEC Some proprietary software developments’ experience OSS development experience related to Linux crashdump OpenStack community member since 2012 Core developer of two OpenStack projects: Nova and Tempest Ghanshyam Mann Core developer of OpenStack project: Tempest
4
Purposes to join OSS dev - Company viewpoint -
5
Share Development Cost Between Companies
Some OSS codes are huge Difficult to implement a competing software by a single company v4.0.4 14ML Kilo 3ML
6
Avoid maintenance cost of private changes
Make Feature De-fact Avoid maintenance cost of private changes High speed OSS changes(feature, bug-fix, cleanup) Difficult to catch all changes
7
Keep High Quality Detect/Fix bugs at upstream to help users including company’s consumers 3 core developers in our team do that at upstream
8
Follow Upstream-First Trend
Some projects’ requirements become to contain Upstream-First
9
Purposes to join OSS dev - developer viewpoint -
10
Skip Up Read/Write code without documents
Unnecessary to read/write many docs Concentrate on code Get feedback from skillful developers in the world Sometimes negative feedback hurts us But that is a good chance to lean technical knowledge
11
Get Friends In The World
Conferences/meetups hold in the world Meet skillful developers directly and enjoy discussions August 17-19 @Seattle October 5-7 @Dublin, Ireland March 29-30 Lake Tahoe, CA
12
Get Opportunities OSS works are public and everyone can know OSS developers skills Expose your experiences/specials on
13
Growing Steps of OSS developer
14
Growing Steps of OSS Developer
Lead OSS project Leader ③Propose big features Developer ②Review patches ①Fix trivial bugs Use OSS User Time
15
Step1: Fix Trivial Bugs(1/2)
Trivial bug-fix patches are easy to be merged Fix typos Add error handlings
16
Step1: Fix Trivial Bugs(2/2)
Know community manners via patch mergers Know coding style Linux: Don’t use braces(“{ .. }”) for a single statement OpenStack: Write imported modules order correctly Know commit message format Linux: Signed-off-by: OpenStack: Closes-Bug: #xxx Response feedback calmly Sometimes get negative feedback But that will be hint of improvement Apply feedback to the patch quickly Quick patch updates help reviewers because reviewers can avoid brain context switching
17
Step2: Review Patches(1/3)
Patch reviews help community development Reviews are important to decide whether the patches should be merged to upstream But difficult to get enough reviews, because most developers prefer writing patches than reviewing patches by nature Your reviews will help the other developments Linus’s Rule: Given enough eyeballs, all bus are shallow
18
Step2: Review Patches(2/3)
Developers can grow via patch reviews Know upstream development trends Lean what points are important from the other developer viewpoints
19
Step2: Review Patches(3/3)
Review coworkers’ patches Easy to understand the purpose because of F2F communication Avoid company private reviews, make them public instead Review the other patches in particular area Have good experience by writing patches also Report the test result on some environments Make review area wider Know main trend of the OSS project Propose reasonable features based on the trend Growing
20
Step3: Propose Big Features(1/2)
Make features common OSS seems like greatest common divisor Common features are acceptable Implement them by small steps A single big patch is difficult to be reviewed Make development proceed by small patches Share big workload between developers
21
Step3: Propose Big Features(2/2)
Don’t stick on single implementation way When getting feedback, developers tend to stick on their own implementation ways. But not important in most cases Better to adopt good implementation way and apply feedback soon for going forward
22
Join OSS development community
23
Join OSS Development Community
Keep touch with s, IRCs and conferences/meetups Way Time Zone Issue Language Fun s None Small Middle IRCs High Conferences /Meetups None, but Jet Lag High, but we can feel some inspiration by F2F Super High!!
24
Educate New Developers
Step 1: Share knowledge in a company internal team Step 2: Join the upstream training Step 3: Share knowledge in a community OpenStack Upstream Training
25
Summary
26
Make a company internal team close to OSS upstream
Summary Growing steps of OSS developer Step1: Fix trivial bugs Step2: Review patches Step3: Propose big features Join OSS development community Keep relation with s, IRCs and meetups Educate new developers Make a company internal team close to OSS upstream ・Make process close to community manner ・Help the other community members ・Develop big features together
27
Managing the international OpenStack Development Team for Success
Related session Managing the international OpenStack Development Team for Success Friday, June 5 14:00 – Orchid 3 Topics: Culture, Language, Character and etc.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.