Open Source Your Projects

Dayvster 🌊 - Oct 19 '22 - - Dev Community

Open source means that anyone can see your work, judge it, judge you or even worse copy your amazing idea, take all the credit and make a lot of money off of your hard work and effort. Why would you ever wanna open source anything? Well, there are a lot of reasons why you should open source your projects. I will try to explain some of them in this post.

Community Support

One of the biggest benefits of making your work open source is that you'll have access to a large community of people that can help you with your project. They will give you feedback, help you with bugs, provide help with new features, sometimes even directly have a feature PR ready with their issue submission and so on. Usually the kinds of people that want to help you with your projects are users of your product or service. They are the ones that will benefit from your work and they are the ones that will use it. So they are the ones that will be the most interested in helping you with your project.

Which ties nicely into my next point which is

Open Source can Turbocharge your Learning

Because you will work with others on your project. You'll also get to learn a lot from others. You may be a senior software developer with countless years and successful deployments under your belt, but you can still learn a lot from even the most junior of developers out there. Perhaps someone would tackle a certain problem differently than you, maybe not better maybe not worse, but differently and that may learn from them.

And that's just learning from the submissions of others, then there's the learning from feature requests, bug reports, discussions and so on. Which can give you a substantially better understanding of your users and their needs.

And on that note

Open Source can Help you Understand your Users Better

One of the biggest pain points of any software developer is marketing or user research. Most don't find enjoyment in these activities. However when your open source project gains popularity you will get a lot of feedback from your users... a lot of feedback. Which will help you understand your users and their needs better. This will of course lead to a more focused and streamlined product/service.

You don't wanna deliver a swiss army knife to your users when they're really just asking for a toothpick.

Of course to get to that point you'll have to do a bit of networking and "marketing" yourself. Which leads me to

Open Source can Help you Network

If you contribute to open source, you'll have to interact with others. If you maintain an open source project, you will have to interact with others. How often do you get the chance to work on the same project as a FAANG engineer? Or the creator of your favorite framework/library. Well with open source you can and as you can imagine, that's a great opportunity to network with people from different backgrounds and skill levels. Sometimes you may even build a lasting friendship with someone you've never met in real life.

Which ties in with

Collaboration can Fuel Innovation

When you meet people from the open source community and find out about their passions and their passion projects, you may find that your skill sets and interests compliment each other. You may find that you can work together on a project that you both find interesting. And that's a great way to fuel innovation.

The best ideas and the best projects usually come from two or more likeminded weirdos with a unique interest meeting.

Better Code

Now this one is pretty far out there, but hear me out okay. I firmly believe that if you open source your code, you will instinctively write better code.

Why thought?

Well it's simple really, everytime you push a commit to your open source project, you're essentially putting your name on it. You're making it a part of your online presence, your identity essentially.
Now obviously you shouldn't stress too much about being judged by others. To hell with that screw what they think you do you. But we're all human and we all want our creative work to be appreciated and to be seen in a positive light.

So no matter who you are, I'm certain that if you open source your code, you will write better code.

Financial Reasons

Open source and is a part of the FOSS acronym (Free and Open Source Software) and a lot of people hear the word free and think, well there's no money to be made there so why even bother.

However seriously ever heard of Google, Spotify, Facebook? They all offer their services for free and make more money than most B2B enterprise grade software companies.

Now I know bad argument not everyone can be google or spotify, but open source does not mean free. You can earn a good amount of money by doing nothing but open source. In fact you can even earn a living by doing nothing but open source.

If it's your own project this would come in a form of sponsorship or "backing" for your projects, basically users or companies that use your project may want to support you financially so that they may keep using your product or service. Sometimes they may even wish to "donate" so that you can focus on a certain feature that they want to see implemented for their use case.

There are also websites where companies can post "bounties" on open source issues and if someone solves the issue they get paid.

And of course there's the good old fashioned way of selling your product or service. Or even a part of it as a SaaS offering.

Basically you can offer the main part of your product or service for free but charge a fee for certain bundles of features or services. This would be the Spotify or youtube model, they both offer their main service for free but allow you to pay for a more premium experience.

Backup

This is also a bit of a weird one. But open sourcing your code is a form of backup. If your workstation crashes, harddrive fails, or you simply lose your 2FA code, you can still simply clone your own repository and get back to work. Since after all it is public.

Can Help you Land a Job

A lot of really good companies such as Mozilla, Microsoft, Google and so on will look at your open source contributions when you apply to work for them and will take that into consideration when deciding whether or not to hire you.

It doesn't even have to be super advanced leet code type stuff. Even just helping out with a small bug or feature, amending documentation, fixing typos, styling etc. can go a long way.

Conclusion

So there you have it 9 compelling reasons why you should open source your projects. I hope you enjoyed this post and that it helped you in some way.

Disclaimer

Now I do have to be fully honest and transparent here, I did make open source sound very positive in this article and many might read it and thing. Wow open source sure is an amazing thing and everyone should do it. However just like in every other thing in life there are also some downsides to open source. One amazing example of the darker side of open source can be seen in the following video by Fireship

Fireship - The Dark Side of Open Source

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .