At the beginning of every road, the possibilities always stretch infinitely to the horizon. So it always seems when one is starting a business as well. But could your open-source project actually support a business as well?
The answer is not always “yes.”
On the surface, even the concept of an “open source software business” seems to be an oxymoron. “Open source” means software that is freely available for users to download, use, and distribute. A “software business” means charging for that software, be it from licensing, support, or documentation. So how could an open source project be used to build a software business?
To answer this question, we need first to understand why both commercial and open source software models work in the first place. Commercial software offers features. In return for my money, this shiny package will (hopefully) offer me out-of-the-box features that meet my needs. Open source software, on the other hand, offers code. I can go somewhere, get the source code for free, then customize and extend it as I need. The software freedom that Stallman originally talked about is really a freedom through code: I am “free” with open source software not because I got the software free of charge, but because I have its source code, so I can change it to suit my needs. Therefore, commercial software will appeal to people who are looking for stable, easy to use, and supported features, whereas open source software will appeal to people who are looking for well written source code to modify or customize.
Not all software have both groups of people. For example, there are certain types of software which practically nobody wants or needs to modify or extend, so open source has a limited value proposition (other than being free of charge.) In this case, you might be better off releasing your software as shareware: give it away for free, but keep the source code, and then ask people to pay for an enhanced version. (A modern alternative to this model would be to offer it free online and sell ads.) Conversely, there are some types of software, especially in the open source world, which are really not intended to be used out of the box and therefore are only valuable to programmers willing to work with the code. These might work adequately as open source projects, but you will probably have a very difficult time making a business out of them.
Therefore, to have an open source software business, you need to find a type of software where there are people who need the source code and where there are people who would pay for out of the box features, stability, ease of use, and support. We think we’ve found it with business applications software, such as ERP and CRM software. Virtually all ERP software, even multi-million dollar commercial packages, must be customized, so our users will appreciate having access to the code. Ease of use, stability, out-of-the-box features, and support are things that business users are used to paying for as well. It was this thinking which led us to create the opentaps Open Source ERP + CRM business applicaitons suite.
If you think you have found such an open source project, I will write more about how to build software for both open source and commercial users in the next installment of our series on “An Open Source Business.”
Some flaws in your line of thinking.
First, Open Source code is not equal to Free Code.
Most monopolies will let you see fragments of their –often buggy and useless– code under a NDA, but they will sue you if you build upon such code unless you pay them a fee.
Free code allows you to study it, share it, use it, and equally important, modify it as you see fit. No restrictions, really, but instead a little price to pay: You have to share with others all your modifications. This is really not an issue if you look a it as when someone organizes a party for his/her friends with free lunch for all, and you happen to be one of them. If you enjoy the party, chances are that you will feel compelled to organize another one on your own, just to please your friends and spend some happy hours with them. This is how the free movement works.
Second, if you want to make others think there are not much user oriented, ready to use free applications, you may have been living in a cave for over the last ten years.
Third. If you buy Oracle 11g Database or MS Sql Server 2008, they will be pretty useless right out of the box. You will need to design an application that fits your needs –or have someone build it for you. So, don\’t confuse software aimed at developers, with software aimed at final users.
Fourth. When one thinks of stability and ease of use the answer is Free code most of the times, and not the other way around. Take, for example, the London Stock Exchange which recently started moving out of \"the stability and out-of-the-box features (viruses included)\" of Microsoft, and into free software solutions. And this is just an example. Many individuals and offices worldwide are silently moving towards free code.
First thanks for your comment. Now please allow me to clarify:
1. Yes, I agree with the ideas of the Free Code, and obviously we think it’s a good thing, which is why we release our software under those licenses.
2. I don’t think I live in a cave (unless it’s cave from Plato’s Republic.) There are indeed some very user oriented, ready to use free applications–but remember this blog is about starting a business writing open source code, not just offering support or packaging services. How do you start a business making open source software where the users don’t need your code? I honestly don’t know. And is it better just to make such software available free of charge online and support them with advertising? Google, Facebook, Twitter, and MySpace seem to make me think that the answer just might be “yes.”
3. No, I don’t think I’m confusing users with developers. I’m a developer and I use MySQL, PostgreSQL, Hibernate, Apache, etc., but with respect to those software I am definitely a “user”: They are very useful to me right out of the box, and I want features, ease of use, and stability.
4. Stability and out of the box feature set are the hallmarks of good software, whether open source, commercial, or hosted, and they result from good processes and good people. There are some cases where open source software has delivered these better than commercial software (and some cases where it has not), but the most fundamental value of freely available source code is the freedom through code, which means that whoever gets the code must find it useful. That’s all I’m trying to point out.
Thanks again. 🙂 Si
I think the core topic when it comes to app development and making money is “Intellectual Property”. When you develop a product and copy write / paten that product you own the right to sell it for a very large profit.
My comment is simply that you have the proprietary Intellectual Property & the non-proprietary property for free. One makes money on its own and one does not, unless you bundle services around that product.
“…this blog is about starting a business writing open source code, not just offering support or packaging services. How do you start a business making open source software where the users don’t need your code? I honestly don’t know.”
I’m glad you clarified that, because I didn’t get when I came directly to your post.
The question can be interpreted two ways, though. In my opinion, you can’t start any software business where the customers don’t need your code. This customer does not exist. All customers and users need your code, but perhaps they don’t know they need it yet.
I pretty confident that you didn’t mean what I wrote above. If I’ve got it, then what you are asking is “If we remove making money from support, if we remove making money from packaging and selling a distribution, if we remove making money from customization and integration of existing software, what other ways are there to make money making free (as in freedom) software?”
Contrary to popular belief, shrink-rapped software is the minor part of the software business. Sometimes I get the feeling shrink-rapped means “I don’t care what you need, just buy the shiny box and leave me alone – here’s a lolly!”
By far the largest part is writing software under some kind of contract for either private companies or some government entity. Now, for both of these sectors free (as in freedom) software is actually very useful as requirements change over time.
Initially, they want something that works according to their specification. So you need to know how to write a successful bid and get the contract, and then deliver as promised. Giving that requires a lot of communication, but if you are successful the customer knows you and will prefer to work with you, rather than your competitors.
Now, here is where private and public sector diverge a bit.
One must assume that a private company wants custom software to get a competitive edge in their core business – make their products cheaper, easier, faster or at a higher quality. Do they want to give their Free Software to the competition? No. At some point when requirements change or the competition catches up, the software must either be changed or replaced. Having free software helps in this situation.
The situation is reversed in the public sector, which to a large extent is tax based and politics can change where money goes. They want to share code with as many as possible, perhaps between countries, to save money. Is this negative for your company? Only if you haven’t a built a good relationship with your initial customer. No company works without payment – at least not for long, and the government expects this, so offer to help out integrating your software with other software for your regular consulting fee or whatever suites you. The government hates changing vendors, because this usually affects so many people, so just explain that the salaries of your developers, the office rent and what not don’t allow you to work without pay. They will not like it, but they will pay. The more they share their code, the more you are needed. Since it’s free (as in freedom) software, hopefully you are not needed at all times, but more users sharing usually means more paid work for you.
What prevents a customer from selling your software to your competition? Almost nothing, save your good relationship. The “almost nothing” part is rather large, though. We will assume that you have spent $10 M in research and development of this free software. We will assume that you are not a bit slow, and have been paid for this work or that you had a lot of spare change allowing this R&D to happen. Now, somebody gives the product to your competitor, who has saved $ 10 M in R&D, and can beat you to market by selling or giving your software away. Does this remind you of something? Yes, the market has turned into a “public sector”, which needs your services – see above. This may be annoying, but need not be the end of the line – you still can compete for customers. Plan for it to happen and surprise everyone.
Suppose the competition improves your free software by spending $ 2 M on R&D before they sell it. Well that’s great news for you, because according to the GNU GPL and the GNU LGPL, any distributed changes must be made available under the same terms and conditions. In short, you’ve just saved $ 2 M. Sit back, smile, have a cup of coffee and give them a call to thank them.
Free (as in freedom) software is an old concept, but new to surprisingly many people. I started using it in 1998, and have after 11 years started to appreciate free software as a kind of future proofing, an insurance, and a must have to accommodate changing requirements. It was several years ago that I concluded that paying for free software is the way forward for businesses, because then they take responsibility for keeping their own suppliers alive, and by extension themselves.
Haakon Meland Eriksen, Norway
Yes, I agree that “intellectual property” is the fundamental asset for making any money with software. The question is, how best to make money from this asset? Is it better to keep it closed and proprietary, and hope for big license sales? To make it openly available, and hope for services and support? Or to “rent it out” as a transactional service, and collect a small transaction fee each time somebody uses it?
This is so good, I’m almost embarrassed by what I wrote. I am still stuck on your first point. Of course, all users of software need your code — what I meant is do they need access to your source code, so that they can modify, customize, and extend it for their needs? Or do they just need your source code to be running, so that they can use it without customizing it.
Your point about the relative share of custom written versus commercial software is certainly true. Now do you think that’s a reflection of the artisanal nature of software development, which is after all a very young industry? If so, do you think that over time software will become more industrialized, much like most other activities? Would that in turn imply that standardized, if not shrink wrapped software, will gain market share versus custom developed software?
I feel like we’re seeing that with open source ERP, like opentaps — Instead of custom developing an ERP system completely from scratch, a lot of people we’ve worked with are using opentaps as a starting point and customizing it to meet their needs. In that way, even though the end result is still a “custom product” to meet their needs, a higher percentage of that custom product is in fact from standardized open source components.
You are too kind, your original post enthused and enticed me to collect my own thoughts on this issue.
By \"code\" I was referring to free (as in freedom) source code. I sincerely believe all customers and users need the rights and obligations provided by free (as in freedom) licenses such as the GNU General Public License, but perhaps they don’t know they need it yet. It can be difficult to predict the future, but experience tells us that business requirements change – mostly at an uneven pace, in leaps and bounds or at a slow crawl over a very long time – longer than most businesses exist. For our businesses and governments it is best to have the freedom to adapt the software we use according to our own needs. This does not imply that the original company or external consultants are not needed, they are just not in a position to decide over our data and our processes unless we want them to.
We tend to forget the old proverb \"The bigger they are, the harder they fall\". The consequences of say Intel or AMD going belly up would leave many software companies hanging in mid-air, but it would perhaps cause more trouble for regular none-software businesses in their day to day operation. Free software like GNU/Linux is already available on more platforms, and taking current and possibly future suppliers into consideration when doing risk assessments should make a strong case for free software. This is why companies want portable code, even though they may not know it yet.
The availability of free (as in freedom) software components do point in the direction of reusable components, but I\’m not sure if this is the same as standardization. There are efforts in that direction too, in areas which are not business differentiators.
Informatics departments already teach students to embrace component thinking, starting from large UML diagrams and only delving into the logic of program code later on – if at all. I\’m not sure if that is a good idea, since a lot of students fail these classes, because the conceptual leaps are too great. A consequence of this could be less innovation and more standardization, because students haven\’t got sufficient training to create and change things. I think a lot of people would disagree with me here, but it is harder to run – and win – if you don\’t know how to walk for yourself. I think we will see fewer artisans and more workers. I hope I\’m wrong.
Yes, having a starting point is one of the strong points of free software. The truth is, at least in health and schools, is that most software is about document management and not about staying healthy or teaching a subject. So you will find EMRs and LMSes, but not diagnostic tools or tools to enhance understanding. I\’m not saying there aren\’t any. Having free software provide a starting point, may help us move to more useful software. Teaching and repeating how to create a normal from a point to a line or a 60 degree angle is not easily done with an office suite, nor is teaching different ethical models or discovering which word classes are present in a text. I\’m not familiar with opentaps, but free software ERP systems seems to be on the right track, moving closer to actually helping the core business of another company.