Open-source software (OSS) is computer software with its source code made available with a license in which the copyright holder provides the rights to study, change, and distribute the software to anyone and for any purpose. – Wikipedia
I am Yannick Mayeur, a French computer science student currently gaining work experience at Kichwa Coders in the UK, and this is how I feel about working with Open-source.
Let me tell you a story. A company asks someone in their software team to build some software to do a certain task. It takes him a lot of time but he manages to do it. He is the only one working on the project so there are no comments in the code nor any documentation to help maintain the code. He later leaves the company, the software slowly becomes useless as nobody else knows how to use it.
If this company had created an Open-source project instead, this problem wouldn’t have occurred.
Help spread Open-source – or ensure a job for life by using this guerrilla guide on how to write unmaintainable code. But seriously don’t.
Getting started with Open-source is fairly easy because a lot of people write guides or blog posts to help people tackle the tricky stuff like git. All you need is a computer and motivation!
I am now into my fifth week at Kichwa Coders, during which time I have worked on two different projects for the Eclipse Foundation:
- Eclipse January which is a set of libraries to help process a lot of data. It is mainly used by Diamond Light Source scientists to process the data they get from their particle accelerator.
- Eclipse CDT which is an IDE for C and C++, and is used by a lot of programmers.
Knowing that I contributed to two big projects that a lot of people use every day makes me kinda proud. And the truth is it wasn’t even that hard. With my not-that-big-knowledge of how to work on big projects I have contributed some changes that will have a lot of visibility such as bug 515296 (for more details on the bug and on how Pierre and I solved it you can read his blog post about it). Because if you are experiencing a problem the chances are that other people within the community are also experiencing it – and their knowledge of it can help you solve it for everyone.
Knowing that other people can see exactly what code you wrote puts pressure on you – but in a good way. In my opinion it pushes you to give the best of yourself. But this community can also help you out when you are stuck with a problem. All this and more makes being part of an Open-source project a very satisfying experience.