There are many reasons for open sourcing products and technologies. I found 10 of them.
Here are 10 reasons that came up to my mind this morning:
1. To Get a New Job
For an individual, one of the incentives can be a simple one – to land a new job.
If you are a developer, and you are unemployed, in-between jobs or wanting to get yourself prepared for your next dream job, then doing a small development project, putting it publicly on GitHub and seeing what happens is a valid option.
It can be done specifically for that purpose, or it can be done overtime, to build credibility that makes it easier to land a new job or increase your value in the market.
2. To Get an Outsourcing Gig
If you are a developer that makes a living out of outsourcing your skills to others, then contributing to open source projects or having a few small projects of your own in a specific technology will contribute to people reaching out to you.
3. To Sell Services
IBM Global Services have contributed a lot to the Linux operating system. This kind of an activity is done to show that they have the skills to provide services on Linux based environments and sell IBM’s main business: services.
IBM isn’t alone. They are just the best example for it.
4. To Gain Popularity to a Service
A kind of a freemium model. Providing the software (or most of it) for free, so people can tweak and host it on their own; while at the same time providing the same software (or a bit better) at a price.
WordPress is a good example for it. You can download it from wordpress.org and host it wherever (that’s what I do). You can also host it for free on wordpress.com and pay there for premium options such as your own DNS name.
5. To Collaborate on the Infrastructure
That’s most of the vendors who distribute Linux in one way or another. It is also how the various players around Hadoop, the open source Big Data technology, operate. You’ll found there the likes of IBM, Intel, Cloudera, Hortonworks, EMC and others.
They all contribute to the core and then compete around it – on additions to it, tweaks, add-ons, services, etc.
6. To Sell Support
You can open source a project and sell support for it.
RedHat does that with their own services – with a nice income out of every server that has RedHat installed in enterprises.
Blue Jimp does that for Jitsi – they offer the software for free, but customize and support it for money.
7. To Sell Hardware
Digium, the company behind Asterisk, an open source PBX, has many different business models. One of them is selling telephony cards and VoIP gateways – both built on Asterisk and both hardware.
The more popular Asterisk is, the more hardware they sell into the ecosystem created. Or that’s at least the logic behind such a move.
8. To Build an Ecosystem
Android, the mobile operating system by Google is now the largest smartphone operating system. It costs nothing to adopt (ignoring the patents Microsoft licenses for it), so where’s the value for Google?
By placing its own services and ecosystem on top of it – by guaranteeing their dominance in search and ads on mobile, and by providing their services (maps, email, etc.) prebuilt and highly integrated into Android (even if these are not part of the open source Android itself).
9. To Attract Developers
You can decide not to make money out of open source itself, but rather to show off your talents as a vendor – and by doing so, attract top notch developers to your company.
Why else would someone like Walmart decide to open source pieces of technology?
It is also the case with companies like Netflix who habitually release software in open source to the community. Netflix does that with everything related to cloud and Amazon. Others do it in other areas. The thing is, it is hard to bring in good developers today – they are scarce. By showing off the useful technology you build (and getting rid of the mindset of secretive intellectual property), you do that – you give your company an aura of technical savviness.
10. To Reduce Development Effort
By open sourcing a technology, the fairytale goes, you get so many others to use it, fix bugs in it and improve it that you don’t even need to invest in it at all.
It is a fairytale. It requires a lot of effort and nurturing, and doesn’t always attract additional developers for “free”.
Did I Miss Anything?
Did I miss anything? Make sure to add it in the comments below.