There are 3 different aspects here: 1. you're selling support 2. the customer is using the support 3. it's open source, so anybody can sell support
So in order to be profitable, you want to maximize your income (1.) and minimize your expenses (2.), that is, sell lots of support for software whose quality is good enough that the customers rarely have to actually call the support hotline.
But if the customer does call the support hotline you have to ensure that the support they get is top quality, otherwise they'll take advantage of 3. and leave for your competitor (note, "we'll support ourselves in-house based on the upstream release" is effectively another competitor here).
Another point: there are multiple levels of support, and different organizations can cooperate to provide the full package; at the lowest level you tell the end user to check if the computer is powered on; at the higher levels you root-cause and fix bugs and implement new features, which is where you can really market expertise with specific projects.
Of course you're right to point out that you're limited to enterprise clients; I haven't heard of any success with selling support to consumers.
Entirely useless projects that would not stand independent scrutiny, but are sold through several inefficient management layers by salesmen with the guarantee that "at least we support it".
In a way that's what xaaS offers.
However devising a way to let the customer keep his data on-premises may be a major factor, as some (many?) consider their data confidential and therefore prefer store it on their own controlled environments.
As any serving software needs an adequate underlying machine and OS, the service company needs subcontracting partners and/or ways to certify.
It seems to me that Red Hat (along with SUSE, and many other similar companies) may one day adopt this approach.
You can't usually sell FOSS because any of your downstream customers can undercut you. Since they may be doing less development than you (to the point of doing nothing), any business model around FOSS that relies on directly selling your software is risky. I suppose it can work, but it requires all of your downstream customers to be working in concert with you, which is very unlikely long term (and especially unlikely if you start making a lot of money).
You can try to offer SaaS services on top of your FOSS software, but that will also be undercut if you are reasonably successful.
This gives you a couple of options. First, you can try to eke a living out of selling software/SaaS but making little enough money that you don't attract attention from competition. This is not necessarily unreasonable if you are trying to make a living wage. People are unlikely to compete with you if the pool is only $100K a year.
But in reality, the only actual scarcity that you have to offer is your time. Very rarely do you see someone fork a project, do a huge amount of development work and offer up the result. People/organisations trying to cash in on your work will be trying to avoid doing development. Otherwise they will almost certainly prefer to look at your effort and rewrite it from scratch.
This means you have to charge for development work. There are only really 2 ways of doing this: find contract work for your project (up to and including sponsoring development entirely), or asking for willing support of development (aka "donations").
I think it's incorrect that donations aren't enough. It's fair enough to say that they generally haven't been enough, but I think part of the problem is the idea that a "donation" is optional. Especially for business software/services, one thing I've heard over and over again is: "We would pay for this, but there is no way to get an invoice". IMHO, this is actually the problem. It's not that there is a shortage of people willing to pay, it's more that there is a difficulty making the payment happen. Even non-corporate end users are willing to pay for software and support development (what percentage of people would hold up their hand and say they wouldn't pay for the tools they use every day). It's more that they don't pay (strangely, quite a few free software game developers have discovered that putting their game on Steam results in money appearing, simply because it is a convenient method for people to pay).
I think part of the problem with current FOSS business models is that they are predicated on the idea that people won't pay unless forced to rather than the idea that people will pay, but don't because there is too much friction in the payment area (psychological as well as actual).
Fix the payment issue and I think you will find that you have a viable business model which is robust because anyone wanting to challenge you has to produce better than you, rather than just ride your coat tails.
One small thing I would also advise: don't overlook trademarks! There is a very good reason why the GPL does not include a trademark license. Do not hand out your trademark to your downstream customers and allow them to piggyback on your success. Force them to build their own brand if they want to market software/services using your code.
Programmers need to stop looking at the most negative pathological potential that involves not getting paid and then extrapolating that it will be true for everyone in the pool of prospective customers. (That and also stop feeling burned when someone either takes a path that involves not paying or just doesn't bite at all). The sandwich shop doesn't have to capture 100% of the revenue that could be generated by the passing traffic. They just need to do well enough to keep the lights on.
And stop focusing on open source versus commercial software, or how to "run an open source project" and find funding for it. Start selling software that's incidentally open source.
In 2017, I decided that I would (a) start paying for more software, and (b) never again pay for any program that didn't come with source code. (I.e., not even necessarily free software—they just need to have published the source somewhere.) The consequence of that is that I've paid a total of $0 since then. Know how many times I've bought pizza in that time period?
Hardly overspiced. Take a look at the amount of salt and MSG in such dishes. Salt and MSG are much cheaper than spices.
There is potentially a third way: crowdfunded bounties. There are some sites for these, but they don't seem to have attracted much activity. (I built one myself a few years ago, but dropped it when it didn't get any traction.)
I think it's all about optics... 5000 people paying $20 is probably easy to manage in a "I'll do something awesome this year, trust me" model than 50-100 "Let's raise money for this tiny feature" pledge drives.
But... It would be really nice if it were a thing... Possibly there is a better way to represent it that makes it more appealing to payers.
Only in a few parts of the U.S. with sky-high cost of living and rents. Most FLOSS developers are not in such places. (OTOH, high costs are definitely the reason why there's little-to-no "pure" crowdfunding for things like AAA-class video games, or live-action feature movies. It turns out that the cost of these things is so high that, by and large, people aren't actually willing to fund them when the full cost is made transparent.)
Plenty of companies create, use and release open source software using permissive open source licenses.
When the licence itself and the mantra that goes with it are both hostile to business use, it’s no surprise business doesn’t get involved.
Typically, these big-corporation permissively licensed projects are loss leaders and some other part of the company is making the profit; think Android (funded by Google's ad revenue) or LLVM (funded by Apple's iOS hardware sales, and again Google's ad revenue).
If you look at companies that have successful business models where the income actually comes from the open source software itself (Red Hat/SuSE), you'll find a lot of critical copyleft GPL projects (GCC, Linux, glibc, systemd, Samba, ...).
And I think it’s disingenuous to claim gcc, Linux or glibc are somehow “from” RedHat or suse. Sure they contributions but it’s not like they’re company projects that were open sourced.
>> Complaining about a lack of business involvement in RMS-approved “free software” ...
The comment I replied to says
> If you look at companies that have successful business models where the income actually comes from the open source software itself (Red Hat/SuSE), you'll find a lot of critical copyleft GPL projects (GCC, Linux, glibc, systemd, Samba, ...).
My point is that nobody is paying for RedHat so they can use GCC or the Linux Kernel or glibc, and none of them would "die" without RedHat.
Also, I imagine practically no one pays for RHEL just to get RHEL. They want the certiciation/support/training from RH (some of which they used to provide as a service for their free product).
RedHat is essentially selling a service (support), and to provide that RedHat has a Linux distribution they control completely.
Obviously, but that's because businesses act unethically -- ie, for private profit over public good. They absolutely should be called out for that. Or, more specifically, they should be regulated so that non-free software licenses are illegal or severely restricted.
I think it is OK to just not have copyrights (and also not have patents). And then, there is no non-free software licenses because it is not copyright, so even if they write them they do not have any legal meaning.
Stallman's idea, that practical works you can freely use/modify/distribute/etc but artistic works it is permitted to be a limited copyright (only a few years), might also work, I think (although I am not entirely sure; I think it is probably simpler to just abolish copyright entirely).
I have also seen a suggestion to tax copyright so that you have to pay a annual tax, and can copyright it for up to ten years, but anyone who pays 100 times the tax rate of copyright can force it into the public domain early. I think that can do (and if the government likes to earn money, it can help them too), but still perhaps the copyright should not be applicable for practical works, which instead are freely usable. (Some works may be hybrid, and that is more difficult. One idea is if you can separate the parts easily enough then you can copyright the artistic parts, but if you cannot then it is forced public domain; making the source code of a computer game available may be one way to do, so that you will want to release the source codes anyways in order that you may copyright the artistic non-practical-works of them.)
But whether or not is copyright, there should be a requirement of warning label on commercial products that use DRM, and there should not be laws to restrict circumventing them on your own copies of works/devices.
Without copyright the GPL (or any other license) is unenforceable
This makes zero sense. The companies that are currently publishing copyrighted proprietary software would then be free to take the GPL software, make improvements for their own purposes and distributed the compiled binaries and make profits without providing the improvements back.
As a proponent of permissive licenses I have no qualms about my software being enhanced and used by others without giving back those improvements - but the whole point of the GPL is to prevent that - so a GPL without copyright may as well be MPL or BSD or MIT.
Of course if I write a program I would like that others who make modifications (public) that they would also contribute those source codes too, but I do not like to put in legal obstructions, so you should have freedom rather than having too many laws and obstructions.
I don’t find that unethical. What’s more, I do it all the time—for example, right now I’m watching Netflix instead of doing any kind of public service. I have two kidneys, but only really need one. I use my money to buy stuff for my own usage, instead of donating it all after I fulfil my basic needs.
And if I happened to run a business, I would do the very same thing. So I don’t think it’s my place to be calling people out on things that I do too. Doing things for the community should be held in a very high regard. But being legally forced to do that seems really inappropriate to me.
Are you suggesting it is morally wrong to earn a profit if it would better serve the public good? How and more importantly who defines public good? A major theme from The Wealth of Nations refutes your point by arguing that the greatest economic benefit occurs when people act in their own self-interest:
> It is not from the benevolence of the butcher, the brewer, or the baker that we expect our dinner, but from their regard to their own interest.
It sounds like you're arguing for a socialism model where a central authority decides how to use capital.
The public good under that definition is rather clear: the total advantage (not necessary capital) that something provides to the entirety of society.
I can see how choosing to act in a less-good way than another obvious way can be interpreted as unethical.
You got it. A democratically controlled central authority representing the interests of working people instead of capital, yes.
It's actually a very good suggestion and I feel good about it. Another way of saying this is that intellectual property restrictions should be greatly relaxed. What's insane is that an overwhelming majority of time, money and energy in the tech sector goes into software that is closed source, and thus technological progress is greatly hindered because research and code is unable to be shared openly. Imagine, for example, the vast public good that would arise from Google or Microsoft opening up their entire code bases for free. Think about how much good has already arisen from their respective open source projects already, & if that was extended to all their products.
Regardless, my point is not that every business acts unethically, but rather that in any business there exists a tension between private profit and public good. This is one specific example -- it is in the interest of a private company to keep their code bases closed and proprietary, but it is in the public good for all software to be free an open.
Why stop with code? If code is always better in the open, then why not require all business communication in the open.
> in any business there exists a tension between private profit and public good
I don't think there is always a tension. If not by profit, how do you motivate people to develop new technology and fund the support system necessary for development?
Sounds good to me, a kind of freedom of information act for private corporations.
And yet your suggested solution is to treat them all as if they are.
Perhaps the more charitable reading of this is that some businesses act unethically, and they should be called out for doing so?
This is an unacceptable comment. If you disagree with the parent, then write so in a manner that opposes and disproves the comment, not outright go for personal attacks.
They exist to let people watch movies/tv, and use tech to provide that service.
Compare that to say HashiCorp who release tools as MPL and then provide further features under a licence to fund the business; Or Percona who provide enhanced forks of MySQL under gpl (because that’s what upstream dictates) but then additional tools under eg BSD license, and provide consulting for either their own or other database engines to fund the business.
Heck my own business is effectively consulting, but I build tools to make my life easier and release them under permissive licenses wherever I can (If I fork an existing gpl licensed tool to improve it clearly I have to use their existing licence)
The income question isn't as easy to answer - my rate varied a lot from roughly what I'd been contracting at for some 'mates rates' clients, up to nearly 4x the price for others - but as is expected it wasn't consistent. It's been a couple of years of pretty steady work at a reasonable rate so I guess the "TLDR" answer is 3-4 years.
Keep in mind, apart from the first 2 or 3 jobs I had (2x government and then one at a Telco) everything else has been 'remote', and I've been geographically remote (I live in Thailand) since before I started this business. I have no doubt this has affected the number of potential clients, but it sure beats commuting into a city every day.
I hope that helps and isn't too much of a ramble. Feel free to email me if you want to discuss it further, my address is in my profile.
There are plenty of business models out there that maintainers can make money with, in a capitalistic society, this usually involves creating your own business or working for company that uses the software.
If no one is paying for your open source project, is it because you don't know how to build an actual product on top of it or is the market maybe telling you something?
Personally I don't think economic systems are necessarily better for the creation of rich people. I know it's a minority opinion, but I feel like it leads to lottery type winner-take-all situations where a few popular creators have absurd amounts of money, and the long tail don't have enough to get by. If you had commie programmers all paid a similar fair wage from the government you could generate plenty of good free software and reward effort rather than some mix of luck and skill.
All those people started with some other skill, be it at organizing or detecting opportunitys, or even technical- and its now sits barren.
I'm unaware of any economic model that allows a product or service to cost 0 but simultaneously net the producer > 0.
Patreon is maybe more what you're describing but that's not usually product-focused and is more patronage as the name implies.
https://www.kickstarter.com/projects/bootlin/allwinner-vpu-s... https://bootlin.com/blog/allwinner-vpu-crowdfunding/ https://bootlin.com/blog/tag/kickstarter/ https://bootlin.com/blog/allwinner-vpu-support-in-mainline-l... https://bootlin.com/blog/allwinner-vpu-campaign-one-year-ann...
Donations aren't enough.
Support based models like RedHat lead to bad incentives and seems to limit one to enterprise clients. Its an option however, but then you're not directly selling your software either, but rather running a side gig alongside development.
Most other models that I see working involve saas / hosting, which is a good compromise but also weird: the creator earns nothing if you benefit from the license and use it to host your own instance, which is unfortunate and yet amazing for the end users.
There is also the industry association model like Linux uses, which has merit: various stakeholders buy an interest in a project to fund open development. This isn't feasible for the average entrepreneur though, although the creator of Vue apparently has some respectable funding.
The creators of something so great for end users should be able to get rich for doing so, rather than needing to make personal financial sacrifices to dedicate their time to the work. It should be more win win.