Why you should start writing Open Source projects

Open Source projects are open source projects that are developed openly and anyone can make changes to them. Depending on the license, such projects can be used and even in some cases distributed absolutely free. Thanks to Open Source we can see a huge number of applications, tools and libraries with which everything else is already created.

All the basic fundamental things in IT – such as programming languages, compilers, frameworks – are almost always open source. For almost any paid application there is its open source counterpart. But why do developers and companies spend their precious time and money to write Open Source projects, if it does not bring money directly? Let’s find out and answer this question.

What’s in it for the Open Source developer

Help make the first step in his or her career
For the novice programmer who hasn’t worked in companies, starting a contributor to Open Source will be just that first serious development experience. Creating your own project or making a small contribution to an existing library will help you build your own portfolio, which will help you find your first job.

Working with projects and repositories will allow you to start developing your Github profile. If it will contain not only the date of registration, but real cases, it will be easier to interest a specialist who makes a decision to hire you.

Improve your programming skills
Regardless of your experience, developing Open Source projects will improve your skills. You’ll be able to try out different libraries and tools that you’ve never used before.

Along with developing experience with projects and selected technologies, you’ll gain experience with git flow – learning how to create, commit and pool requests, as well as how to format them properly.

Contributions to large libraries will force you to write clean code, because you will need to pass complex code reviews, and by the way, the experience of passing the review is very valuable in large companies.

Also, large libraries are almost always covered by tests, so the ability and habit of covering code with tests will be a bonus for you. If a project is going to be used by a huge number of people, just the thought of it will make you work harder on the code, and this will make you more responsible for the code you write.

Get recognition
No matter how loud it sounds, but this is an important point for many developers. Recognition in a small circle, a company, or the world can be the best accomplishment and reward for contributing to the IT industry. Recognition in one’s field is a tremendous opportunity to realize any goals.

But it’s worth noting that developers are not the only ones who share their accomplishments and achievements. Scientists write scientific articles, photographers upload their works to unsplash and become world famous, and behance is full of designers’ works and it is often there where new trends and design styles are born. The whole world is developing and changing precisely because someone decided to share something, and as a result they become famous and start to be respected and listened to.

It’s important to understand that recognition doesn’t just mean being known to the world. Many companies and services support developers who write Open Source. If you have even a small project, you can get the opportunity to use paid applications and services for free or get a grant for the development of your project.

Improve your reputation
This point is closely related to the previous one, and in many ways it is simply similar. Reputation is an essential part of being an open source developer. With a good reputation you will easily find new career opportunities or investors in your future startup.

Where to start
Many people might think of Open Source as creating some framework or library, but that’s absolutely not the case. Of course, it is good to create your own Open Source project, which will become popular worldwide, but at first it is enough to start small. You are free to help develop existing libraries.

Very often, the projects do not have a complete description and documentation. Library founders will be happy if you describe and document the basic details of their project. Translating the documentation into Russian is also an excellent contribution to the project.

The next easiest and most important item after documentation is test writing. The owner of even a large and popular library will gladly accept your pooled requesters who will cover their code with tests.

And the more advanced guys can safely take on fixing bugs by watching bug reports or just analyzing the code. A well-described PR with a fix won’t get lost in the flood of pool-requests and will be injected into the project’s codebase as quickly as possible.