DEV Community

Cover image for What is Open Source and why should you care
Slim
Slim

Posted on • Edited on

What is Open Source and why should you care

The term Open Source Software reminds me of Abraham Lincoln's widely accepted definition of Democracy. Lincoln said, "Democracy is the government of the people, by the people, and for the people". Similarly, Open Source is software of the community, by the community, and for the community.

Formally, Open Source refers to projects or programs whose source code can be modified, shared, and/or commercialized by the public/community at will.
A license that is attached to an Open Source project determines the extent to which the project can be consumed, modified, or utilized.

Open Source is everywhere, the browser you are using to view this page is likely an Open Sourced one. Android OS, Linux Kernel, and JavaScript are examples of OS projects that people like you and I improve daily. As a developer, technical writer, or designer; Open Source opens the doors to many opportunities; jobs, networking, communication skills, etc.

Note: The term Open Source in this article will mostly refer to Open Source Software and Open Source in general.

Table of contents

Benefits of open source

Being a member of the Open Source Community brings many benefits including job opportunities, sponsorships, networking, improved communication skills, software integrity, and much more. Job recruiters watch out for people who give back to the community. Contributing to OS will boost your chances of getting jobs because it shows that you are willing to foster new relationships and work with others. Remotely interacting with new people also improves your ability to communicate ideas effectively when working on projects.

In the OS community, you are free to break things and make honest mistakes. Others will fix them and ensure that the software is working correctly.
With Open Source, even when you abandon a project. The community will keep it alive. This saves you a great deal of time to work on other projects. Some major benefits of contributing to Open Source include:

  • Getting free Swag.
  • Networking and meeting new people.
  • It makes you a better coder/writer - People will correct you whenever you break stuff or find errors in your work.

Getting started with Open Source

Are you new to the Open Source Community? If your answer is yes, then you are in the right place. Even if your answer is No, there are a few tips that you can still take away from this post.

Clearing up some misconceptions

  • Ability to code is necessary for Open Source: Open Source is not limited to software, there are many low code/ no-code OS projects that you can find on GitHub today.
  • High technical skill is required to start contributing: This is not true at all, simple changes like fixing typos, grammatical corrections, and spelling errors are all welcome in the OS community as long as it adds value or improvement.

Where to find Open Source projects

If you are looking for Open Source Projects to contribute to, look no further than GitHub - the defacto home of Open Source projects.
GitHub is home to millions of Open Source projects. There are lots of projects that can align with your specialty if you know how to look properly.

Finding Open Source projects to contribute to can be difficult, especially for newcomers. One reason is that they are not looking in the right places. When it comes to contributing to Open Source, newcomers are often faced with two problems:

  • Finding projects to contribute to
  • Knowing where to make changes or contributions to a project

Finding projects to contribute to

  1. Go to GitHub
  2. Click issues in the navigation panel
  3. Filter the results by entering a keyword into the search bar e.g good first issue, help-wanted, JavaScript, technical writing, documentation, React, etc
  4. Search for something specific within your domain such as react, documentation, design, etc good first issue and first-timers only are labels for issues that are appropriate for newcomers to work on. Try these first if you are just starting out.
  5. Find an issue you would like to work on. If it hasn't been assigned to someone else, ask the maintainers if you can work on the issue and create a PR for it.
  6. Many big projects often have abandoned or incomplete issues. You can find these by searching for "todo" or looking through much older issues.

Note: Alternatively, you can visit any of the websites below to find issues without going through the hassle of following the steps above. The following websites are tailor-made for finding issues easily:

If you are not familiar with Open Source etiquette, then I suggest that you read these briefly:

Knowing where to make changes or contributions to a project

Believe it or not, knowing how to find bugs, errors, mistakes, etc in files in a project is also a skill. If you go into a project's repo, you'll likely spot an issue somewhere if you look close enough. some of the most common issues you can find in repos include:

  • Broken links in websites, project documentation, etc
  • Grammatical and Spelling errors
  • Lacklustre designs
  • Lack of translation, a11y, ARIA etc.
  • Absence of comprehensive documentation
  • Absence of issue/PR templates in a repo
  • Lack of contribution guidelines

Note: Always make sure you go through the README.md and CONTRIBUTING.md files of a repository before creating Pull Requests. This will ensure that you adhere to a project's guidelines for making contributions. Sometimes valuable PRs are rejected because contributor's did not follow a Project's rules. This could be something as trivial as not giving your PR an appropriate title or description. So be wary of this

These are just a few off the top of my head. There are many ways in which you can find issues with a project. Ensure that you do not open irrelevant or low-quality issues. Also, bear these in mind before opening issues.

  1. A good way to know if your issue is a quality one is to ask yourself , "how would this change or suggestion help the users and maintainers of this project." If your answer does not sound credible to you, do not open it.
  2. Your issue should tell the maintainers of a project the relevance of your suggestion

What kind of contributions are legit?

Contributions to Open Source are not limited to Pull Requests only. Raising Issues, making Code Reviews, Financial Contributions, etc. are other ways of contributing to Open Source. Until recently, non-code stuff like blog posts, Figma designs, etc was not popular in the Open Source community. Things are beginning to change, however. This year's Hacktoberfest which is accepting low-code and non-code contributions for the first time after 8 years is a good example of this new trend.

Some Interesting GitHub projects you can contribute to

  • Percona - Percona is an Open Source platform for monitoring, securing and optimizing database environments (MySQL, PostgreSQL, MongoDB etc) on any infrastructure.

  • LinkFree - Free Open Source alternative to Linktree.

  • defaang - Free Open Source alternative to LeetCode.

  • Code-Magic - A website for generating performant CSS with GUI. Plus it's purely based on TypeScript, CSS, and HTML (No frameworks involved).

  • FreeCodeCamp Quiz Site - You can add new quizzes to the site by following the instructions in the repo.

  • Abbreve - A website for quickly checking the meaning of common abbreviations and slang used for communicating over social media.

Joining the Open Source community

Community, community, community...
We keep mentioning community in the world of Open Source. This is because Open Source would not exist without the amazing group of individuals who are constantly working hard to make Open Source projects free and accessible to people like you and me.

Below is a list of arguably the most popular Open Source communities on Twitter (that I know of).

  • FreeCodeCamp

  • Percona

  • EddieHub Everything Open Source (contributions, hackathons, first timers, etc).

  • 4C A large OS community for OS projects and networking.

  • defaang / dojo clan YK Dojo's OS community.

  • GitHub - The largest Open Source community in the world, all the communities listed above have their repositories hosted on GitHub.

Note: You should have a good reason for joining any of these communities. If you want to benefit from these communities, you should engage with the members, interact and find people who are within your domain of interests, and do not spam. Also, ensure that you adhere to the rules of these communities too.

Notable Open Source Advocates

Follow these people on Twitter to get all the latest updates on the happenings in the Open Source community:

  • Eddie Jaoude - Eddie is a devoted member of the OS community, he hosts Twitter spaces regularly to help people who are just getting started in Open Source. He has a YouTube channel where he creates content beyond Open Source (freelancing tips, content creation tips, mini-tutorials, etc)

  • Dunsin - Dunsin is the creator of Code-Magic, which is a website for generating CSS code for different effects through GUI. She's also an active member of the OS community on Twitter.

  • YK Dojo - YK is also a popular YouTuber and an avid member of the OS community. He often does live-coding Streams on Twitch too

These are just a few names in the OS community on Twitter. There are so many more Open Source advocates on Twitter apart from the 3 individuals listed above.

Bonus: Hacktoberfest

Hacktoberfest is a yearly celebration of Open Source and the Open Source community throughout October. Hacktoberfest is organized yearly by Digital Ocean.

A minimum of 4 accepted Pull Requests is required before the 25th of October to win a Hacktoberfest-themed shirt and sticker. Starting from this year, low-code and/or no-code contributions will also be accepted as valid contributions.

If you'd like to take part in the next Hacktoberfest, set a reminder for October now to avoid missing out on all the fun.

Conclusion

Imagine a world without Open Source. As you can see, there's nothing to hate about Open Source. The world of Open Source exposes you to opportunities, meeting new friends, winning swag/money . Without Open Source, the world would certainly not be as advanced as it is today in terms of technology.

Top comments (1)

Collapse
 
francisjari profile image
Francis Jari

This post is very useful. As a person new to the tech industry, i needed to understand open source and you did a great job explaining it.