Why should you open-source your project?

This might sounds like an off topic question, but I believe that it is not for many readers, and thus a great place to start.

I know that many of my friends or co-workers use a lot open-source projects to achieve whatever task they have to complete. It can range from the small JS library to fine-tune some web UI, to bigger frameworks like Ruby on Rails, including famous softwares like Apache. I don’t know any developer not using open-source at some point, and I strongly believe that you’d be a fool not to: why re-inventing the wheel or paying for it while it is there for free with all possible options and bunch of people to make it even better?!

Many of these friends or co-workers have lots of projects in their mind and eventually code some of them whenever they can.

I’m pretty sure you do have tons of projects ideas too: everyone has ideas! If you believe you don’t have any, maybe take a few minutes to think back about all the times you couldn’t find the perfect tools you were looking for: that’s ideas! Every time you tell to your friend “that could be soooo coool to have a software that sends ‘shut up’ to Emmanuel every time I press the ‘E’ key”, that’s also ideas and I strongly believe you happened to have similar ones.

But when it comes to open-source them, most of my friends simply can’t step in and these projects stay on their own computer forever, most of the time half-developed.

I’m not talking about start-up ideas or whatever project people might have to build a company and are not willing to share. I’m talking about small libraries, tools, websites, … that they needed or wanted to create at some point and that definitely can be shared to the open-source. At some point I even open-sourced a web-crawler to automatically register to some of my school courses, or a website to quickly keep track of bets going on between my friends!

Small gem I built to register me and my friends to my school courses whenever they were available

One reason could be because they are afraid to show their own code publicly. Some others would think their project is not interesting or not useful.

I believe that’s a mistake. Every project has a purpose, is useful for some tasks and will eventually be interesting for some people out there even though you don’t know them! Never forget that some dude once decided to create an app that can only send “yo” to your friends: if he did it, then you can publish your project and be sure it can’t be as useless as this app!

Publishing to open-source can bring you some surprises, make you meet new people and most-of-all, it will make you learn a lot. There is no reason to be afraid to share your code to the open-source environment: no-one will blame you for anything, but instead thank you or advise you. You might also help some people that where looking for what you built, or some others by giving them some ideas for their own projects. Finally, I believe open-source can push you to finish a first draft your project instead of starting to build it and then leave it there half developed.

Even a small contribution is meaningful, and once you started, you won’t be able to stop :)

So share what you built, whatever it is!