CORD : How to Contribute to CORD

Thanks for your interest in contributing to CORD.  We know that getting involved in an open source project can feel daunting, so this section provides information to make this jump smoother.  If you have any questions about any of this, please check out the contact information below.

Types of Contribution

Submitting code as a developer is certainly a way to contribute to a project, but not the only way. There are many aspects to an open source project where contributors can help, including (but not limited to):

  • Development: Help build CORD. Opportunities range from coding new features to creating unit tests to bug fixes. 
  • Documentation: Help create clear, concise documentation. Identify and add whatever is missing and fix what is unclear or just plain wrong.
  • Deployment: Help us show the world that CORD can work in real networks by deploying CORD and its applications on your network.
  • Services: Add to the CORD service inventory.  Import legacy VNFs into CORD or build new services from existing open source (e.g., OpenVPN, Casandra, MongoDB). 
     
  • Hardware: Integrate access technologies (e.g., OLT, G.Fast, 10GPON, DOCSIS, BBU) into a CORD POD for use in different market domains.   
  • Quality: Help test CORD – whether it’s the platform, sample applications or documentation. Work with the Jira issues to ensure that they are clear, complete, and the problems are reproducible.
  • User experience and UI: Help ensure that the CORD user experience is WOW – not blah! Help create a unique look, feel, and experience for CORD users.
  • Evangelism: Help spread the word in your area about what's happening in the CORD community.  Learn how to get involved with the CORD Ambassador program.

 There are other ways to contribute to CORD.  For instance, you may be interested in running a training event in your area.  If there is something you're interested in doing but don't see information about that here, please contact us.

Contact Information

  • Mailing lists: Anyone interested in contributing should join CORD-discuss. This is the primary mailing list for general questions and discussions  
  • Chat: Join us on Slack for real-time conversations about CORD.  There is a general channel as well as channels dedicated to specific topics.  Feel free to stop by and ask questions and introduce yourself. If you need an introduction, you can get one at https://slackin.opencord.org/

Crowd Registration

An account is required to access the various contributor services and access rights, such as JIRA issue creation. An account may be created at https://opennetworking.org/register/.

Asking Questions

If you are working on a task, and are stuck, don't be afraid to ask questions - it's certainly in everyone's interest to move the project forward! However, please be sure to search existing documentations and mailing list archives before doing so, or the response you get may consist of a link to a page or something similarly terse. Likewise, If you have log files, or steps for recreating an odd behavior, attach or mention those to your question as well - Just saying "It's broken" without the specifics will just result in a response asking for those materials. 

Submitting Bug Reports

If you encounter unexpected or incorrect behavior, first make sure that you understand what the correct behavior should be (and why it should be that way), and confirm that you are using the system correctly based on the documentation. Try to isolate the issue as much as possible, by finding the minimum set of steps (or a small, simple piece of code) that can reliably reproduce the problem. Make sure to include a transcript or log of any input steps or output. Finally, to submit the bug report itself, go to https://jira.opencord.org/.