Free & Open source software have grown so rapidly in the last few years. Just compare the situation of being ignored and considered like a nerds-movement in the early 2000’s to the situation today in 2017. We surly made a huge advancement so far. Thanks to the amazing ecosystem of open source which links both communities and enterprises together.
However, when it comes to individuals, a lot of people are hesitant when it comes to open-sourcing their software. They think that the “secret” behind it will be stolen. They think that they will be releasing their work “for nothing in return” when they do so. That’s definitely false.
If you are a software developer, consider the following reasons to open-source your application:
Make It Better
If the code is open source, people will start contributing to it and sending pull requests to you. Instead of you being a solo developer for the whole software, a lot of people would be able to join you in developing it.
This would make your project better. You now have more people to fix bugs and work on new features. Two hands are better than one. You would also get more people to check the security of your application.
Getting more people involved in your project is the key thing that a lot of people would like to see. No one would like to create a software which nobody uses or maintain. Opening the source code is first initial step in this way.
Learn More From Experienced Developers & Users
When you open your software, you are releasing the source code to the public. This source code should definitely be licensed under one of the free famous licenses (GPL, MIT, MPL..). It would allow other people and developers to get in and see your coding style. It will also allow them to submit patches or notify you about any mistakes you are making.
If you are from those people who are afraid to be “discovered” as a newbie in programming, fear not! A lot of people would be ready to help and guide you. Because when you take the first step to create a piece of software which helps to solve people’s problems, they will help you too.
A lot of experienced developers exist on IRC channels, mailing lists, GitHub, Reddit and other social websites. You can try to announce about your open source project – if allowed – in those related areas to grab their attention. They surely will give you advices and tips if you ask for it.
Moreover, people will report issues and bugs to you. It will create more challenges which you can try to solve to enhance your software. It will refine your programming skills and make you a better developer.
Create a Loyal Community
Opening the source code of your application is a great thing for end users. You are giving them free control on the software they use. You are allowing them to see, modify, share, distribute or remix the work you have done so far. This is definitely something people would be grateful for.
When you create a community around your software, it will make it spread. People will start recommending, using and publishing it, taking your project to the next level. Think about it, instead of creating a proprietary software which people are paying for an EULA for it, why not work for the beneficial of all? I doubt that proprietary software customers are more loyal to the programs they use than the open-source folks.
Yes! You read that right. You can earn money by opening the source code of your application. You don’t have to be an enterprise to be able to do so. If you create something valuable to the users, they surely would be happy to support you to continue developing it for them.
Take a look at the current open source projects. Like Linux Mint, Mint developers earn at least $10000 per month coming from donations ALONE. They earn a lot more than that from sponsorships and advertisements. PulseAudio developer, Solus Developers, Ubuntu MATE developers and others are earning money as well from contributions using platforms like Patreon.
The idea is so simple: You create something people need, people support you. That’s it.
Earn More Money
If you are creating a piece of software which can be extended by additional functionalities / plugins, providing professional support or training. Then probably you can convert it into a good business model.
WordPress started as a free web script licensed under GPL. Now, it runs at least 25% of all websites on the web. Probably its creators never thought of such success when they created it. Nor Linus Torvalds did when created Linux. The guys behind WordPress created the company “Automattic” which sells professional support for the script beside hosting and customization options and a lot more. They have turned their open-source software into one of the most successful projects in the web.
Let’s not go so far. CoreOS started as a small Linux distribution to create clusters and automated systems in 2013. Around a year ago, they got an investment worth $28 million. They are also earning money through services and training. And guess what? All their software are free and published on GitHub!
Red Hat, the company which sells Linux services and training is earning $2 billions per single year. They started as a group of students more than 23 years ago. Look to the success they achieved from open source software.
When you release your software to the public, you are allowing people to learn from your experience. You are also allowing them to build products and other software on your work. This is pushing the wheel of technology advancement a lot. Imagine if all software were proprietary?
Google repository on GitHub – for example – is so amazing for developers. Thousands of people were able to create libraries and tools based on them. By opening the source code for your application, you are a part of a larger movement which aims to support creativity and innovation all over the world.
By joining the open source movement, you are – indirectly – advertising for yourself and skills. People will start to recognize you as a known software developer behind the X project.
This is good for your CV or any project or job you may apply for in the future. You may just need to submit your GitHub profile and let them check your great work.
Connections are awesome. They simply open a huge range of opportunities for you. When you develop open source software and start getting known to other people in this field – whether it was by conferences, forums or other ways – you may be in your way to work with other people on similar projects or explore new adventures. Nobody can really know the chances the destiny is hiding for you.
This network of people you know will help you a lot in your life. People may recommend you for their friends or colleagues for different opportunities they may hear about.
Going into the open source world was mostly never a bad decision for software developers. The pros you would get by doing so are very much higher than the cons. Open source is becoming a standard day by day. Entering this field as early as possible would help you a lot in your future.
For those of you who are already part of the open source movement, what are your stories about opening your software?