Why Open Source?
What is an Open Source?
Open Source is a collaborative initiative that's usually free. It is a decentralized model that allows everyone to contribute to an open source code or project. It enables and encourages collaboration and the development of technology, solving real world problems. Open source projects have been used to build scalable and reliable products.
The truth is, without open source software, the entire internet as we know it would not exist and the adoption of open source have saved customers several billions of dollars.
The likes of LINUX, OpenStack and Apache are beneficiaries of open source programs and top tech giants like Google and Facebook are actively pushing for Open Source.
Before we dive into how to contribute to open source projects, let's first answer the question of why contribute to open source?
Contributing to open source is a great way to learn new skills, teach your skills and build experience. As earlier defined, open source is a collaborative Initiative where you meet diverse people from different fields with similar interests. It's an easy way to find mentors and mentor others.
Open source helps you improve tools you rely on for other projects, making you a change maker with little contributions. It helps you build reputation, and networks as you get to work with other people within your field who might have other connections you need to excel in your career.
There are many more benefits of contributing to open source. Kindly drop any other benefits you know in the comment section.
How do I contribute to open source?
First, there is this myth that your must be a code wiz to contribute to Open Source. That's not true, you don't need to know how to code to contribute to open source. You will be surprise to know that you're already a contributor to open source. Do you fill reCAPTCHA while confirming you're not a robot?
If "YES" you are already a contributor to open source. You're helping to train a recognition engine.
There are a lot of ways to get involved in an open source project. You don't have to contribute code.
You may choose to contribute to a project by improving its documentation or working on its branding.
You might notice a particular feature whose documentation is not well written and you think you can do better. Reach out to the team (maintainers) with your write-up and start building relationship by becoming a member of the community.
Did you notice a bug? Reach out to the team to work with other members of the community to fix the bug.
If you're good at organising events, you might has well be a lead and the face of the project in your community by creating awareness about the project to members of your community.
Do you like to design and care so much about user interface and user experience? You can help restructure the layouts of the project for usability. You can help the orgasniser design t-shirts and caps for the events.
For those who love writing, you can contribute to the project by writing how to use it or help write and improve the documentation or even translate the documentation.
You can also help people answer or solve issues related to the project on popular forum like stackOverflow or Reddit.
There are so many ways to contribute to open source. Kindly list other ways you know one can contribute to open source in the comment section.
How do you know if a project is open source?
Most open source project have similar structures. The people involved usually include the Author, Owner, Maintainers, Contributors and community members.
The Authors are the creators of the project while the Owners are people with the administrative rights over the organisation or repositories.
Maintainers are contributors whose responsibility is to drive the vision and manage the organisational aspect of the project while Contributors are those giving back to the project --they are like volunteers improving the project. Community members are users of the projects. Users can express their opinions and concerns about the project but not necessarily contribute to the project.
Projects have documentation which include the LICENSE which must be open source license; the README which is an instruction manual for new community members; the CONTRIBUTING doc which is for contributors explaining what types of contributions are needed and how to contribute to the project (as a potential contributor, this is what you look out for); CODE OF CONDUCT which contain rules and guidelines and OTHER DOCUMENTS which might include tutorials.
Tools open source projects use to organise discussions include: issue tracker, pull requests, mailing lists, forums, and chat channels.
HOW TO FIND AN OPEN SOURCE PROJECT TO CONTRIBUTE TO?
Most open projects have /contribute page, you can always check out these pages to see how you can contribute. Some other sources to find projects you can contribute to include: Github Explore, SourceSort, Open Source Friday etc.
It's always fun to share what you learn and open source is a great and fun way to do that.
We hope you're inspired enough to start contributing.
You can start with this post by commenting what you know better and stating how you can help improve it in the comment section.
We currently working on building CODE.ng To join the team, kindly send us DM on Twitter via our handle @CodeDotNG