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.
Muaz Khan makes a good example of this with his WebRTC Experiment. Check his latest interview with WebRTC Hacks.
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.
Good article as ever Tsahi. You should add altruism to the list. There are people and organisations who believe that the dissemination of knowledge and education is of primary importance to freedom and equality. Open source is a great way of giving access to technology for the greater good.
Yes, there’s that as well. But – I think it is less of a reason today. Altruism is nice, but we all want to get paid and make a living at the end of it.
So even if you do do it for the greater good, you’ll probably try to build a business model of sorts around it, which is what this list is all about – what are the business models around open source.
There’s also: “To make a project more appealing to users and customers”
Open source has real business advantages such as verifiable security, and no vendor lock-in.
Imagine for example a company that adopts a new technology, which they plan to build a business on. Having that technology under a FLOSS license significantly lowers the amount of trust that they need to invest.
Want to know if it’s build in a solid way? Sure, check the code!
Afraid that the maintainer may go belly up in an year or that they might start blackmailing you with higher prices once you start depending on them? No problem, just take the code and go for another developer (this is not always painless, but it’s at least possible).
So making a technology open source basically means that you are making it attractive in one more way. (Obviously, this means that your business model has to be compatible)
Emil,
While these may seem like open source advantages, they can be acheived with commercial software as well. In my past life, I developed and then marketed VoIP protocol stacks. We ended up selling source code and not binary, which essentially brings the same value.
The main issue is always how many maintainers are for a piece of software. An open source project with a single maintainer is a lot less attractive than one with a 1000. Getting to a 1000 is really hard work.
The number of people who now choose the webrtc.org stack instead of the one you previously built because “it’s free” is probably quite large.
Those people tend miss the fact that the amount of effort required to maintain your version of that stack is tremendous and getting upstream bugs fixed basically requires you to prove that the bug also affects chrome and the apprtc sample.
> We ended up selling source code and not binary, which essentially brings
> the same value.
Well … not really because you first have to buy it and my argument was that Open Source reduces the “friction” during selection and adoption (kind of like WebRTC 😉 ).
> An open source project with a single maintainer is a lot less attractive than
> one with a 1000
Of course. Open source alone is not a guarantee for success or quality. From an adopter’s perspective it is, however, an advantage. No more no less.
So going back to my point: making something open source simply adds one more advantage to whatever other merits it already has. It’s one less point of friction.
It is all about business models and managing customer expectations. If you want to see the code of a commercial piece of software, I can always give it to you under an NDA and some rudimentary agreement for a trial period of time. There’s some friction involved, but it is doable. Open source has the ability to reduce that friction, but sometimes makes it harder to get an SLA and a throat to choke.
And yes – I am fascinated on how open source is being used and the types of added benefits it brings along with it.
Tsashi, great thoughts. My comments are that sometimes the decision to open source pre-dates the decision to monetize, as was the case with Asterisk. Digium is a good example of a company with open source software that also sells hardware. I agree that the possibility of selling hardware can factor into the decision to open source one’s software and that Digium’s success is an example that the model works. However, in the case of Asterisk, Mark actually open sourced the code before he ever had a product. This is the missing component from your post – that software can be open sourced simply for benevolent and/or ideological reasons.
The idea is to do something disruptive – release the code and see what happens. The business plan then becomes responsive to unpredictable serendipities that emerge. I’m not necessarily advocating for this, I find value in both proactive and reactive models. I’m simply stating that with Asterisk, the code came first. Then, later on all the wonderful benefits you wrote about started to take root such as selling services, support and hardware; developer collaboration and attraction; and building an ecosystem.