Building a skill The start of this journey begins simply by building on a skill that you are good at. Many developers work with open source in their free time, building on unskilled areas and channelizing these to tech fields. Skills like machine learning (ML), cloud native and Big Data analysis are in demand since many projects revolve around them. The only way to skill up is to apply what is being learnt into a live project. Once you have worked on a particular technology and project for a long time, it is the perfect time for analysis. Once a proper analysis is done and a skillset has been shaped, the next step is to build your own projects.
Building projects Building a live project, irrespective of the content, has a lot of value. But remember, once it is open sourced, the public response should not be a factor that decides your next step. And whether you build a UI for an application or just document a list of proper notes, resources and URLs, your work can be of great help to open source users. Learning about different tools helps build open source projects to a great extent. Hence, it is important to learn everything about version control systems, Git , GitHub and GitLab .
Building a career You can build a career in open source in broadly three ways. Build, scale and monetize your own open source project Work for a company that builds projects with an open source business model Get sponsored to work in open source
Build, scale and monetise your own open source project: Identifying and solving a problem is a good rule of thumb for building your own project. Noting down the problems that others may face will create a demand for it. For new and individual contributors who do not have much funding, social media, blogs, posts and talks at conferences help reaching out to users to a large extent. These platforms can generate a lot of traffic for your open source project. Funding plays an important role in almost all business models. The Mozilla Foundation relies on voluntary donations to fund its projects. MariaDB follows the business model of delayed open sourcing. Many of IBM’s open source projects follow the open core business model, i.e., the core of the project is open sourced while the surrounding add-ons are closed source and proprietary. Red Hat doesn’t sell code; instead, it sells professional services like support, tooling, and technical assistance around a project. These examples of business models can be adopted to build a project, open source it, and monetise it.
Work for a company that builds projects with an open source business model: Being a part of a community of contributors and maintainers, engaging in talks and participating in meetings will help you to contribute to a project. You can follow the guidelines for how the first contribution can be made, which doesn’t necessarily have to be code. Looking at a big code base may seem intimidating but starting small is the key here. Look for a problem and fix it. This will help you understand the contribution flow, code base, set up of the project, etc. Non-code contributions are also valuable. People great at writing can contribute by documenting or writing for social media. Those who excel at designing, can design a convention, a colour scheme, or also work on creating a better user interface. Newcomers have a high probability of discovering bugs when compared to senior engineers.
Get sponsored to work in open source: As an individual, if you are working for a project that is built by a company, you can ask for funding. It is important to note that only if your contribution is significant will the organization be happy to sponsor you. However, if you have built your own project that has a significant user base, you could ask for funding from users. As an organization, you can raise money through platforms like Open Collective, Patreon and GitHub Sponsors, where people donate to your project. Open source grants like Linux Foundation and Mozilla Foundation also provide funds to support projects. GitHub has given 15 Indian contributors grants for their projects.
The Basics of Open Source Contribution For those outside of the IT industry, the concept of contributing to a software project without being compensated or rewarded for it can be difficult to understand. But for software engineers and developers, contributing to open source software offers many advantages that can open doors to new opportunities that extend well beyond any commercial aspiration. From improving critical software to finding others who share similar interests, there are countless reasons why one should contribute to open source. Open source contributions can be a rewarding way to learn, teach and gain experience in just about any skill imaginable. Similar to products, open source software requires project management, design, technical writing and feature/function feedback.
Why Is Open Source Contribution Important? Open Source Contribution as an Individual As an individual, open source contribution provides people with a platform to turn their ideas into a reality. But open source gives individuals an opportunity to share their ideas with like-minded people who can help bring the project to fruition. Contribution can also help individuals hone in on desirable soft skills, like learning how to work in a collaborative, sometimes ambiguous and unstructured environment.
Open Source Contribution for a Company It’s unlikely that you’ll find an organization that doesn’t benefit in some way from open source contribution. In fact, many large corporations have an entire open source program devoted to contributing to open source communities. Insight and access: Open source contribution gives companies direct access to those who know the project inside and out. These individuals know the direction the project is going in and where the barriers to progress may lie.
Reduce Technical Debt: Organizations can also reduce their technical debt when they contribute a bug fix or improvement to open source projects. Companies that fix bugs or add new features and functionality to an open source project . Influence: Businesses can also influence the direction of a project when they contribute. Say that an organization wants a project to offer a functionality that’s important to the business. Having active contributors who can implement these potential changes will help guide the project in a favorable direction.