“ In a normal market the supply of pork chops can go down, and people can start to go hungry, but in a software market we can never be in a state where the market contains less produce than it did before. The supply of things can only get more and more abundant, the pile can only get larger and larger - things can only get better and better for everyone.”
That part isn’t true. It ignores quality where people won’t want pork chops that are rotten, taste bad, or discolored from bad suppliers. Most open source software is crap because it’s someone’s fun, side project that goes unfinished, barely-documented, or unmaintained. It’s a tiny portion that’s even useful.
From there, the things only get larger and better seems false given effects of software maintenance. Certain dependencies, proprietary or FOSS, are always changing. This creates breakage for components depending on them. On minor end, it might need a recompile or something simple. On major end, a company switching ISA’s might need media codecs’ fast paths rewritten for a different SIMD style. The software is still there where you can do what the author says if you only use specific hardware, OS, software, and all the right versions. It’s just most aren’t going to do that in practice, esp if we consider bug/vulnerability fixes or discontinued hardware. So, the right model seems like the pork chops and other products do have ups and downs with some disappearing outright from parasiting.
Utopian vision is already broken to be replaced with a mix of capitalism and utilitarianism.
“In a software market uniqueness is the first thing required for there to be demand, and often the more specialized and novel, the better the product.”
That starts with claim that supply is only reason for competition in most markets. That’s totally wrong. They compete on features, convenience, style/image, status, quality, safety/security, ecofriendy, national origin, and especially customer service. I might be leaving something out. People who buy or use software often rate those pieces of software along those attributes. The number of competing, similar products in many areas of software contradicts his belief.
The product that is unique does get the First Mover advantage with most of the market. Some other players usually differentiate on that. Often a flurry of activity with market settling down into a handful of players in an oligopoly-like setup. That’s how almost everything works. New, niche players will also show up usually doing one thing a whole lot better. So, that’s the model that we need to start with. It’s a much better one, too, since it gives more hope of creating profitable products.
Utopian vision is definitely broken now with additional angles beyond pure supply and cost of one, unique product. It isn’t utopian. It is doable, though, for utilitarians paying close attention to what markets are complaining about in existing offerings. They can make alternatives that solve their problems with paid FOSS models. Problem solved. :)
Although foundations are incorrect, rest of the article might still have some decent ideas. Let’s check. (Done skimming.) The author appears to make common mistake of thinking it’s all DRM-ed proprietary vs GPL that doesn’t pay. The current markets already have paid FOSS models that should be in the analysis. That includes licensing GPL software to companies, the open core model, SaaS model with FOSS as side effect, consulting model doing same, VC startup FOSSing components that aren’t competitive advantage, and so on. Support last since it is a commodity companies like to minimize that barely covers development costs. It should’ve never been primary, business model. There’s also getting big companies to contribute paid developers like IBM does with Linux but I’m trying to avoid that one where possible. It has significant risks.
I say anyone worried about getting FOSS folks paid should look at the already-established methods of doing it that were sustainable for significant projects (not Red Hat or other outliers). Then innovate from there mixing and matching. Paid, shared-source proprietary with an expiration of paid part into FOSS license after amount of time in contract is another interesting idea I heard a while back. FOSS version is always behind. Yet, I was cool with Photoshop, Dreamweaver, VS6, Halflife, and Starcraft on Win 98. I could probably do something useful with a FOSS version of them even 5-10 years later. ;)
“Giving software away as a gift does not mean a bigger pile for everyone - it means those savvy enough to make use of the software market will use the chance to take more and give less - to lower their net contribution. “
This is true. Even more reason to do what I just said. Don’t operate with utilitarian, virtue-oriented expectations in a capitalist system full of freeloaders. It won’t work most of the time. Try business structures and licenses that are capitalist in nature supporting the utilitarian or virtuous goals. That provably works in some cases. I can’t say more, though, until more people try it.
I dont have a list onhand even though I probably should. I remember an OpenSUSE employee told me they sell GPL software to big businesses. You can add any company with a community and enterprise edition. There’s dual-licensed software where companies pay not for the source so much as not giving up their source by using GPL version. There’s also services companies that spend part of their time building FOSS, esp if it helps their customers. A neat example is 2ton whose services support GPL3 assembly library and web server among others.
So keep your eyes open for examples like that to study their business models and how they work. The simplest, though, is just selling GPL or maybe AGPL software directly to businesses. Although freeloaders exist, there’s probably at least a developer’s worth of revenue out there waiting to be found for most useful tools. :)
This is fairly common in database land. MongoDB and neo4j (note: I used to work at neo4j, I’m better now) both do (or did) this. Everything is released under the GPL and AGPL, meaning that it’s free for anyone to use for any purpose, but any modifications and derivatives need to be shared back. MongoDB has a >1B valuation, and neo4j rakes in massive amounts of money from their enterprise customers.
This model does work. The problem is when the greedy folks who don’t really understand software like VCs or many C-level execs, start meddling. If you look at the neo4j website, it contains outright lies about the AGPL: it says that the AGPL prevents commercial use at all, and you must have a special license for all commercial use. MongoDB’s website is correct, and says exactly the opposite, about the exact same license.
A better model, in many circumstances, is “professional services.” The software is free of charge, but support additional features, and perhaps indemnity, are extra cost. I personally like this model, despite some obvious deficiencies in incentives: the things people pay for like support and documentation are now incentivized to be locked up.
I find the professional services model to be very honest and rewarding: it puts a direct reward on the work that is specific to individual enterprises, and while keeping free and open the work that is “commodity.” VCs hate professional services: VCs want subscription or license revenue (which are the same thing). Subscription and license revenue grow infinitely, with little to no increase in expenditure (supporting 10000 users is only slightly more expensive than supporting 1000 users), while Professional Services income can only grow in lock-step with the number of PS staff you have to do the work.
Great examples with MongoDB and neo4j. Yeah, there are benefits to professional services. One I think you were hinting at in the last line is its growth steadily creates more FOSS developers to use, right? IBM would probably represent the peak of that model given they’ve sold off a lot of stuff to focus on billions in service revenue. They also have licensable products and FOSS projects. One thing I noticed:
“I personally like this model, despite some obvious deficiencies in incentives: the things people pay for like support and documentation are now incentivized to be locked up.”
Maybe, maybe not. It’s possible we’ve been thinking of it that way without evidence. There was a developer on Hacker News that told me his business did professional development for enterprises open-sourcing the apps. I said, “Huh!?” He said they basically just asked the customers if it was a competitive advantage or just something to solve a business problem. If the latter, there’s no downside to open-sourcing it but their apps might benefit from components everyone is sharing. He said all of them were cool with that with them open-sourcing basically everything they write.
Given open-source components are so prevalent, such an argument might be easier to default on now than ever. The companies that don’t agree contribute financially. The companies that do agree contribute both money and code. Trying would appear to be a win/win proposition regardless if one was licensing the software to begin with.
The question is “how can I pay the rent with open source software?” And while I don’t definitively know the answer, I can tell you what it’s not: attaching your poorly-informed moral beliefs about economics to the license for your React component.
Open source software is like rock music, novel writing, or modern art: while a handful of people get rich off it, almost everybody else involved makes no money, and who gets rich has nothing to do with quality, skill, or connections.
So, just like these other similar domains, you simply shouldn’t treat it like a job. Do it if and when you can afford to do it for free, and treat any money you might make from it as the result of mere luck.
(This often means having a day job that pays the bills & treating the work that doesn’t reliably make money as a hobby. Indeed, this is how almost all open source software, novels, and rock music is produced. And, almost all open source software, novels, and rock music are invisible to the casual observer, who only sees the stuff that makes money.)
Yeah the idea that all of this can be crammed in to a license makes things very very complex and no one will touch your software and end up just reimplementing it as GPL/MIT
What happens when you release a plugin/middleware under a license like the one the author mentioned (as just an example)? how can you figure out how much of the profit is attributed to that plugin/middleware. As a human I’m interested in licenses that force good-doing, as a software developer I’m scared shitless of adding more license complexity.
How does one license software so that the hobbyist or lone pro or small company can profit from it while dissuading usage where the gained efficiency would only garnish the pockets of the lords (see 100x salary vs average worker kind of nonsense)?
I think the most successful model is that of open-source + enterprise licenses/versions, with the latter usually including some consultancy hours and more that you buy as a package. Companies of the size where they need it can afford to pay it, where everyone can use the open source version free of charge, like any other project.
The “downside” is that you need to create a company around the software to monetize it, but I think that it can be quite rewarding to work, for pay, on an enterprise version where 90% of the code is shared as open source.
“ In a normal market the supply of pork chops can go down, and people can start to go hungry, but in a software market we can never be in a state where the market contains less produce than it did before. The supply of things can only get more and more abundant, the pile can only get larger and larger - things can only get better and better for everyone.”
That part isn’t true. It ignores quality where people won’t want pork chops that are rotten, taste bad, or discolored from bad suppliers. Most open source software is crap because it’s someone’s fun, side project that goes unfinished, barely-documented, or unmaintained. It’s a tiny portion that’s even useful.
From there, the things only get larger and better seems false given effects of software maintenance. Certain dependencies, proprietary or FOSS, are always changing. This creates breakage for components depending on them. On minor end, it might need a recompile or something simple. On major end, a company switching ISA’s might need media codecs’ fast paths rewritten for a different SIMD style. The software is still there where you can do what the author says if you only use specific hardware, OS, software, and all the right versions. It’s just most aren’t going to do that in practice, esp if we consider bug/vulnerability fixes or discontinued hardware. So, the right model seems like the pork chops and other products do have ups and downs with some disappearing outright from parasiting.
Utopian vision is already broken to be replaced with a mix of capitalism and utilitarianism.
“In a software market uniqueness is the first thing required for there to be demand, and often the more specialized and novel, the better the product.”
That starts with claim that supply is only reason for competition in most markets. That’s totally wrong. They compete on features, convenience, style/image, status, quality, safety/security, ecofriendy, national origin, and especially customer service. I might be leaving something out. People who buy or use software often rate those pieces of software along those attributes. The number of competing, similar products in many areas of software contradicts his belief.
The product that is unique does get the First Mover advantage with most of the market. Some other players usually differentiate on that. Often a flurry of activity with market settling down into a handful of players in an oligopoly-like setup. That’s how almost everything works. New, niche players will also show up usually doing one thing a whole lot better. So, that’s the model that we need to start with. It’s a much better one, too, since it gives more hope of creating profitable products.
Utopian vision is definitely broken now with additional angles beyond pure supply and cost of one, unique product. It isn’t utopian. It is doable, though, for utilitarians paying close attention to what markets are complaining about in existing offerings. They can make alternatives that solve their problems with paid FOSS models. Problem solved. :)
Although foundations are incorrect, rest of the article might still have some decent ideas. Let’s check. (Done skimming.) The author appears to make common mistake of thinking it’s all DRM-ed proprietary vs GPL that doesn’t pay. The current markets already have paid FOSS models that should be in the analysis. That includes licensing GPL software to companies, the open core model, SaaS model with FOSS as side effect, consulting model doing same, VC startup FOSSing components that aren’t competitive advantage, and so on. Support last since it is a commodity companies like to minimize that barely covers development costs. It should’ve never been primary, business model. There’s also getting big companies to contribute paid developers like IBM does with Linux but I’m trying to avoid that one where possible. It has significant risks.
I say anyone worried about getting FOSS folks paid should look at the already-established methods of doing it that were sustainable for significant projects (not Red Hat or other outliers). Then innovate from there mixing and matching. Paid, shared-source proprietary with an expiration of paid part into FOSS license after amount of time in contract is another interesting idea I heard a while back. FOSS version is always behind. Yet, I was cool with Photoshop, Dreamweaver, VS6, Halflife, and Starcraft on Win 98. I could probably do something useful with a FOSS version of them even 5-10 years later. ;)
“Giving software away as a gift does not mean a bigger pile for everyone - it means those savvy enough to make use of the software market will use the chance to take more and give less - to lower their net contribution. “
This is true. Even more reason to do what I just said. Don’t operate with utilitarian, virtue-oriented expectations in a capitalist system full of freeloaders. It won’t work most of the time. Try business structures and licenses that are capitalist in nature supporting the utilitarian or virtuous goals. That provably works in some cases. I can’t say more, though, until more people try it.
This sound as a sort of embrace and challenge of capitalism.
What companies do you have in mind?
I dont have a list onhand even though I probably should. I remember an OpenSUSE employee told me they sell GPL software to big businesses. You can add any company with a community and enterprise edition. There’s dual-licensed software where companies pay not for the source so much as not giving up their source by using GPL version. There’s also services companies that spend part of their time building FOSS, esp if it helps their customers. A neat example is 2ton whose services support GPL3 assembly library and web server among others.
So keep your eyes open for examples like that to study their business models and how they work. The simplest, though, is just selling GPL or maybe AGPL software directly to businesses. Although freeloaders exist, there’s probably at least a developer’s worth of revenue out there waiting to be found for most useful tools. :)
This is fairly common in database land. MongoDB and neo4j (note: I used to work at neo4j, I’m better now) both do (or did) this. Everything is released under the GPL and AGPL, meaning that it’s free for anyone to use for any purpose, but any modifications and derivatives need to be shared back. MongoDB has a >1B valuation, and neo4j rakes in massive amounts of money from their enterprise customers.
This model does work. The problem is when the greedy folks who don’t really understand software like VCs or many C-level execs, start meddling. If you look at the neo4j website, it contains outright lies about the AGPL: it says that the AGPL prevents commercial use at all, and you must have a special license for all commercial use. MongoDB’s website is correct, and says exactly the opposite, about the exact same license.
A better model, in many circumstances, is “professional services.” The software is free of charge, but support additional features, and perhaps indemnity, are extra cost. I personally like this model, despite some obvious deficiencies in incentives: the things people pay for like support and documentation are now incentivized to be locked up.
I find the professional services model to be very honest and rewarding: it puts a direct reward on the work that is specific to individual enterprises, and while keeping free and open the work that is “commodity.” VCs hate professional services: VCs want subscription or license revenue (which are the same thing). Subscription and license revenue grow infinitely, with little to no increase in expenditure (supporting 10000 users is only slightly more expensive than supporting 1000 users), while Professional Services income can only grow in lock-step with the number of PS staff you have to do the work.
Great examples with MongoDB and neo4j. Yeah, there are benefits to professional services. One I think you were hinting at in the last line is its growth steadily creates more FOSS developers to use, right? IBM would probably represent the peak of that model given they’ve sold off a lot of stuff to focus on billions in service revenue. They also have licensable products and FOSS projects. One thing I noticed:
“I personally like this model, despite some obvious deficiencies in incentives: the things people pay for like support and documentation are now incentivized to be locked up.”
Maybe, maybe not. It’s possible we’ve been thinking of it that way without evidence. There was a developer on Hacker News that told me his business did professional development for enterprises open-sourcing the apps. I said, “Huh!?” He said they basically just asked the customers if it was a competitive advantage or just something to solve a business problem. If the latter, there’s no downside to open-sourcing it but their apps might benefit from components everyone is sharing. He said all of them were cool with that with them open-sourcing basically everything they write.
Given open-source components are so prevalent, such an argument might be easier to default on now than ever. The companies that don’t agree contribute financially. The companies that do agree contribute both money and code. Trying would appear to be a win/win proposition regardless if one was licensing the software to begin with.
The question is “how can I pay the rent with open source software?” And while I don’t definitively know the answer, I can tell you what it’s not: attaching your poorly-informed moral beliefs about economics to the license for your React component.
Open source software is like rock music, novel writing, or modern art: while a handful of people get rich off it, almost everybody else involved makes no money, and who gets rich has nothing to do with quality, skill, or connections.
So, just like these other similar domains, you simply shouldn’t treat it like a job. Do it if and when you can afford to do it for free, and treat any money you might make from it as the result of mere luck.
(This often means having a day job that pays the bills & treating the work that doesn’t reliably make money as a hobby. Indeed, this is how almost all open source software, novels, and rock music is produced. And, almost all open source software, novels, and rock music are invisible to the casual observer, who only sees the stuff that makes money.)
Yeah the idea that all of this can be crammed in to a license makes things very very complex and no one will touch your software and end up just reimplementing it as GPL/MIT
What happens when you release a plugin/middleware under a license like the one the author mentioned (as just an example)? how can you figure out how much of the profit is attributed to that plugin/middleware. As a human I’m interested in licenses that force good-doing, as a software developer I’m scared shitless of adding more license complexity.
How does one license software so that the hobbyist or lone pro or small company can profit from it while dissuading usage where the gained efficiency would only garnish the pockets of the lords (see 100x salary vs average worker kind of nonsense)?
AGPLv3 ;)
I think the most successful model is that of open-source + enterprise licenses/versions, with the latter usually including some consultancy hours and more that you buy as a package. Companies of the size where they need it can afford to pay it, where everyone can use the open source version free of charge, like any other project.
The “downside” is that you need to create a company around the software to monetize it, but I think that it can be quite rewarding to work, for pay, on an enterprise version where 90% of the code is shared as open source.
I thing we could manage to legislate some mandatory contribution to dependency maintainers in software public tenders in Czechia.
There is no official weighted dependency graph of free software to use as a basis, though.
Related… https://en.wikipedia.org/wiki/License_proliferation