I’ve been very surprised as I’ve looked around the web that there doesn’t seem to be very many good guides about the nuts and bolts of starting an open source business. There are odds and ends, yes, and conferences that have sessions here and there, but given all the thousands of general business books and “how to” resources, none seem to focus on open source businesses in particular and at length.
Part of the reason, I think, is the never ending discussion of business models and whether open source is a business model or not. Also, there is no one way to start and run a business that involves open source. For example, you could produce and sell a piece of consumer hardware and all the contained software might be open source, probably unbeknownst to the purchasers and users. The breadth of it today is pretty much as wide as all software in all businesses.
Other open source businesses are more obvious, such as those based a well known project such as Alfresco, SugarCRM, WordPress, and Drupal. There are also many businesses related to Linux distributions such as Red Hat, Novell, and Canonical/Ubuntu.
Here’s some advice to get you started in thinking about starting an open source business. Some of the questions I pose may sound negative, but they are intended to make you think and generate answers you can support.
Don’t quit your day job, yet.
Do your research and check out a few books on the general topic. Make sure you know what you can do about starting the business within the parameters of your current job. For example, your company and its attorneys might look askance at your doing an open source version of the proprietary software you develop during the day.
Find an existing open source business that does something similar to what you want to do and learn as much about it as you can.
Investigate what open source license they use, how they support development, how their community is run, how their sales force works, and how they structure and charge for services. You could do worse than copying the model of a successful business.
Remember that an open source business is a business.
The basic principles around revenue, profit, loss, taxes, payroll, overhead, accounting, sales, incorporation, health care, and human resources all apply. You can be a starving open source software entrepreneur as easily as a starving proprietary software entrepreneur. No one will excuse basic business failures and screw-ups just because you use open source. Make sure that you will produce a product that people want and in some way will pay for, no matter how indirectly.
Learn about copyrights and open source licenses.
Early decisions about who owns the copyright to your software and which open source license you use will affect how you can earn revenue. If you don’t own the copyright to the software, you can’t dual license it in an open source way and a more traditional commercial way.
If you plan to incorporate existing open source code into your own, you need to understand the licenses and what you are permitted to do. Yes, open source can be about freedom but it should also be about flexibility. Here again, look at how successful open source companies have used licenses. Did they start with the GPL, BSD, Eclipse, or Apache licenses? Are they still using them? Why or why not?
Come up with a good answer regarding why you are basing your business on open source.
Your initial answer might be personal or philosophical, such as “I just believe it is the right way to do it” or “I support freedom,” but you might need more detail if you have to go to an investor. Within the general context of why you are starting the business, what market segment you will serve, how you will attract and keep customers, how you will develop your product, and how you will grow revenue, you need to make your open source decision explicit.
How strong a case do you have for your business whether or not open source is involved? That is, don’t let open source cloud your analysis and presentation of your business plan, but by all means make it integral to what you say if it is a solid strength of what you plan to do.
Think about community first and foremost.
Do you plan to have all the developers who work on your open source code for your business on your payroll? If not, what will motivate them to participate? If so, why are you making your code public? As above, it’s ok to say “that’s just the way I want to do it” but understand the pros and cons in detail. There are many more aspects to having an open source community than just having some coders work on software. You have to deal with governance and conflict resolution, not to mention technical topics like choice of programming language and system architecture. How much control do you need to have?
Your community may eventually need to include graphic designers, web designers and administrators, evangelists, and community leaders. Be very comfortable with all this before you jump into an open source business.
Understand your exit plan.
You may plan to run this company for the rest of your life or you may decide to sell it. This is normal business, but understand how open source may affect your opportunity to be acquired. Is the provenance (code origin and history) of your software murky? Are you violating any known patents? Is your chosen license “friendly” to your most likely acquirers? What exactly would be acquired if the code is open source? (Note above mention of copyrights.)
If you ultimately decide that you really just want to contribute to an open source project rather than start a business, that’s just fine. Starting and running a business can take you a long way from the joy of programming and design as you deal day to day with staying afloat and driving revenue. However, if you are careful and work out a preliminary plan for easing into things, that open source project you start today could be a business for you and others next year.
Learn about business, learn about the software business, learn about “the” open source software business, and then make the jump if you are ready and it’s the smart thing to do.