This page is intended to provide guidance to new members for stepping up in the OPEN-O community.
OPEN-O is a vibrant community gathering the top players in the Information Technology arena. OPEN-O is using modern technologies to become agnostic to historic expensive hardware and is leveraging Open Source community as well as Agile practices to enable software-defined networking (SDN) and network function virtualization (NFV) operations.
OPEN-O is a place where anyone is welcomed to join and participate. OPEN-O values transparency, collaboration, responsiveness and effectiveness.
How to onboard a new Developer?
- Before anything else, create a Linux Foundation Account (also called LFID) this is your passport for any contribution within OPEN-O Community.
- Intellectual Property Right: be sensitive to what Intellectual Property Right mean!
- Be a good community citizen follow our: Community Code of Conduct
- Contribute in OPEN-O wiki
- Get started
- Join the mailing list and sign up on Slack for real time chat
- Participate on the calls: OPEN-O community holds every week 3 main meetings: Technical Steering Community Meeting, Architecture Review Community Meeting and Integration Meeting. Logistics.
- Observe/ask questions first, then dive in
- Some obvious places to start – bug fixes documentation, testing. Look at the Jira tickets and pick one
- Project best practices
- Identify your developer's TSC Charter Project Roles (Section 8) role up front: The OPEN-O Community is pretty large. They are Contributors, Committers and Project Team Lead covering multiple Approved projects which are then broken down in to multiple sub-projects. As you are just joining the OPEN-O community, most probably you will have a contributor role.
- OPEN-O is embracing Agile practices and provide a set of Development Practices to start with.
- Do your work in the Linux Foundation tool chain:
- Even if you’re sitting next to someone, communicate in public forums (wiki, Slack, mailing list, etc.). Private conversations don’t scale.
Who can contribute to OPEN-O?
Anyone willing to help the OPEN-O community can join as a Contributor. A standard meritocracy model allows Contributor to become Committers who will be the decision makers on design, code, packaging, and patches for their project. The TSC Charter describes these roles (section 8) in details.
How to contribute in OPEN-O Wiki?
The OPEN-O community is based on collaborative efforts. In other words, it is unlikely you will make something right the first time, and OPEN-O community understands and respects that with collaborative efforts we will make it right. This is again related to the OPEN-O values.
So when it comes to editing in the wiki, go ahead and don't worry about making your article perfect the first time through. Don't hesitate to add content you think is useful and don't hesitate to make edits where you think you can help. There's always somebody to fix anything that breaks.
To help you out in collaborating in its wiki, OPEN-O is providing some guidelines.
As its name says, this is a Wiki; please avoid uploading Word, Excel, PPT, and PDF documents. These are not easy to maintain, there is no history and we never know what is the latest version.
A good way to start, is to write a bit about yourself in your User page. We don't need your resume (LinkedIn do it very well). Just provide your name, location, time zone, which project you are in and how we can get in touch with you. Example. To edit your User page, once you are logged in the wiki, just click your name, then select Profile and go ahead, "Edit your Profile"
The Technical Steering Committee
The TSC (Technical Steering Committee) is the Committee chartered to make technical and release planning decisions for the community.
All TSC meeting minutes are logged in a single place.
Tools: the basics
OPEN-O Community is relying heavily on Linux Foundation who is providing state of the art whole Open Source tool chain.
So to get things moving, it may sounds obvious but any new members should start his journey by getting a Linux Foundation Account, also called LFID.
In OPEN-O, LFID is your free pass to login and contribute in the tool chain.
Meetings: OPEN-O community holds every week 3 main meetings: Technical Steering Community Meeting, Architecture Review Community Meeting, and Integration Meeting. Logistics.
- Problem to get started with LFID or any of the tools: email@example.com
- Real time, on your way general question for the OPEN-O community. Use Slack
- Deeper questions, need to share your thoughts or discuss a topic use the openo-discuss mailings list
OPEN-O uses a simultaneous delivery model, meaning that all contributing projects have to follow the cadence and intermediate milestones.
OPEN-O release cadence is 6 months. Consult OPEN-O calendar for details.
Furthermore, for its naming convention, OPEN-O releases follows the sun and planets of the solar system.
Lifecycle, Templates, Guidelines
Recommended Development Practices
Guideline to write good commit messages
To make you comfortable collaborating in the OPEN-O wiki, here are a few guidelines
OPEN-O Members agree that all new inbound code contributions to OPEN-O shall be made under the Apache License, Version 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0).
To become familiar with how Free and Open Source Software is implemented within OPEN-O.
Refer to Intellectual Property section in Development Practices to make it concrete in your project.
Furthermore, Linux Foundation is using FOSS to scan all the OPEN-O code to ensure license compliance.
How things work?
Contributions within an Open Source Community are not done for the sake of doing something. Contributions support a Business need, either it is a simple bug fix or a complete new set of functionalities.
The Business needs can be proposed by anyone to the OPEN-O Technical Steering Committee for discussions, reviews and approval (proposal and examples are available).
Once that fist step is passed (Release Kick-Off), the assigned resources can dive deeper and proposed a concrete Release Plan (Release Planning template) along with Use Cases, User Stories, Functionalities.
Now, all the Linux Foundation tools chain come in place. In OPEN-O, to support our value of transparency, everything we do is traceable. From Use Cases in wiki, to requirements (under the form of Stories grouped in Epics, and Tasks) in Jira, code commit in Gerrit (linked to Jira during commit) that triggers a Jenkins Build, and ultimately to repositories in Nexus.
Need to dive deeper?
Congrats. You are on the right track to contribute.
Here is a link you may find useful to dive deeper with coding.
Note: feel free to edit and improve these pages