Even today, when so many companies and products are making their mark using Open Source as a fundamental part of their business models, I come across lots of people that find it incredible that this can happen or have a future. There is quite a lot of misunderstanding about the issue.
Yesterday I remarked on an article featuring comments about Sugar CRM. A better reference yet is this almost-recent interview of John Newton, head of Alfresco (house-favourite software for ECM), by Sean Michael Kerner. There you can get it from the horse’s mouth. Here, I’ll try to elaborate a bit more… so I can point people over here and save some effort later on :-). Here’s the points that we’ll be covering:
- Open Source is good for you (philosophy)
- Open Source lowers barriers of entry
- Open Source fosters standards and innovation
- Open Source cheapens testing and debugging
- Open Source enables much cheaper support
- Open Source protects your work
- Open Source gets you recognition
- You can earn money on Open Source software
- You can do only some Open Source: it’s not black or white
- In conclusion
And remember: I’m talking from a software company’s perspective. The customer angle is another story.
1. Open Source is good for you
On a philosophical level, the existence of Open Source is good, so (all other things equal) it’s something to support, like water efficiency or reforestation.
The reason goes back to the 90’s. Back then, developers and software companies were cooped in a single, compulsory monoculture of Microsoft technology and methodologies. Differentiation was very hard, market power was in the hands of Microsoft, and technological evolution was freezing. Yes, there was Apple and there were small nooks of UNIX-flavoured free development, but it didn’t add up to an alternative. Making sure that you (as a developer or software company) are never again locked into a single compulsory technological framework and can thus innovate and differentiate freely… requires something that no company was able to create: Open Source. Keeping it alive is good for you.
2. Open Source lowers barriers of entry
In a world of patents and competition, getting hold of a piece of technology (code that does something that you need) requires either a lot of work and creativity, or spending on licenses from patent-holders. Not to mention that patents are a minefield and it’s hard to be sure you’re fully licensed. In other words, you need serious money.
The only other course is making use of freely available, solid building pieces that are already out there and (often) well-proven, documented and innovative. Using those technologies and code to plug in functionality gaps in your design (or to piggyback on, as Joomla module developers do) allow you to provide full functionalities at a ridiculous fraction of the cost in development time… and paying no licenses.
3. Open Source fosters standards and innovation
That building philosophy fosters shared standards (so pieces can be plugged into each other easily, which is what they’re built for) and enables widespread innovation, since each of the pieces evolves as a separate project and incorporates new functionalities that enable your solution to improve without (a lot of ) coding on your side.
This works through the de-facto establishment of open standards that developers choose to follow, to evolve or to ignore (if they think they can do better). All of them open, all of then documented, none of them subject to the whims of a commercially-oriented player in your own field.
4. Open Source cheapens testing and debugging
With today’s increasingly complex software solution, testing and debugging (QA) are an increasingly sensitive area, costly to do well and hard to get right at shipment time. So being able to include the user community and other developers in the debugging task, for free (almost: it needs to be managed), significantly lowers the impact of producing high-quality, consistent software… and helps iron out minor design flaws that irritate users, too.
Yes, you expose your code. Yes, they propose fixes. They can’t steal it and you don’t pay them, so what’s the problem?
5. Open Source enables much cheaper support
A user community and a developer community mean a lot of people depending on each other to provide a first level of support in the use of your software. In other words, you can concentrate in the larger, more difficult or more code-sensitive issues and still provide better response than most proprietary vendors.
And there is more to that. A proprietary vendor needs not just their own employees (costly) but also a network of trained partners and integrators in order to access most markets. That training is costly, and those partnerships are hard to sign. Whereas an Open Source solution can rely on the community both to spread the solution in less-complex situations (and provide support for them), and to cultivate self-trained individuals, competent in shared underlying technologies, that lower the cost of recruitment for the partners that will address and support more complex customer situations.
6. Open Source protects your work
A standard Open Source license doesn’t mean “here’s my code, go and do anything you want with it”. It essentially means “here’s my code, with my name attached and my brand name, you can help me tweak it or you can tweak it to tailor your own needs, and you can help it spread as part of larger solutions… and I won’t charge you, and neither will you charge anybody for my work, even if you make your very evolved own version”.
In other words, it’s your product. It’s your brand. They can’t just steal it.
7. Open Software gets you recognition
In the way mentioned above, the spread of your solution (either to final users or to other developers and integrators) spreads your name. Indeed, it’s a prime example of “viral marketing” that puts your name under the noses of those that use your competences.
And that adds value to your name and brand, and opens business opportunities.
8. You can earn money on Open Source software
We’ve dealt with a lot of cost-related issues already, but that is not the whole story. On the other side there’s a whole array of solutions being employed to pull in money. Let’s name just a few:
- Marketing: an individual developer doing significant Open Source work is investing in professional advertising, and often gets employed by (or consulting for) companies using technologies in his domain. The same goes for teams and firms: the people behind CUPS printing services just got bought and employed by Apple, for instance.
- Specialist services: a certain level of complexity, and corporate critical business systems, require more constant and dedicated support than an open user community. So they need to hire specialist professionals or firms, which opens a very obvious business line for the very same people who produce the Open Source software being deployed. A case in point is OpenBravo ERP, but there are enough players in this field for the main Open Source repository, SourceForge, to have added a “Get services for…” button beside each product listed.
- Developer services: a whole industry of support, information, training and marketing tools has emerged to cater to people (and firms) investing in Open Source as a way to do business. The just-mentioned SourceForge is a case in point.
- Custom or bespoke development: while the “open” version can fit most needs, again high-complexity customers need highly specific solutions. Tuning or evolving your Open Source solution is another clear business line, one many Joomla developers are adept at.
- Solution layering: a very frequent solution, found for instance at Alfresco and SocialText, is a fully open, “edge” version that gets distributed free, and a version that includes also pieces of code that are not Open Source (or even hardware), thus enabling the developer to market it as a more solid, standard, documented and supported… and often with a license fee.
- Software as a service: eminent competence in the Open Source solution enables some vendors to offer it “hosted” (again, a prime example is SocialText). They take care of installing, running and maintaining the servers, and only charge your for the final result, either in full or per user.
9. You can do only some Open Source: it is not black or white
Having a product licensed as Open Source does not mean you can’t have proprietary code to bolt on top, too. Or a wholly separate product that’s closed.
And you don’t need to use radical licenses such as the latest GPL: there’s more controllable, traditional business-friendly licenses that grant larger control to the firm.
In short, you can mix and match to suit your needs and strategies. The better example these days is probably Apple: it’s making use of Open Source in technologies (Rendezvous networking is a trade name of an Open Source methodology), products such as its Safari browser (based on an Open Source project, to which Apple gives back its own code tweaks while keeping Safari-specific bits proprietary) or its streaming media server (the threadbare version was made Open Source by Apple) and even its operating system (Mac OS X is built on a version of Unix, onto which Apple bolts significant, but separate pieces of software: the Unix itself is Open Source). It keeps control of its crown jewels, it harnesses the efforts of many mainstream Open Source projects, and it even dabbles in promoting its own.
10. In conclusion
There are many instances in which it makes sense to own your code and not open it (essentially, if you can’t make use of any of the above sources of income). There’s also a lot where it’s uneconomical or plain inefficient, depending on your business model.
Nowadays, increasingly, steering blindly away from Open Source is a waste of time and money.