OSS Development Team in a Company

Slides:



Advertisements
Similar presentations
Mark Smith & Denise Paolucci Dreamwidth Studios Build Your Own Contributors, One Part At A Time Licensed under Creative Commons 3.0.
Advertisements

BPAWG - Collaborative Tools Confluence What is a Wiki and 3 Reasons to Use One Wiki: A Web site developed collaboratively by a community of users, allowing.
Workforce Engagement Survey Engaging the workforce in simple and effective action planning.
Managing IT/IS Projects Across Borders: Opportunities and Challenges for Hong Kong Joseph Lee.
Introduction Managing time in organizations is difficult because time flows at the same rate for everyone and cannot be 'managed' like other resources.
FITT Fostering Interregional Exchange in ICT Technology Transfer Communication & Collaboration Tools.
Best Practices in Partnering Julia King Tamang
How Users Can Help a Project? Samisa Abeysinghe. Who Am I? Samisa Abeysinghe –ASF Member WS PMC –Projects Started with Apache Axis/C++ Now with Apache.
ITEC 370 Lecture 23 Maintenance. Review Questions? Project update on F, next F give prototype demonstration Maintenance –Reactive –Proactive.
Working with Expatriate in a competitive environment
Herriman High Computer Programming 1A Software Development Cycle Things to Know.
Unit II PERFORMANCE FEEDBACK.
Grading Exams and Papers. Exams What is there to think about? What should they know? Scores between students Scores between graders The post-grading.
1 February 6, Patches William Cohen NCSU CSC 591W February 6, 2008.
1 April 14, Starting New Open Source Software Projects William Cohen NCSU CSC 591W April 14, 2008.
Code Simplicity: Software Design In Open Source Projects Max Kanat-Alexander
Linux for Students By Leonid Mamchenkov. Contents ● About me ● About you ● Linux for students ● CS students ● Non-CS students ● How to start ● Summary.
9 Best practices to keep away from the Software Outsourcing Mistakes Prepared by:
Open source development model and methodologies.
Section 5.3 Keeping the Family Healthy Objectives
TOP project – STATUS UPDATE & Workflow demo
Evaluate the Evaluator Responses
Valuable Project Management Tools and Techniques
Family Aggression Replacement Training
TEAMWORK.
Introduction to Fedoraproject
Open Source Magento 2 What and How?
Power, Status, Leadership
How to use By Zainab Muman
Microsoft Dynamics GP User Group (GPUG®)
Code Reviews.
Microsoft Dynamics GP User Group (GPUG®)
UL1 - SOCIAL MEDIA Andrew Thorp, Media Relations
A Career in Open Source Software
Building a career with Ubuntu and FOSS
Building a Career in FOSS
ODF, LibreOffice and Red Hat
Auditing in an Agile Environment
Open Source Software for individuals and companies
Microsoft Dynamics GP User Group (GPUG®)
VENDORS, CONSULTANTS AND USERS
HCS 131 RANK Education Your Life-- hcs131rank.com ENV 340 STUDY.
HCS 131 RANK Perfect Education/ hcs131rank.com.
OpenStack QA Project Update, OpenStack Summit Vancouver
SUCCESS MANTRAS FOR BEING AN EFFECTIVE INFORMATION DEVELOPER IN AGILE
The 6 Thinking Hats Leadership Skills Development
Cyberinfrastructure in practice
Continuing Education Module
CHIPS for schools NSW Education Complaint Handling Improvement Program
Leadership Development
Programming.
Applied Software Project Management
Communicating Effectively in Meetings and Conversations
How to BEE a Key Club Member
Open Source Development Challenges
QA Reviews Lecture # 6.
Building Leadership Capacity Difficult Discussions
Building Leadership Capacity Difficult Discussions
Case Study 1 By : Shweta Agarwal Nikhil Walecha Amit Goyal
We would like to improve our workplace
Agile Development – a new way of software development?
KNOWLEDGE MANAGEMENT (KM) Session # 36
OpenStack QA Project- Roles & Its Key Activities
ESS.VIP.SERV Shared Services
Polytone Convey volume and emotion through text. By: A Team
NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
The StarlingX Story Learn, Try, Get Involved!
Pulse Survey Follow up 2019.
Why TopCode Academy is the Best IT Training Center In Ahmedabad TOPCODE ACADEMY.
Critical top 3s v
Presentation transcript:

OSS Development Team in a Company 2015/06/04 Ken’ichi Ohmichi Ghanshyam Mann NEC

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 e-mails, IRCs and meetups Educate new developers

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

Purposes to join OSS dev - Company viewpoint -

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

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

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

Follow Upstream-First Trend Some projects’ requirements become to contain Upstream-First

Purposes to join OSS dev - developer viewpoint -

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

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

Get Opportunities OSS works are public and everyone can know OSS developers skills Expose your experiences/specials on

Growing Steps of OSS developer

Growing Steps of OSS Developer Lead OSS project Leader ③Propose big features Developer ②Review patches ①Fix trivial bugs Use OSS User Time

Step1: Fix Trivial Bugs(1/2) Trivial bug-fix patches are easy to be merged Fix typos Add error handlings

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

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

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

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

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

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

Join OSS development community

Join OSS Development Community Keep touch with e-mails, IRCs and conferences/meetups Way Time Zone Issue Language Fun E-mails None Small Middle IRCs High Conferences /Meetups None, but Jet Lag High, but we can feel some inspiration by F2F Super High!!

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

Summary

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 e-mails, 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

Managing the international OpenStack Development Team for Success Related session Managing the international OpenStack Development Team for Success Friday, June 5 14:00 – 14:50 @ Orchid 3 Topics: Culture, Language, Character and etc.