Slashdot videos: Now with more Slashdot!

View

Discuss

Share

We've improved Slashdot's video section; now you can view our video interviews, product close-ups and site visits with all the usual Slashdot options to comment, share, etc. No more walled garden! It's a work in progress -- we hope you'll check it out (Learn more about the recent updates).

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?"

It's a little early t be saying it's the end of proprietary software packages, but the OP mentions the word "framework", so it's a little unclear what exactly he is developing. Proprietary frameworks outside of large vendor created software ecosystems(Windows, iOS etc) are definitely on their way out. If devs cannot get access to your framework they aren't going to use it and frameworks with a very small user base tend to fail as nobody wants to devote any time to learning it if they don't think it will b

If your proposing to release the previous version as open source every time a new version is release you are not going to get any community members working on it beceause they know any changes they make (and try to submit upstream) will probably be incompatible with the changes you are making on the currently-propietary version. Open Source (with collaboration) ONLY works when all parties are working on the SAME version. Otherwise all you will end up with is a fork every time a new version is released.

Open source is about allowing more people to look at the source code, for faster/better development. My guess is that most people who're telling you to make it open source have no idea what they're talking about. In fact, even you don't seem to understand the difference between open source and free software, because you write "[...] to become profitable on service alone." Free software is NOT the same as open source software. Free software is about freedom for its own sake, not about faster/better development. Start reading here [gnu.org].

But Open Source software urges Freedoms 0 and 1, but not Freedom 2, and for good reason. Once you prevent people from preventing their customers from 'sharing their software to help their neighbot', you are automatically violating a central precept of free software. It doesn't violate Open Source software, however, since the main condition - that the source code accompany the binaries so that downstream users can fix any bugs, or modify it to make it more useful - is intact. Freedom 3 too isn't a part of

What are you trying to do, make a living or change the world? (You generally can't do both at once; if you get rich from work, you can THEN maybe change the world.)

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?

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.

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.

It really comes down to what the product actually is. Dual licensing can work really well, esp when the product is used as a piece of larger code bases then customers who do not want to open up can pay to integrate it into their closed application. Plenty of better options then the earlier suggested intentional crippling.

Any ideas on business models that would allow me to open source while guaranteeing I can feed myself?

There are no business models, either proprietary or open source, that will guarantee that you can feed yourself.

Also it sounds like you've already written the software and that you're just now trying to think of the business model for it. You've done it all backwards. This is not to say, that I haven't done the same thing myself, but I'm just trying to point out how wrong headed your way (and my way) really are in the real business world.

"Any ideas on business models that would allow me to open source while guaranteeing I can feed myself?". I guess the exact same business model for closed source proprietary software that guarantees you can feed yourself, wait, what, there are none.

Reality here, sorry can not answer your question, you have provided insufficient details. Nothing about what the software does, the market it is targeting, the quality of the software or it's competitors, those details at a minimum are required to even guess at

One consideration to think about is that the people who are recommending you release as open source may, in reality, simply be advocating for the ability to make customizations and build on top of the framework you're developing. An open API made actually serve their needs; and may be something they haven't considered, or don't know to ask about. So, open API, proprietary framework is one possibility.

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.

One consideration to think about is that the people who are recommending you release as open source may, in reality, simply be advocating for the ability to make customizations and build on top of the framework you're developing.

That's the most important benefit users get out of open software: the ability to tinker and to break away. And because it catalyses an ecosystem, the developer also benefits from making it easy for their software and its documentation to be extended.

If one's willing to break away from a pure FOSS licence, it's possible to retain these freedoms while making it feasible to charge for the software. All you need to do is to adopt a licence that (a), requires users pay a licence fee to run the software in a n

So you've worked for five years on this but haven't yet thought about the business model until now?

Instead of asking slashdot, how about this radical suggestion: talk to a potential customer.

As in, find somebody who might actually be a paying customer. You do know who they are, right? If you don't, stop programming right away and figure it out and get at least 5 names of people with their email & telephone.

You don't necessarily do what they ask (they want the moon, documented and supported and customzied, for 99 cents), but you will find out more useful information to make your decision. Talk human-to-human, on the phone or in person.

What business model will result in getting revenue now? What are your customers' needs? What constrains their decisions to buy or not?

A suggestion: open-source common interface code necessary to link your system with a customers' existing software. Integration problems are often a big worry among customers.

I can't think of a way of guaranteeing that you can feed yourself whether or not you open-source your code! Making it as an independent software vendor is hard. Above you, you have big companies who like money and won't hesitate to offer similar software, independently developed, if it looks like you've found a good market. Below you, you have FLOSS developers who won't hestitate to offer similar software for free if it looks like your software offers useful features for users. (In some cases, these groups may overlap.)

That said, you haven't given us anywhere near enough information to answer your question. Are you talking about highly specialized software for a niche market, or general purpose software with a potentially huge market? The edge-effects of open-source development are much more likely to be useful and beneficial to you in the latter case.

What do you get out of open-sourcing your software? Free publicity is almost certainly the biggest factor. How big is your advertising budget? Also, what about distribution channels? Remember, you're competing with big companies and (if you go the non-free route) open-source developers/companies. How are people going to hear about your software, and find it if they do hear about it, and decide if they like it better than other similar software?

Making your code proprietary greatly increases your per-user income, but makes it much more difficult (and expensive) to get new users. Open-sourcing your code makes it much easier to get new users, but greatly reduces your per-user income. Independent comic artist Phil Foglio started putting his Girl Genius comic up as a free webcomic, and said that his readership grew tenfold and his sales quadrupled. But that may or may not be typical.

There's also the possibility of hybrid models, like releasing the core as open source, but charging for add-ons, or, if you think other companies may want to adapt and sell your code, offering a choice between a restrictive free license (e.g. GPL) or a commercial for-pay license. Depending on what your program is and how it works, those may or may not be viable options--you haven't given us enough information to tell.

Bottom line, though: all the cards are stacked against you no matter which way you go. And, while you've given us very little to go on, it's quite likely that even if you gave us ten times the details you have so far, it still wouldn't be enough information to make more than a wild guess. Going it independent is hard and extremely risky. There's a reason that something like 90% of all programmers are employed developing internal software that never gets licensed or distributed outside of a single company--it's one of the few ways to be sure you eat.

Making your code proprietary greatly increases your per-user income, but makes it much more difficult (and expensive) to get new users. Open-sourcing your code makes it much easier to get new users, but greatly reduces your per-user income.

Depends on how he prices it, doesn't it? If he prices it to be orders of magnitude cheaper than its competitors, but still w/ enough cash to cover his costs, and if in the terms & conditions, he forbids re-distribution of the software - whether original or modified - he can do fine w/ OSS. Note that I didn't say FOSS, since honoring freedoms 2 & 3 is not in his business interests.

Similarly, his source code needn't be available to the world - all he needs to do is to provide the source code along

Um, I don't know what definition of "OSS" you're using, but I'm using the standard definition [opensource.org], and what you describe does not meet that definition. If he "forbids re-distribution" as you suggest, that violates criteria 1, Free Redistribution.

Yeah, he can distribute source without making his code open source (this used to be quite common in the Unix world), but that's not what he asked about.

He may be wanting to make his software publicly examined, which is why opening up the source code is something he's looking forward to. However, he may not be fine w/ his customers distributing it to other people who'd otherwise be his other customers.

By OSS, I mean that the software is just open source, and that's it. There's no 'Free' there - which is why I deliberately didn't mention 'FOSS'. And yeah, I'm talking about libre, not gratis - I don't think that 'software freedom' itself should be a goal

I don't know what you are making, you didn't provide info. How popular do you expect the software to get (be realistic)? If you think it will displace Apache in 2 months, then you should make it open source and freely downloadable. But otherwise if you need to buy groceries and stuff, I think you should sell it with the source included (you can sell service contracts on top of that). Choose a license that gives you, for a limited time, a fair amount of control over their ability to sell copies of your work.

You don't give nearly enough detail here for people to be able to help much. Are you talking about an app for mobile devices where it'll cost a few dollars, business software for small/midsize companies, or (potentially) enterprise-level business software?For an app, you could make it open source but sell it for a buck or two - most app purchasers will happily just get it through the relevant app store; those who will care about the open source nature will hopefully be willing to throw an (insignificant) co

Obviously, you can't open source your product and make money off sales of the product; the two are by definition incompatible. The way that open-source based businesses make their money is on services...integration/implementation, support, that kind of thing. But these require a critical mass to exist; if there isn't a good-sized install base, there can be no demand for services. And if you take the route of putting out a great product in open source and then forking/commercializing it (like Tenable did

Spend your VC funding wisely... more modest office rentals (Remember: MySQL AB's founder let 70% of his staff - in a subsequent company - work at home, meaning the Co. didn't have to rent as much space. See his practical exceptions to that rule - intended to keep single staff from burning out at home - eg, in his eCorner talk), modest vehicle for yourself (Eg, instead of buying a flash EV, just convert your own car to 100% electric; & install only Tier 1 (slow) charge points at home & work, for it),

Don't give more than what you're comfortably giving. Richard Stallman at least had a boiler room to live in, graciously provided by MIT, and there is always free food around MIT campus. He could afford to give away without a lot of material requirement in his lifestyle.

End users don't really care which open source license your software is, but businesses do. Businesses can't stand GPL and will ask for BSD-like licenses. An example to consider is that QT was licensed by Trolltech under GPL, so it let them keep the ability to make money from business partners if they wanted to.

I'd even go a step further and license your software under Affero GPL which requires software providing public network service that contain your software to give network users the access to source code as well. It's especially far-reaching since you said your software is a framework.

If you built an end product around the framework, you can open source the framework but keep the end product proprietary. Think of the difference between Apache Portable Runtime (APR) and the Apache httpd server itself. APR is a framework, but httpd is a product.

If you're really concerned about open sourcing as a moral decision, think about what drove Richard Stallman to open source [gnu.org] in the first place. Instead of offering you a concrete suggestion here, you can look at the problem Stallman was facing, compare it with your situation, and see if you can offer another moral solution.

Under no circumstances I'd use the controlled obsolescence approach (old version open source, new version proprietary) or try to sabotage the open source version (intentionally withhold documentation, inadequate build system, etc.), as suggested by other Slashdot commenters. They hurt most the people who are the most capable to give back to you.

Open source is a solution for certain problems. You're coming at this from entirely the wrong end, trying to find some reason to apply a solution that certain people like without identifying some reason to do so. Don't do that. If you have a reason to open source it, do. If you don't, don't.

I'm part of an oss team, the reason is becuase I enjoy it, I'm not looking to make any money off it. Not what the OP was looking for but, here's what I know; given time and patience the money will come. Feed yourself now however you can, be patient, and be persistant. If the project is useful, it will pay off in ways you might not have thought of.

the guy who created ruby on rails makes his living by touring the world doing talks, lectures and training on the software that he is the world's leading expert on: ruby on rails. everyone knows that if you want advice on ruby on rails, you go to him, because he is the one that a) wrote it and thus b) has the best working map of the entire software base in the electrical memory (immediate recall) of his brain c) has the ready-to-go speeches and documentation-drone sentences down pat and *also* in the electrical memory of his brain

(chemical memory is where long-term memories are stored: they're harder to get at. you know the phenomenon. can't quite remember something, but 1 minute later or usually after a good night's sleep "bingo!" - that's chemical memory).

the main thing to remember about the free software business model is that it is a *gratitude* business model, not a "desperation / control / last resort" model. as in: when comparing free software to proprietary software, you buy proprietary software out of desperation because there *isn't* any alternative free software, knowing full well that you will get screwed, locked-in and your entire data is now hopelessly entangled in the relationship with the vendor of the proprietary software.

by contrast, you know that, with free software, the person you're entrusting your data to does *not* have you at their mercy. you notice in the posts above - the ones that have been marked as "interesting" and "informative" - they all are variants on keeping the customer entirely at your mercy, so that they *have* no choice but to come to you. that's not really good for you, or for them. apart from anything, it assumes that you _will_ be available for the rest of your life to serve at their pleasure!

so, contrary to expectations, anyone who uses your [free software] product actually *knows* this, and makes a *deliberate* and conscious decision to contact you and offer you some money for a support contract, knowing full well that you _could_ have gone the proprietary route... and didn't.

in other words, you get a better class of customer; the relationship is entirely different; you are *not* beholden to each other - each of you can walk away at any time... i could go on, but you see how it's just generally a much healthier way to do business?

all it takes is that you trust people, and have confidence in yourself. if people like what you've done, and it's actually useful, you stand a chance of making money regardless. if they don't like it, or it's not useful, then... well... they've done you a favour by not having you waste any more of your life on useless software, haven't they? in which case you could go do something more productive:)

Look, you indicate you have a fully functional framework system that's prepared to go out the door. People need to purchase this. You have zero need to open source anything here. All that does is give exactly what you've done to the very people who may want to use it. What you definitely need to do is set up a trial or limited features version. Something that everyone and anyone can get their hands on very easily to justify whether it will come close to meeting their needs. Publish a very thorough API

Unless there is a compelling reason to Open Source your product (maybe you're looking for your users to modify and expand the product?) I would not definitely not open source it. Why choose a business model that puts "profits to pay the developers" at the bottom of the priority list? The list of profitable small to medium sized open source projects that produce a very good profit is small.

As a developer, you have a limited number of productive years, before family, lack of time, and brain cells makes you overpriced and uncompetitive. Global outsourcing will make this worse. You owe it to yourself to make a bundle of money now so you'll have something to pay off the house with and retire on. And besides, software becomes obsolete quickly, so if you think you'll make money eventually if its "free" to start, you're kidding yourself.

Just today I tried 3 "free" programs to do the simple task of merging mp3 audiobook files together.. they all sucked. I then spent $10 on one and it worked like a charm on the first go. The number of profitable companies that don't give away their entire product is vast. If it is worth something, charge for it. Willing buyer, willing seller. There should be a name for this concept.

You could say "after we've reached $X, we'll open source it. Those who pay now get exclusive access to each upgrade ahead of it's open-sourcing.Once it's open-sourced, you live out of donations/support/SaS.

Paying support+warranty is important for some (corporate) clients though.

Again with the frameworks... The only thing I kinda like with the Apple Store is that it gives a focus on applications so developers have an incentive to build something that does something.

Unfortunately lots and lots of startups and open source projects are still spending cycles on yet another framework instead of creating actual value. This is not a problem that is specific to startups however - even in-house IT developers tend to spend time on frameworks and libraries if management or architects are not

Most people (FOSS fans included) don't give a shit wether a piece of software is FOSS or not. They just want to be able to get it fast and not get in their way when I try to buy or use it.If you have a piece of software that I can use and that solves a problem, I'll, and most other people, will shell out money. However, if your checkout gets pissy with me just because I live in a different country or continent, or if you add pointless obsticles (for instance obfuscating script code like some PHP web system

A scenario in which customers might care about the source code could be one in which your software handles customer AND client data and the client (the one using your software) needs to in some way advertise the security and fitness of the software to safely handle their customer data.
Advertising that it is publicly available and allowing new clients to hire anyone they like to review it might be advantageous. It allows clients to provide customers with an assurance that though they outsource the service t

While I daresay a large proportion of/. will love with the idea of going open source, I would approach it from a different angle altogether.

My angle would be to - at least initially - forget about OSS. Instead, consider "What's my business model? How will I turn this project into something that makes me money? Who's going to buy it and why will they buy this over either buying something else or using a free equivalent?"

The reason I say this is if you're just starting to go it alone, you've got an enormous

You're going to need to adjust your business model a lot over the next few years until you iron out all the wrinkles (or even drastically change it). No business model survives contact with the market unchanged. Even if you're copying another software business's model, your product will be different which will affect your implementation of that model.Open-sourcing your code cuts down the available choices for your business model, maybe not by much, maybe by a lot, depending on your market.

You say "everyone is telling you to make it open source". Well, I don't, so it's not everyone. But why are they telling you this? One advantage of open source is that these people can build on your work without paying you. Wait - that is an advantage for everyone except you!

Just ask yourself: What is in it for me? Assuming that you have a husband or wife and two children and want a nice home and decent food on the table for everyone, and a good education for your children, what's the best way to achieve

The worst thing you can do is rush the decision and the implementation of your business model.

In my case, the core of my software (MSS Code Factory [sourceforge.net]) was always intended to be open source. However, the intent was not to launch the company/business branch of the project (Singularity One Systems, Inc. [singularityone.ca]) until I had at least a couple of the proprietary support modules in place for commercial databases.

Timing would not turn out to be in my favour, however, as I was laid off last year, so I rushed getting "t

"My projects are no longer small-scale hobbies, they are large frameworks, and I need to make a living."

Well, then do it the way any other else's.

Research your market so you know what's sellable and what is not, to whom and why.

Then target your product to the lowest hanging fruit and focus your advertisement campaign to it (I mean it! You might think at the beginning that your product is targetted to other developers just to find that it is in fact targetted to their managers which are the ones that sign t

If you think open source is not the way to go, then why bother asking slashdot? Seriously? You won't get the answers you're looking for here.

Yes he will.

The way I read it, ethically he thinks open source might be the right thing. Practically, it might not be a reality. He's fishing for examples of unconventional open-source money generating techniques.

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)

So I propose this. How about you release version 1.0 and 1.5 for example (or 1.0 and 2.0 or something) as regular closed-source software, and then when the next version comes out, you release the previous one as open source (e.g. release 1.0 and 2.0 for pay, when you release 3.0 for licensing you release at the same time v1.0 as open source)

Of course this would mean that you would have to have a road map for what you plan to introduce to your software along the years, so its easier to establish which version is to be safely released as open source without it hurting your paying customers. So, I think you would have to make significant changes and upgrades along the life of your software so it stays competitive and entices costumers to keep upgrading instead of waiting for the open source version, or in the case where the user doesn't really need the "greatest and latest" he could fallback to v1.0.

Disclaimer: I haven't actually put to work something like this, and actually this is an idea I believe I read here on Slashdot as it is, but I think, if not directly useful to you, could give you an idea of a "hybrid" approach, where certain functionality is still closed source as it requires the most of your time (so it costs more) but you still have the open version to maybe encourage some devs to take interest in this framework, or at least show your clientele that you really care about open source however economically infeasible it is for you.

I would say its on the same line of thought as "pay-what-you-think-its-worth" for games like World of Goo and such. You could effectively buy it for 1 dollar, but like me, a lot of people thought it was really nice of them to do this and since I actually enjoyed the game a lot, I payed like 15 or 20 USD (the original price). And even use that as a marketing tool.

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)

You know, this sounds weird to me. Can an ideal that forces you to die of hunger be called "ethical" in any kind of reasonable real world moral system? That means nobody (at least nobody alive) can ever be "ethical" (or honest, or moral, or whatever you want to call it). That makes the particular ideal deeply flawed, and the moral system it belongs to is at least extremely questionable, if not completely senseless.

Now, I recognize the fact that people have and sometimes still do die for ideals - but the death is almost always caused by external factors opposed to whatever ideal they fight for, not by the ideal itself - the only exceptions I can think of are some bizarre suicide cults.

Free Market Capitalism is non-zero-sum only in your wet dreams. Capitalism of any stripe only works due to imbalances in distribution of resources which are artifical in nature. These imbalances are always due in one way or another to the use of force and/or coercion and/or deception. IOW, it's the precisely the greedy actors that make it function.

You had me going along until you tried to slip that garbage in. Nice try, though.

Here's how it works.....a bunch of rich people in England pool their money together to build a hydroelectric dam in Argentina. Suddenly they are selling electricity to people in Argentina. The Argentinians now are better off because they have electricity, and the English are better off because they made a profit. Win-win. There is more wealth for everyone.

Here's a hint for you [lhup.edu]. You're falling into the trap Richard Feynman warned about. You actively seek information that supports your position, and ignore information that doesn't. It's a dangerous trap, get out of it.

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.

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)

So I propose this. How about you release version 1.0 and 1.5 for example (or 1.0 and 2.0 or something) as regular closed-source software, and then when the next version comes out, you release the previous one as open source (e.g. release 1.0 and 2.0 for pay, when you release 3.0 for licensing you release at the same time v1.0 as open source)

this is what trolltech, mysql and other companies did. it never goes down well. it's _extremely_ unpopular, and absolutely guarantees that there will be no community *other* that paid-up staff members involved in the actual development of the software.

the reason is very simple: any person wishing to help make improvements to the software knows full well that they might as well not bother, because the free software version that they're using is hopelessly out-of-date.

in the case of QT, what actually happened was that the version 3 of QT (QT3) actually developed into an independent fork. the trinity desktop team now have taken full responsibility for its maintenance. bit of a digression here, but that version is years old, _but_ it has the advantage that it's much much smaller (faster, less code) than QT4 or QT5. QT4 is severe bloat-ware that performs extremely badly on ARM9 and ARM11 platforms.

anyway the point is: the "model" you propose only really works if you're a large corporation with lots of resources and lots of money and are willing to piss people off and make even the free software community absolutely desperate and beholden to you. that works for things like mysql and qt but dude, your software had better be _really_ shit hot to make these non-community-inclusive options work.

So I propose this. How about you release version 1.0 and 1.5 for example (or 1.0 and 2.0 or something) as regular closed-source software, and then when the next version comes out, you release the previous one as open source (e.g. release 1.0 and 2.0 for pay, when you release 3.0 for licensing you release at the same time v1.0 as open source)

IDA Pro does (or did) something very similar to this. No one in the open source community seems to want to compete with them, so they release an older open source version and a newer paid version.

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.

I'll probably get modded down, but it is clear you don't have a clue what money is. There are 3 levels of money:

- the exchange of physical things aka barter,- the exchange of a common unit (physical or digital / virtual) for experience, wisdom, and time- the exchange of energy

You're an idiot if you think you need money to survive. (Don't get me wrong - money, currently, is _very_ convenient, but it is sufficient, not a necessary condition.) Proof: Animals have been in this planet for _millions_ of years - they dont have nor need an economic system - only stupid greedy humans who have falsely bought in the belief system that there is never enough are insane to insist on idiotic barter systems. In 100 years you will find the concept of money will be an archaic, barbaric system by people who didn't know any better. And to drive the point home - how much did you pay the Sun and Earth today that supports your very existence? We -already- have free energy but you are too busy being brain washed by a capitalistic system to understands it's strengths AND weakness to realize how the existing system will be replaced - free energy is only the catalyst for this paradigm shift.

ALL civilizations are built upon the concept of sharing. Truly advanced civilizations (not the joke called "Western") take this to the extreme -- some of the native Indians perfectly understood the nonsense of ownership - they were stewards of the planet AND of each other.

The primitive human race still tries to grok why one has to pay to live on the planet that one was born on but this ignorance won't last much longer even though you can keep on trying. You are alreadyseeing the start if this paradigI'll probably get modded down, but it is clear you don't have a clue what money is. There are 3 levels of money:

- the exchange of physical things aka barter,- the exchange of a common unit (physical or digital / virtual) for experience, wisdom, and time- the exchange of energy

You're an idiot if you think you need money to survive. (Don't get me wrong - money, currently, is _very_ convenient, but it is sufficient, not a necessary condition.) Proof: Animals have been in this planet for _millions_ of years - they dont have nor need an economic system - only stupid greedy humans who have falsely bought in the belief system that there is never enough are insane to insist on idiotic barter systems. In 100 years you will find the concept of money will be an archaic, barbaric system by people who didn't know any better. And to drive the point home - how much did you pay the Sun and Earth today that supports your very existence? We -already- have free energy but you are too busy being brain washed by a capitalistic system to understands it's strengths AND weakness to realize how the existing system will be replaced - free energy is only the catalyst for this paradigm shift.

ALL civilizations are built upon the concept of sharing. Truly advanced civilizations (not the joke called "Western") take this to the extreme -- some of the native Indians perfectly understood the nonsense of ownership - they were stewards of the planet AND of each other.

The primitive human race is still trying to grok why one has to pay to live on the planet that one was born on but this ignorance won't last much longer even though you can keep on trying. You are already seeing the start if this paradigm shift with the total breakdown of copyright WRT music and software.

My problem is this. How can one spend time writing a piece of software wanting to base it on a business model BEFORE the business model was actually considered? The whole post smells of "lets get/, posters wound up over nothing" but moving back to the question how does one fund a serious operation without taking in bare business concepts? Is the world so Gen Y these days that money has now actually started growing on trees?

To answer the question open or closed source? I'd consider how valuable is the softw

Do what Netsuite does, provoke an API that allows for bolt ons and leg space for separation yet boast flexibility.

The philosophy of open source though admirable is not the only means to channel 3rd party contributions. Entire industry subsets are created under Netsuite/Salesforce because of this approach. Consider their licence fees are fairly reasonable that most of the time on consultation and integration and the software part of it makes very little difference.

Closed source on Windows and Mac, open source on Linux? (Tuxracer, QCAD)
Or close sourced release for say five years, release as open source after making a profit? (Blender, Netscape)
Or release application close sourced binary, libraries it's based on as LGPL open source?

That's a mixed bag. Zimbra vs Exchange springs to mind and is the complete opposite. Software where open source has given a marketing edge would only be something very niche and hold no direct value to the customer.

The secret to selling software has nothing to do with code quality or even platform. IT managers couldn't be assed tinkering with code so the only advantage to selling open source is to market to integrators and entice them to stick with your product. My post above deals with alternatives such as

Basically, the only reply to OSS business models is "support your product". If the product is so easy/good that no support is required, then you might as well have no product at all.

Please can we stop repeating this fallacy? That is not what support means. When people talk about paying for support in open source does not mean paying for someone to answer the phone and tell you how to use it. It does not even mean paying for training (although that can be a good business model too). It means paying to turn a product (software) into a solution (something that directly addresses a real need).

Very few off-the-shelf software packages do exactly what the user needs without any customisation. Even something like MS Office generates a huge amount of business for people writing business-specific templates, macros, wizards and so on. In a big company, you'll have customised interfaces for generating all of the standard forms of document that the company requires. Someone had to write all of these, and that person got paid. They would have been paid just as much if the company had been using OpenOffice instead of Microsoft Office. By the way, this is one of the reasons why MS Office doesn't do as badly as you'd expect in TCO calculations: for a big company the cost of customisation is a significant part of the total cost.

The more esoteric the software is, the more that it's going to need time (and therefore money) spent integrating it into a business. This is how companies like IBM make most of their money. It doesn't matter to their business model if the software is proprietary or open: if it's open then it means that they get lots of reusable building blocks for free, but the final solution is so tailored to their customer that they won't be selling it more than once anyway. Look at SAP: their software is proprietary, but it doesn't have to be because their entire business model involves charging a lot of money to customise it. They could give away a stock install for free and still charge a lot for the customisation.

Okay, but all you've done is say "charge for support and customization". I'd add a third category: training. But, the original commenter's argument still holds: you still need a product that needs support, customization, and/or training.

> Very few off-the-shelf software packages do exactly what the user needs without any customisation.

Nonsense. The majority of off-the-shelf software packages do not and should not need any significant customization, support, or training. I have lots of software

When people talk about paying for support in open source does not mean paying for someone to answer the phone and tell you how to use it. It does not even mean paying for training (although that can be a good business model too). It means paying to turn a product (software) into a solution (something that directly addresses a real need).

Quite right. The problem is that anyone can supply this service. Sure, the people who develop the software are often the best solution builders. But often the developers miss out on this work either because there's more work than the developers can handle, or because others can do it for less. The developers earn nothing from this work.

Sorry I consider it unethical to deliberately introduce bugs to any software. Not that you need to provide any standard of QA for an open source product, but it's ethical to ensure that whatever you release conforms to a certain "level of fitness" in that it'll do what it is designed.

Furthermore bugs in general reduce my opinion of a product and the company around them, if I see such a shoddy open source product, what's the guarantee a commercial product we'll be any better?

He could be an Anonymous Coward and still have an interesting question. And I'd like to offer him a reply.

Open source is massively misunderstood by just about everyone who doesn't read slashdot. Corporate executives' knee-jerk reaction to open source is that it's a Communist plot designed to destroy Capitalism. Free Software advocates (open source is a dirty phrase) will state that your company must embrace the give-it-away-for-free philosophy or your soul will be damned (that line of reasoning works with chicks, too).

In reality, if you have software which cannot make you money directly, it's a very good candidate for making open-source, assuming that someone out there will bother to use your code. Most closed-source commercial code does not pass this test. Usually, they could mail DVD's with their proprietary source to every competitor and not one of them would bother reading any of it. If you think open source code is ugly, just wait until you see the closed-source crap powering our big businesses.

So, in the unlikely case that anyone would care to read the code your company is considering making open source, the next question is "could you sell it?" If that code has any value to anyone, chances are that the copyright holder will go for the bucks rather than make it open-source. In most cases like this, I would guess that the source is closed to worthless. It's the coders that count, not their current code base.

Assuming there are people out there who want to use your soure code, either to compete with you or because it's valuable in their business, and somehow you could charge for that source, well then no... keep it closed source, because your boss will get seriously pissed otherwise. In the end, regardless of the actual issues at hand, your boss will cover his behind and force you to keep it closed source just so he can point out his enormous value to the company, where without him, dangerous socialists like you would give away the Company Jewels. You freaking Obamacare lover... Thank God for your boss!

I'd have to disagree on the ethics. When you are deciding between introducing bugs and feeding your family, feeding your family is the ethical choice. Better if you can avoid it, but ethical if you have to.

No one gives a motherfuck what you think about anything. You're pissed because someone is making a profit while you eat shit sandwiches with your other open sores buddies. Go fuck yourself, fucktard. Fuck you in the ass!

I hope more open sores projects go this way. Turning that faggot shit into nothing more than a gateway to real code instead of the dick smoker version.

This is actually pretty interesting. This guy has spent a lot of time hating open source projects. "Open sores" - coming up with that means he's been spending a lot of time thinking about/hating open source projects. It's actually fairly clever. And the level of hate is impressive too. "Go fuck yourself, fucktard. Fuck you in the ass!" Usually you only get this level of anger if you shoot someone's dog or something. That's how much this guy hates open source projects.

But - and here's the interesting part - he sounds teenager-ish age. Early 20's at best. "Turning that faggot shit..." That kind of a thing. This is some kid somewhere. But he's mad about something that should only upset CEOs and CTOs, free software eating into a profit margin. What kid of his age cares about that? It's like having Bill and Ted give a state of the union speech.

It would be fascinating to know exactly why this kid hates open source so much. Did Richard Stallman run over his grandma or something? Was he a fifteen year old Wunderkind that had a million dollar startup that got shot down because someone put a similar app on SourceForge? Was his mother frightened by a picture of Linus Torvalds while she was pregnant with him?

On top of that we introduced various bugs and weird failures to the open source version, which would mean that the open source users would call our premium priced support telephone number. We needed to fine tune this over the year a bit , as we didn't introduce enough bugs in the beginning. But later we would start getting lots of support calls for bugs and it made a good amount of money.

A few years we were in the same position as you are. We wanted to open source some of our technology and software but were trying to figure out how to make it work. Eventually we decided to offer both proprietary version of our software, and open source one. They are fairly identical and we offer support services for both.

The trick is, to ensure that we would convert the open source users to paying ones, we made most of the software features to do the heavy work on our servers, and then would strip the code altogether from the open source version. If users wanted to use the program they would for all practicality need to buy an yearly support contract from us, which included access to the servers hosting the code. On top of that we introduced various bugs and weird failures to the open source version, which would mean that the open source users would call our premium priced support telephone number. We needed to fine tune this over the year a bit , as we didn't introduce enough bugs in the beginning. But later we would start getting lots of support calls for bugs and it made a good amount of money.

This also made quite many sales of the proprietary version, so in overall it worked quite well. You might want to try something similar.

Ohhhh...you work for Tenable, don't you? Or are you Oracle's new head of product development?

The downsides are that the people you want as clients will think your products lack quality, and if you ever grow enough to be noticed, somebody will fork your application and everybody will change for the fork.

The OP... is a rendition of one person's experience with how his startup addressed the question posed by the submitter.

You're making the quite possibly unwarranted assumption that this one-post wonder isn't pulling this "experience" out of his arse.

Others (including some with mod points, the possession of which is an indicator that they've been around here for some time and built up some positive karma) are not nearly so willing to take ExpertCoder's (single, unsubstantiated) post here on faith.

I hate that game model, it just makes the people that spend the most money get the best stuff and everyone else is just trying to kill 1,000,000 Level 0 Monsters so they can afford the Level 1 Gun, but oops, a person that bought all the best stuff just Player-Killed you, and you lost all your kills, sorry!

Bump... when I finished reading the question, while initially a good one, the final test was horribly flawed.

Any ideas on business models that would allow me to open source while guaranteeing I can feed myself?

Why not simply ask, "Any ideas on business models that would guarantee I can feed myself?"

Sure, he may want to open source, but if "guarantee I can feed myself" is a prerequisite, then the open source part is a trivial element. I don't know of any business models that will guarantee that; maybe others do, but it's unlikely and grows more and more unlikely as you apply more conditions to it.