What we need is an time-bombed open source license, that allows a limited exclusivity period for the author during which they can charge for the software. After that time expires, say 3 years, the software reverts to a free shareable license, that anyone can fork into their own commercial, 3-year time bombed projects.
Dangle the carrot and let working people make a living, but force them to give back and prevent them from building closed source proprietary empires fueled by vendor lock-in.
There is a certain type of software, for example professional tools use by non-programmers - graphic editors - where traditional open source models, support contract or volunteer developers, can't work. If you won't be able to charge for copy, such software will never be written in an open variant.
That is the goal of the Business Source License[0] which has been gaining popularity recently. It's still a bit tricky to "adopt" into organizations because it is not usually on the "approved license list", but it's a pretty good middle-ground imo. A lot of companies are starting to move behind it like CockroachDB, MariaDB, Couchbase, and many others.
I'm less of a fan of another license that's gaining popularity too, the "Server-Side Public License" (SSPL)[1], with projects like Airbyte and MongoDB because it doesn't have the "time bomb" aspect that BSL has. If there was a license that were in the middle between the two (SSPL but w/ a time bomb) I'd be pretty stoked.
Until then though, we'll just have to live with custom "Additional Use Grants" in BSL to carve out who can use it.
What I dislike about BSL and related is that on the Change date the software typically reverts to GPL, which prohibits others from creating their own BSL competitor to MariaDB.
What I would like is to take the MariaDB 4 year old source and release my own database with better features, then compete in the market place with MariaDB, and have my own commercial exclusivity period, as I have explained elsewhere in the thread:
https://news.ycombinator.com/item?id=32339945
To use the BSL in the sense I am referring here, the Change license must be BSL itself, with flexibility to allow a new change date, at the new developer's discretion, no longer than a set limit (4 years for BSL). If want to make the code free-beer, I set the change date to be the same as the release date, but the next day every other developer has the option to fork my BSL code and release their own BSL time-bombed version for up to 4 years and make money of it. Users who don't want that can take my code and enjoy all the freedoms that GPL would grant. [1]
Otherwise, if my only option on the Change date is GPL, which is very restrictive to me as a developer, I have zero incentive to work on certain types of free software that can't make money off support.
In a sense, a recursive BSL is freer than GPL, because I grant my users all the freedoms of GPL but additionally the freedom to create their own timed-bombed commercial release, i.e., to restrict the freedom of others with their own releases. The end users then have to option to use my original free-beer version, or pay for a better feature set, which itself is guaranteed to become free beer in a number of years. This incentive structure ensures a steady revenue stream for the developers as long as they create new features which are desired, but the revenue stops if they try to rely on vendor lock-in.
[1] (of course to do this recursive-style licensing one would need to modify BSL to grant the actual freedoms to run the code, distribute etc., the current text lacks this and relies on an external open source change license after the Change date).
Isn't that just writing proprietary software, making money from it for three years, then open sourcing it? Nothing wrong with that plan, but you don't need a new license to do that.
I think the point is people relying on your system now have the code and have a strong guarantee that it will be open for redistribution after the deadline.
Just waiting on you to free it, even if there was a promised (but not in the license) deadline to do so is a lot legally shakier, you'd have to pursue it under promissory estoppel.
Exactly. The time-bombed license would grant you from the start all of the important freedoms of OSS - freedom to create a derived copy, to compile and understand the program, to freely distribute in source form etc. The only thing it would restrict, for (say) 3 years, is running the software in production without a commercial license, the "free-as-in-beer" freedom.
Such a licensed application would change its "main developer" over the years, for example someone would take the 4 years old free-beer version, invest money and time and create a compelling feature set that would make people pay for their version, after 4 more years someone else could do the same to the new feature set etc. So while the initial developer has the freedom to release under multiple-licenses, once they go for "commercial-copy-left" they set in motion a chain that restrict what future developers can do, forcing them to release their work too as commercial-copy-left if they want to have the 3 year binary exclusivity period.
What we really need is better "free, source available, non commerical" licenses and breaking the stigma that these are somehow inferior to FOSS _for end users_.
I have many things I would make source available if I didn't have to worry about someone reselling them.
Would MySQL, PostgreSQL (among many many others) be so good as they are if they weren't open source but just source-available? I don't know, but I suspect not.
THIS! I got the exact same problem. Last year a company wrote me and wanted a quote for a job to my open source software, so that they are able to sell my software to others?!
I mean... okay... it's currently a MIT license, but I really was pissed just for the question.
What is the harm to you? Not releasing it also means that you don’t profit from it.
If you’re just sitting on it and not monetizing it, and you release it and someone else generates revenue with it, you have not been harmed in any way.
humans have an inate built-in (genetic) sense of reciprocity with regard to sharing. It will decrease the quality of his life if he feels he's participating in an unfair system, even to the point of harm (stress, anxiety)
That's contradictory by definition; such a license would not be Open Source. (With care, the three-years-later version could be Open Source, at which point people could build on that.)
It would not be open source for the duration of the time-bomb, clearly, that's the point of creating an exclusivity period.
After the time-bomb, it's undeniably open source: users have all the freedoms granted by open source and they have the option to release their derived version with a zero days time bomb, effectively equivalent in all respects to GPL. What GPL does not grant, and such a license would, is the ability to create a non-zero commercial exclusivity period, during which the software reverts to commercial-with-source-available status.
> If neither of those are a good fit, premium support, merchandise and ultimately donations might be an option.
And what if neither of those are a good fit? Will you concede that there is a real world out there where open source software competes with proprietary and closed source systems? And that you cannot compete with corporations eating passion alone? That you have to have a monetization system in place that can generate at least a non-negligible fraction of what the closed source competitor can?
As a sibling comment pointed out, deciding to write OSS is part of a broader philosophy on software freedoms, which also relates to monetization and business models. It means putting the freedom of your users above growing a corporation that can compete in financial terms with companies that don't ascribe to that philosophy. It also means having to be creative with how you monetize your product/service, and generally treating your users better than just as participants in a business transaction.
If you don't agree with that philosophy then writing OSS is not for you, and that's OK. Most users unfortunately won't mind using software that doesn't give them these freedoms, and the internet at large is evidence of that. Some of us will choose not to use proprietary software, but if your main goal is to grow a business, you likely won't notice a small portion of these potential missing sales.
I don't dispute it's a philosophy, but it's an extremist version. It's like having the choice between asceticism, living alone in the desert eating critters, versus extreme hedonism, gluttony and materialism. But most people reject both.
What I'm pointing out is that we could imagine a happy compromise where 99% of the goals of free software are achieved, that would not only allow developers to make a comfortable living, but also benefit the vast majority of people who use software without understanding technical complexities.
If the software:
- has source available, and anyone can study it and audit it;
- allows anyone to create, for their own use, derived or custom versions;
- allows anyone to make a business selling derived versions within the license terms (for example, in the time-bomb period the users of your patch must be licensees of the original owner);
- guarantees that the vendor cannot lock you in, and the software will become completely free after a certain date;
- generates resources for software development that would otherwise not be available, so that functionality could only exist in proprietary, closed source form,
... then, I belive, the loss, for a limited span of time, of the ability to use it gratis is a very good overall compromise. We all understand and accept the idea that work must be paid and that a price tag designates something valuable, that is worth making and paying for. Don't castigate money ideologically, use them to achieve the philosophic goals.
Somewhere, somebody pulled a dirty trick on OSS developers and moved the goalposts to "and you must now renounce all material possessions and live on pure ether".
Because some of us actually believe that it's unethical to release software to users that they are not 100% free to use and modify in any conceivable way.
Too many people today are hung up on "open source" or "free software" as a marketing bullet point. It's actually a philosophy and ideology, and the software licenses that came out of it are side effects.
There is nothing unethical in having a commercial contract with your users whereby they pay for the features you implement. The typical ways this is done leads to unethical outcomes (lock-in, secret source etc. etc.) but by itself a commercial contract between willing and informed adults that don't harm people around them is not unethical.
The extremist stance "free as in beer from day 1" is an ideology that, it should have become clear by now, is actually hurting the freedom of the public at large, who is pushed into proprietary cages set up by ruthless profit-maximizing businesses. There should be a better way where developers are paid, high quality software gets written, and users are free. There is nothing fundamental preventing such a world to exist.
there is nothing fundamental preventing such a world to exist
Nothing except human nature. Ethics, business ethics particularly, is empirical. Usury was a bad word for most of human history. Now we just call it financing.
If only for forward progress's sake, one should accommodate human nature, not catechize it.
Dangle the carrot and let working people make a living, but force them to give back and prevent them from building closed source proprietary empires fueled by vendor lock-in.
There is a certain type of software, for example professional tools use by non-programmers - graphic editors - where traditional open source models, support contract or volunteer developers, can't work. If you won't be able to charge for copy, such software will never be written in an open variant.