Ask Slashdot: Viable Open Source Models For Early Startups? 203
New submitter rchoetzlein writes "I am a software developer working independently for five years on various projects, and preparing to go public with my first product. Everyone is telling me I should make it open source. I would love to, but I just don't see how an early startup can afford to become profitable on service alone. My projects are no longer small-scale hobbies, they are large frameworks, and I need to make a living. Any ideas on business models that would allow me to open source while guaranteeing I can feed myself?"
Sunset (Score:5, Interesting)
Try sunsetting your proprietaryness.
Have your product be proprietary for a finite period of time, and once a particular version is EOL'ed or otherwise ceases to be commercially viable, open source it and let the public go nuts over it.
You only need to keep your leading edge keen in the market.
So, WHY? (Score:3, Interesting)
Let's start with the basics: What's in it for YOU? Is open source a buzzword, something you think you have to do ethically, just don't have the chops to turn it into a business, it based on other open source code? Is income something you vitally need to continue your work, to live a better life, or are you independently wealthy (I think you've ruled out the latter)?
I agree with an earlier poster: Make the core code that delivers basic utility to the user open source, if you want to use it as your "loss leader" to show them what's possible. Include all the extra features in the menus or configuration options of your program, so users can see what they're missing (clicking on it opens a window telling them it's in the commercial product, if they'd just buy it).
But, remember, open source is just a way for other people to leverage your code and make it into a competitive product...some will even violate your license agreement, and modify it to suit their customer base. Do you really want to spawn your own competitors?
Go both routes (Score:4, Interesting)
I'm currently working on a product that will have 3 components. 2 of them will be open source and 1 will be closed source. The web front end and the plugins will be open source (maybe optional) and the engine that does the actual heavy lifting will be closed and pay for only. Obviously, the plugins will be of little use to anyone not using the core product, but the web front will be able to be modified to work with any of the current products on the market. I'm okay with that though, because if it turns out that I have the best web front end then people will use it and it'll give exposer to my core product that it's designed to work with even if someone modifies to work with a competing product.
I'm still debating on how I want to do the plugins. I'm thinking about using LUA, but then that would force everyone to open source their plugins. I'd ultimately like to see a little ecosystem built around the plugins that allow people to make money off of them if they choose to. So I might go with a native c++ api as well.
Maybe this is something you could do as well. I've talked with several people in the industry this is targeting and that's how I've came up with this model. They don't really care to modify the core of the product as long as it does what it's spouse to do. They care about being able to modify all of the reporting and what not which is what the front end does. So it appears to be a win win for everyone.
Posting AC because I moderated the discussion.
-wmbetts
Some possible models (Score:5, Interesting)
It heavily depends on what your product is, but you've at least these possible models:
1) Fully open source with lack or light documentation. This makes your product essentially free but users pay for support and/or the docs. I can't remember any specific example of a project selling the docs but I'm sure someone will.
2) Dual License model. A very popular example is ExtJS which is GPL (v3 iirc), however, if you wish to keep some code secret (including server parts) you might need a commercial license. And of course there are support plans available, as well as SVN/GIT access to the latest (devel) version.
3) Dual License with a Enterprise version. Essentially what MySql does where they offered an open source version but if you wanted fine tunned performance, support for enterprise hardware and support then you need the Enterprise version.
4) Dual License with long term support. Some projects like Liferay or Red Hat Enterprise use free versions as beta versions - after a while they release a long term supported version for enterprises and backport the important security and bug fixes. Maybe you already know but some companies are very slow to adopt new tech and ever slower to keep up, if they can keep a 4 year old version of the software that does the job well and still get support and bug fixes, you're best pals.
5) Early access model. Another possibility is to offer early access to new versions. For instance, the Xming project (a X11 server for Windows) offers donators access to new versions much earlier. You can even create a "pool" mode where you release the new version once X dollars are donated.
Depending on your target audience and the possibility of some of the adjustments required by those suggestions you might find a suitable model or cook some solution with ideas from several.
From someone in a similar spot, I wish you luck!
just a couple thoughts... (Score:5, Interesting)
Second, consider a subscription model to a proprietary database. It's a classic business model, and can be added to most any project relatively easily. Even open source ones. On the support side, the proprietary database may be a) premium support forum, b) bleeding edge features not incorporated into the base build, c) recent bug fixes and security patches not incorporated into the base build. On the feature side, there are countless opportunities, but they'll be dependent upon your framework and what it does. For example, if you have a service that is geolocation aware, your propietary database might be a list of locations of interest.
That's a bizarre notion of ethics... (Score:4, Interesting)
Ethically you want to do what is closest to your heart if you will, but unfortunately you need to eat, and usually this involves doing the opposite of ethical (or at least far from what the ideal-ethics tell you)
Why is it ethical for hundreds or perhaps thousands of people who do not even know you (most of whom will never even say "thanks", some of whom might even hate you if they met you) to use the product of your work for free? Why is it unethical for you to be compensated for thousands of hours of work?
Giving something away for free may well be a laudable act of personal generosity, (unless you are a huge software company attempting to kill your smaller competitor by giving away a free web browser, in which case some of the very people on Slashdot who say this is ethical will blast you as evil) but that does not make the choice to not give your work away for free unethical in any locale I am aware of that does not have Rod Serling standing in the corner smoking.
I suspect that a large number of the people who are always saying everything should be open-sourced and handed out for free are living in mom's basement on an allowance, or living on government assistance, and have therefore never become familiar with the basic laws of economics. 5-year-olds always think everything ought to be free because they have never had to work and people have always provided everything to them for free. Adults know that food, shelter, clothing, medicine, etc. all cost money (because the people who provide those things also need money for the things they need) and it is therefore honest and ethical for one man to compensate another man for the products of his labor. In ancient practice, people spent most of their time struggling to provide themselves with the things they needed to survive. In advanced societies we specialize; I do not hunt and kill animals or plant and harvest crops or make clothes or build shelters.... I do narrow very technical things for which I receive "money" which i then give to people who specialize in providing me with meat and grain and a house, etc. This is not unethical.... this is extremely ethical as it respects each person according to his/her talents and work and advances civilization. This system has fed, clothed, housed, and healed more people than any other system in the history of planet Earth.
Re:If you think open source is not the way to go.. (Score:2, Interesting)
You know, after your first paragraph I thought we may have a reasonable discussion; unfortunately, after your second, I realized I need to wait for you to learn how to read first.
Re:If you think open source is not the way to go.. (Score:2, Interesting)
People with a proper understanding of ethics understand that there is an ethical hierarchy. You can take any unethical action which satisfies a higher element of the hierarchy, and consider it ethical. Usually feeding your family and yourself is ranked quite highly. Thus, you may ethically steal to feed your family, etc.