If you just started learning to programme or you are in it for some time you probably heard about the growing Open Source community. It becomes more and more popular for a few facts:
- It’s free
- It’s open for everybody around the world, everyone who want to try give some good code can do it
- It is great for young and not experienced developers
- Community is very helpful and pleasant.
So do you wanna try? Look at https://summerofcode.withgoogle.com/ to find a mentor!
Developers and work on free software – is it for you?
Open Source projects provide amazing opportunities for young and novice programmers. By supporting various types of projects, coders can learn new skills, improve their skills, as well as be inspired by the achievements of others and get help from more experienced colleagues. The work of programmers on the Open Source code has always been similar to the work of a volunteer, but it also gives tangible benefits apart from well-being. Successes in Open Source projects are always welcome in the CV and in the eyes of potential employers.
Learning programming with open source
Beginner coders have dozens of issues to choose from in Open Source projects. They can start by fixing minor code errors, participating in discussions on a given program functionality, or even help in creating documentation. However, the best skill that you can acquire by participating in Open Source projects is to learn how to write “Clean code” – that is, code that is readable, solid and effective. Making our work public means that we have to ensure that it is understandable and transparent to others. What’s more, are they ready to help develop a given program? Often it means finding solutions for different problems. Nothing teaches programmers good teamwork habits like working with completely strangers on a joint Open Source project. In addition, if this job is successful, it is a great opportunity to show off the good side for a potential employer.
Get ready before your adventure with free code
Before you choose an Open Source project to start working on, you need to think about a few things:
- Team activity – of course, the project you are interested in must meet several basic criteria. First of all, it must be active and admit new members to the team. It is also worth following the comments on specific issues – so you will know whether the project is beginner-friendly and whether it will allow you to learn new things.
- Project type – “virtual reality”, “word processors”, “security” – are just a few examples of programs created in GitHub. It is important that the project you choose also interests you privately. Thanks to this, the work will not only be more pleasant but also more effective. It is also worth considering a project that has a large user base – thanks to their active reception and reactions you will quickly learn new things.
- Project scale – GitHub offers participation in projects that are real programming colossus with thousands of lines of code. Working on such behemoths can be overwhelming for beginners and can make you quickly get discouraged from Open Source. Therefore, it is better to choose (at least at the beginning of your adventure) something smaller in size. Many problems to solve on GitHub have appropriate “beginner” or “easy” labels and so on. They are an ideal material for learning.
How to start working on an Open Source project?
First of all, you should know the GitHub platform in every detail. This is by far the most popular place to work on Open Source. Register there and read the guide that will explain how to get started.
On the GitHub platform, you can help projects in two ways:
- publishing issues (“submitting issues”)
- Report bugs that you can’t solve by yourself
- If you want to deal with a given topic, write about it in the comment. Thanks to this you avoid duplication of work
- If the issue is open, ask if someone already deals with it or if a solution has already been found
- When you found a solution, be sure to describe it clearly. This makes learning easier for others.
- Start a discussion on a topic or idea
- Suggest a new functionality or an idea for a new project
- bring in the code (“contributing code”), that is, sending requests to “pull request” your corrections and improvements to the code itself
- Submit minor repairs (these can even be typo corrections)
- Start working on a topic that was raised by you or someone on an issue (“issue”)
Working on Open Source is usually a teamwork. That is why it is worth getting acquainted with the community that is working on the project you are interested in. Subscribe to the mailing list, so you can communicate with each team member and discuss various issues related to the program and code. However, remember a few rules of good communication:
- Remember the context – describe everything from beginning to end
- Do your homework – check if the problem is already described and explained in the documentation
- Write short and specific
- All communication should be public – so you will learn not only yourself but also other people in the community
- Don’t be afraid to ask questions – but you also have to be patient sometimes
- Respect the views of others
What can I do besides coding?
Remember that with Open Source, any work is useful. If you don’t feel comfortable with your programming skills yet, you can always help in another way:
If you like to plan events:
- Organize workshops or meetings on the project
- Organize a conference for a given issue
If you know the design:
- Improve the pleasure of using the application thanks to the new interface
- Improve the navigation and appearance of the program menu
- Create a stylebook for the application so that more people can help create a visual identity for the project
You can even create promotional materials such as T-shirts to finance some aspects of the project or create content for blogs and conferences.
If you like to write:
- Correct the application’s documentation
- Take care of the project’s newsletter
- Translate the documentation into new languages
And so on. Dozens of people have helped in Open Source projects, without even writing a line of code. By becoming a part of this society, you will learn new topics faster and learn what the work of software development really looks like.
The article was created based on https://opensource.guide/how-to-contribute/ and https://rubygarage.org/blog/how-contribute-to-open-source-projects. There you will find even more useful information on how to get started with Open Source.
If you are looking for a job as a programmer with a passion for Open Source and Social Impact projects, please visit the founder of our Foundation: www.soldevelo.com