published on in Open Source
tags: open source

OpenSource, but why?

The OpenSource community is growing and growing these days, but many are still afraid of it. Today we can say, big companies contributed with at least one project to the OpenSource community, some of them made their software partially open, some of them made whole projects available.

But why is it worth to publish a project as an OpenSource product? Why should we publish our pet-project and make it available for others? Why would we open the source code for others? It can be clear, you will not get one million US dollar for your pet-project or fix a bug in an OpenSource repository. So why?

As I work, I often meet people who want to to get a new job. Of course, I try to discover all the potency in them, but most of the time I have to decide based on what they say about themselves. There is nothing wrong with that, except I don’t know if it’s true or not. I can ask for a reference, but I can’t trust it, because if the candidate says “I worked on the […] site” or “I worked on […] engine”, which is fine, but I don’t know if the candidate worked alone, worked in a group; if in a group may be the contribution was only a few lines or some bugfixes and never had to understand the background. I have nothing to guarantee the candidate will be a good investment.

If you can’t show me code snippets because you have an NDA or it may contain sensitive information, it’s totally fine, just tell me the logic behind the scenes what you did there. I don’t care about the next CSS5 or HTML8 shiny UI, I want to know how are you thinking. OpenSource projects can be your friend on your next interview.

Code Publication

I know, you can’t publish code from your previous workplaces, no one wants you to do that. However, you can start a project by yourself and publish the source code, for example on GitHub. If it’s running on your laptop, you will not get money anyway, but if you sit in front of me, I will have clues about you. How you write code, what is your personal interest, maybe I can be sure “you are my best candidate” even before we see each other, which is a very good start. But why is it good?

5) Style

Based on your OpenSource project, I can see how you write code, how important the quality of your code to you, are you writing tests or comments.

4) Interest

Based on your projects, I can assume what’s your ideal environment or topics, maybe I can foresee if the given position fits for you or not. If I see this position is not the one you will love (for example used technologies), we can avoid unnecessary rounds. You can be a good developer, but after half a year you will leave us because you don’t really want to use […] or don’t really want to write code in […] language. It’s bad for you and for us. And maybe I know an open position somewhere else and I can help you to reach them.

3) Creativity

If you are browsing online job applications, you can spot a common criterion: be creative. Of course, everyone is creative and the question is how much. If you have OpenSource projects, we can see if how you solved problems.

2) Votacion

Maybe, you spent only 10 minutes on every single pet-project, but you sent that 10 minutes there. I can see, you are doing it because you love it and not because you get your salary.

1) Reference

And maybe the most important property of an OpenSource project: You can show off what you have. You can pull out from your pocket “What I did? For example this…” You can write a CV with 30 pages or only a half, it does not matter, it can be only a guide, but not a reference.

Collaboration

If you are don’t have a pet-project, or you don’t really want to publish it, you can still find a project and fix a bug, or update the documentation. All the contributions are good to show how you work, what are you interested in, and you can work with others and you can adopt different rules.

Blog

If you have no time or energy to publish code or contribute on an OpenSource project, you can write about them, even as anonymous. You can write about a specific problem you just met, simplify it and publish an article how you solved it or how you tried, but did not work. Later if someone else sees a similar issue, they can find your article and they don’t have to do it from the beginning and your post will guide them to success.