What is wrong with saying “all rights reserved. You are free to use this software for educational and nonprofit purposes but once you start to make money off it you must request permission in writing” - I’ve seen a few licences like this. I guess the down sides are it might send some people elsewhere and you might be on your own trying to enforce it in court.
I think for a lot of companies that would be an instant turn-off, especially if they're still starting up.
Besides, it would have to be a lot more formal; another commenter mentioned the Unreal Engine, which states something to the tune of "free to use until you earn over X, then you pay us Y% of your revenue".
Cynically, open source libraries need to use the err, hook-and-sinker approach? Be really good at bootstrapping a company or part thereof, then when they have buy-in, start charging. It's what Unreal and (I think?) Unity do, it's what Slack did (really successfully, in a lot of places where it was introduced it was snuck in the back door by employees, used for a couple of months until the restrictions became too much, then the company started to pay for it; I've never seen 'grassroots' software deployment like that before and I'm impressed).
But it'll be difficult to pull off fully without the software being as-a-service or DRM things.
I wonder if the package manager systems could play a role in that. Require you to register your application at e.g. NPM, then every time an `npm install` is done, keep track of it. If usage does not decrease, start charging for things.
One could also consider an alternative, compatible package manager; an open source publisher could opt to only push to and promote that one. The package manager charges for use, and pays package maintainers relative to usage.
> I think for a lot of companies that would be an instant turn-off, especially if they're still starting up.
You can't have your cake and eat it too. If you want usage, you can make it MIT and then suffer while they capitalize your code (as they are with in their rights to do), or if you want protection but low usage, make it AGPL or proprietary even. I don't really see a scenario where you have high usage, high protection and also high profit from you selling your product, unless you are good at marketing and selling your product.
> What's the point you're making? There's a lot of proprietary software that's
> - high usage - high protection - high profit
> What's the argument that OSS software (which you could use for free indefinitely until you gain profitability) is somehow not capable of the same?
Software that meets those criteria also has an organization that spends quite a lot on sales and marketing. Stimulation of usage and extraction of revenue doesn't happen on its own.
More explicitly, if an already-profitable organization can't use the software without paying on day zero, quite a lot of effort has to be expended to get them to make the leap, hence the long enterprise sales cycle. You can do it with just marketing if you keep the purchase price low (ie. below what a department manager is allowed to spend using a corporate credit card).
Open source can circumvent this to an extent, but to do so it has to allow businesses to use the software for free, and convert a percentage of those users to paying voluntarily.
Whether the mechanism of conversion is consulting and customization services, hosting services, support services, dual licensing, an 'enterprise' version with specific features, or something else is immaterial, they are never just paying for exactly what they were getting for free. The closest a business will come to that is employing developers to work on the open-source software, or at least allowing employees to work on the software during work hours.
The specific licensing-only approach you're outlining will only work in a very narrow case: A new unprofitable company starts using the software for free, and starts paying once they cross over to profitability (at which point they might decide to switch to using something else, instead). Note that there are some very large VC-fueled companies that have yet to be profitable. Convincing an already profitable business to pay at the outset just can't be done without the aforementioned marketing and sales.
I think for a lot of companies that would be an instant turn-off, especially if they're still starting up.
It is very much the Silicon Valley mentality that all value is added by that company and that no suppliers should make any profit.
Cynically, open source libraries need to use the err, hook-and-sinker approach?
The common terminology is “bait and switch”. Also very much Silicon Valley. Apple for example likes to become a critical customer for any supplier, then use their leverage to squeeze them.
I for one wouldn't use a library licensed like this. There are ideological reasons, but more practically, let's say I run a server that provides a public service. At some point, it gets a lot of traffic and I want to accept donations or use ads to fund the hosting. Under such a licence, I'd be completely at the mercy of the author, who could effectively shut down the server.
I don’t think anyone is suggesting that it isn’t your choice.
Most people are likely assuming that the typical author intent behind the decision to open source is to increase usage and contributors over the default closed source/proprietary licensing.
Or you could pay the author for his/her work from your income.
I could be wrong but it seems obvious to me that semi-commercial licenses would explode the amount of open code available, because instead of devs working for corporations, corporations would end up working for them.
Commercial licensing - open code, free for non-profits, per-seat or per-user pricing for for profits with an official license, forks are considered a derivative work, clean room clones aren't. There would be details, but there are always details, and they don't stop two hundred page EULAs from existing and being (mostly) binding.
But we don't have this because Stallman is a zealot and he wanted to Make A Point about purity. So instead of creating a market where devs could actually get paid for original work and corporations would be the ones paying, corporations get millions of hours of development effort for free - because he thought he could somehow magically strong-arm them into playing to his rules.
I see antitrust as a critical purpose of freedom-respecting software - suppose you pay the author for the rights to use the semis proprietary software. You go on a decade or two, and become critically reliant on it.
But then they jack up the price a hundredfold.
You can't do anything (short of rewriting), even if you could flat-out hire a replacement dev team for the entire project for cheaper than what they're charging you.
OpenOffice and MariaDB are classic examples of Free Software solving this - the IP holder sandbagged, so the community forked and fucked off. Even despite that though, LibreOffice still suffers from losing its OpenOffice name, and plenty of users lose out because they're unknowingly using a barely-updated version due to abovementioned sandbagging.
Proprietary software hands a default victory to the IP holder. Free Software hands a default victory to the user. It's either one or the other.
> "I could be wrong but it seems obvious to me that semi-commercial licenses would explode the amount of open code available"
More likely it would implode the open code available, since usage would drop like a rock.
1) Once you're required to pay money, people start comparison shopping and proprietary software is optimized to win that game.
2) Nobody wants to spend the engineering, accountant, and lawyer hours to keep track of assorted semi-commercial licenses for a zillion dependencies and what they're owed. Half the point of FOSS is that you don't have to keep track of licenses and compliance, as the periodic sob stories on HN/Slashdot about "Oh no, I got audited and wasn't in compliance and had to pay. I'm going to switch everything to FOSS; that'll show them!" show.
Is the problem that you have to pay at all - or is the problem merely that in the absence of a listed price, there's no guarantee the price will be fair?
Would you also reject a library with this license if you knew the commercial use license was pocket change?
If the commercial license was literally pocket change, I’d be inclined to use it under that commercial license right out of the gate to increase my certainty going forward.
So if a nonprofit uses that software to sell services (they gotta fund their expenses after all), does that count? Seriously. With vague phrasing like this, you're gonna have a bad time. Contracts are that verbose for a reason.
That’s why it’s all rights reserved. If you want to use it to make money you have to ask me. In the scenario you describe is probably say that’s okay, but like I say it’s up to me and only me, at the end of the day.
This of course means it’s not open to the kind of free-form open collaboration that typifies Open Source but if anything this just goes to show how more restrictive licences such as GPL actually promote innovation.