Your guide to getting started with Open Source Software (OSS)

What is Open Source Software

The source code that is used to develop an OSS (Open Source Software) is published to the public. However, it does not mean that anyone with access can use the source code for free. You need to check the license that the software is registered under. OSS allows developers from various geographical regions to collaborate, and review each other's code before merging it with the source code, change the code, and share it. More often than not OSS is free, or developers consider it to be so. There are costs under the hood like those of maintenance, support and training users.

How developers benefit from contributing to the Open Source Project (OSS) projects

As a contributor to an OSS project, you have the privilege of accessing the implementation of key technologies. This kind of environment supports your growth as a developer. You get constant feedback, constructive criticism and you increase your knowledge in the process. The ecosystem is inclusive, you can contribute to projects in different ways. If you are still new to programming you will find it useful to be part of the community.

These communities are interactive, developers get a chance to showcase their knowledge and skills. It is best to dive in while you are still new in the field. In that way you will learn from skilled developers who have the most efficient methods of completing tasks and they understand how to use the tools. A lot of tech enterprises use OSS, Github is one example, it was acquired by Microsoft. Linux is used by IBM, Apple, Google Android and Microsoft to name a few. This goes to show how important OSS is to the success of big technology companies.

How to choose an Open Source Project (OSS)

Choosing a project to contribute to can be a daunting task. I will give you tips on how to choose the one that is most suitable for you.

  • Look for a project that you are familiar with or use on a daily basis.

  • The projects that are written in a language that you understand will be much easier to contribute to.

Where to look for projects

  • Github Is a code hosting platform that is used for collaboration and version control. Follow these steps to find a project to contribute to:

1.Edit the URL to search for the topic you are interested in. Like [github.com/topics], you will find a list of different topics on that page.

2.If you are looking for a specific topic use this example URL as your guide [github.com/topics/javascript] where javascript is your specified topic. You can replace it with python, react or any of your choices.

  • Up-for-grabs Lists projects that are actively seeking new contributors.
  • Good First Issues This is for developers who want to start contributing to OSS projects and need guidance on how and where to start. More like Github, developers can filter out the projects they would like to participate in by specifying the programming language that they are comfortable with.
  • CodeTriage

You want to contribute to Open Source, great! But how do you get started? CodeTriage helps by picking a handful of open issues and delivering them directly to your inbox. After you sign up for CodeTriage, you pick the repos you want to help with, and we periodically send you issues. If you get busy we have an algorithm that helps to back off the issue load so that you don't get overwhelmed.

Source: CodeTriage.

CodeTriage is not just a platform to find projects to contribute to. It also serves as your accountability partner. They keep you updated in your emails about the open issues. You'll never miss out on the action.

What you need to know before contributing to an Open Source project

Various OSS projects have specific criteria for the selection of contributors. Once you have identified a project that accepts contributions you need to familiarise yourself with the README .md file, CONTRIBUTING file, code of conduct, and the license. These files will provide you with the necessary information about how the project is structured, the criteria for contributing, how to behave and how the project will use your code. As an employee you need to be approved by the manager before you can start contributing to the project as part of your agreement for employment. In other organisations you are required to go for additional training and sign the contributors license agreement (CLA). After you have signed, the project takes legal rights to use the programs that you have written.

Open Source tools

  1. Version control system - Is a structure that manages and keeps track of the changes made to the source code. A large community of developers prefers to use git. It traces all the changes in the source code on the github repository and on your local development environment.

  2. Bug Tracking system
    "Bug tracking is the process of logging and monitoring bugs or errors during software testing. It is also referred to as defect tracking or issue tracking. Large systems may have hundreds or thousands of defects. Each needs to be evaluated, monitored and prioritized for debugging. In some cases, bugs may need to be tracked over a long period of time." says IBM . There is a few defect tracking software that is popular among developers. Like Jira software, Github issues and ZenHub.

  3. Communication tools - The beautiful thing about OSS projects is that developers across different geographical areas can work together on one project. They need an efficient to contact each other , share information and keep track of the latest changes to the project. Some project managers prefer to send out emails and organise community calls weekly.

Open Source Software projects are planned in a way that they can accomodate developers of varying skills and are built to scale. Having your pull requests accepted by the OSS codebases on Github attracts employers.

Recomendation : Open Mainframe project