I combine licenses in a weird manner to try and get some honest result:
- On the low level more generic tooling I use ALGPL, so a mix of AGLP and LGPL, you can think of it as LGPL but you cannot modify it without sharing the source if you make money off of hosting a service which uses the software (Amazon f.ex. would need to share source if they used it in a paying server product).
- On the higher level multiplayer layer I mix MIT and a flat out commercial license: So if you are using the system for fun you have MIT but if you want to charge for the product you need to pay monthly in proportion to your company stuctures yearly revenue.
I don't know if this is going to work eventually if anyone begins to care about the stack because of the MMO I'm trying to build to gather interest, but we'll see!
As for gathering the payments, I think github has a big role to play by adding optional global VAT (and paying it automatically) to the sponsorship tiers (just add a commercial license checkbox) so that programmers can focus on programming without too much bureaucratic distraction. Itch.io has that but they lack recurring payments, so this is a callout for a feature that today needs alot of cumbersome work: recurring payments with automatic VAT! (I have allready talked to both github and itch)
How can you ensure (say, legally) that people using the system for fun can use the MIT version, while people charging for the product must use the commercial one? I mean, the MIT license explicitly allows for people to take your code and use it for whatever purpose. Including repackaging it and charging money for it, without even needing to release the source code of any changes or the resulting work.
> Permission is hereby granted, *free of charge*, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software *without restriction*, including *without limitation* the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software
Emphasis mine.
I'm not a lawyer, but are you sure your words can contradict another right you specifically gave with that license?
That's why you use dual licensing; if you clearly state that you want the software to use MIT without money involved but something else if money is involved that is generally not a problem, never has been, and never will be: because it makes sense, it's fair and honest!
You want a MIT license (that is by definition without restrictions), but you want to add the "without money restriction". It doesn't work like that. Once you add a restriction of "without money involved" to the MIT license, it is not the MIT license anymore.
I'm pretty sure your text doesn't do what you think it does. Dual-licensing means that there are two licenses and the user can choose which one to use. The GPL + commercial combo works because there are reasons why commercial entities would want to avoid GPL licenses. Mainly, to not have to release whatever they are building as GPL too. So when you give a choice of GPL 'BUT also' commercial, there will be people who will opt for commercial to build their closed-source application.
However, if you give an MIT + commercial combo, there is no reason why one should opt for the commercial one. Unless your commercial license includes some SLA agreement or something as a carrot.
You seem to think that you can enforce use cases for the MIT license, which is not really the case. If you attach conditions to your MIT license, it is not MIT anymore. Neither is it open source.
Not everything has to be open source though. I think something like the Fair Source license [0] aligns with your intent better.
Sure this might be the case but still adopting a fair.io license is not going to improve things when the simplest way is just to write down in english words what you mean.
Courts will argue about the legality long after I'm dead but for me right now this is an agreement I propose, if you want to see it in your own way go ahead, I'm not going to sue you; but history will look at your existence in a bad way how ever you squirm from the fact that I'm saying: "Use this for free with MIT _OR_ if you want to make money, share some of it." - You can't get away from that...
This is my last answer to these "but MIT is free", "ALGPL does not exist" kind of comments, nothing exists except your conscience... do what you want!
What if I adapt your code under MIT and distribute it. Can someone else then use it commercially? Or do they pay you? Or me? The answer is your license either isn't open source or it is easy to bypass.
Dual license copy left on the other hand works because the stipulations and restrictions are compatible, i.e. not overlapping.
Is it obvious? court cases have a way of exposing the edge cases of 'plain english', as well as a general tendency to interpret ambiguity against whoever happens to benefit from it. Lawyers would tend to describe what you're doing as a 'crayon license', and it's often an apt description. I would not like to wind up in court over this license, on either side, and I will as a general rule avoid them.
I get your point. I get involved in these discussions because I am not really satisfied with the current status quo. I want OS creators to have their cake and eat it too. Well, at least have a cake to eat. And the problem with your consciousness driven approach is that it's not a real solution. Let's say I work at a company, and I push for us using your work under a commercial license because I'm a good person. Then five years later I move on and someone else takes my place. They notice that we're using a commercial license instead of an MIT one, and just switch to the MIT one. And by doing so they are fulfilling the fiduciary duty to their shareholders.
Software use should not depend on individual morals. Any usage restrictions should be written down in the license.
They can't switch because if they earn money they are obliged to pay as per my agreement. There is no more discussion to have if you don't understand that the law does not exist only people exist.
I don't have time or will to waste time trying to force people into common sense more than I have with this hybrid license (let's call it that to avoid the collision with dual license).
The #xkcd386 is strong in this one, but I'll bite.
It's true that people use words to describe things, and generally the court will give effect to what you write as long as you have the right to do/request it. But given your writing style in this comment and others, I seriously doubt what you think you wrote is what a court would interpret it as.
There's a reason why people hire lawyers to write legal documents, and even so they sometimes screw up.
By the way, nobody needs to "enforce that MIT in court against your text". At best, people ignore your work because the license terms are unclear and their lawyers advise them not to touch it with a 10 foot pole. At worst, people "steal" your work, and YOU end up going to court to try to convince the judge that what you mean is what you wrote, even though the terms apparently contradict themselves. (because if you don't go to court to sue people violating your copyright, nothing happens unless you have a couple billion revenue in which case you can call up the FBI to help you.)
I'm not saying you can't get it right, but man your attitude is annoying.
In practice (more #xkcd386), for a simple license like MIT, getting the words "right" would basically involve rewriting the whole license. Consider this case - you license your software (let's call it FooBarApp) to a party (let's call them Alice), and Alice doesn't use it to make money whatsoever, which fits the "free" part of your conditions, which means they are eligible for the "MIT license" part. The MIT license allows all licensees to redistribute and sublicense FooBarApp. Alice puts FooBarApp on github with an MIT license. Bob, a commercial company with 100M revenue, downloads FooBarApp and incorporates it into their own commercial solutions offering. From Bob's perspective, all they know is that they obtained a valid MIT license from Alice, who does have the right to sublicense FooBarApp due to the MIT license from you.
To avoid this situation, you'd have to modify the "MIT license" wording and strike out "sublicense", and probably have to add another condition stipulating that the licensee must not use it to $DO_MONEY_THINGS. You can do it two ways -- one is to edit the text, the other is to wrap the standard MIT license with big lines of text saying "I KNOW I AM INCLUDING THE MIT LICENSE HERE BUT THIS IS NOT REALLY WHAT I MEAN".
At this stage my personal opinion is that you'd be better off writing a new license from scratch.
And no, I'm not a lawyer, otherwise I'd known better than to offer advice to random people online when I could charge them a couple grand.
> - On the low level more generic tooling I use ALGPL, so a mix of AGLP and LGPL, you can think of it as LGPL but you cannot modify it without sharing the source if you make money off of hosting a service which uses the software (Amazon f.ex. would need to share source if they used it in a paying server product).
If you read what I wrote the purpose of the A in my LGPL is so big coorps can't use the source for profit without sharing something back if they improve it; avoiding the whole elastic search debacle, like the comment above about MIT use your common sense and morale to judge if this is unplesant or honest!?
It's not really a question of unplesantness or honesty, more that it's self-defeating: your intent to get the best of both worlds with participation in open source and getting some reward if your work is used commercially is reasonable, it's just that when you write your own license, especially by trying to combine two existing licenses, you're most likely going to wind up with neither (as in neither open source projects or contributers will be interested nor will commercial companies, and anyone who does will be more likely exposing themselves to legal risks).
- On the low level more generic tooling I use ALGPL, so a mix of AGLP and LGPL, you can think of it as LGPL but you cannot modify it without sharing the source if you make money off of hosting a service which uses the software (Amazon f.ex. would need to share source if they used it in a paying server product).
- On the higher level multiplayer layer I mix MIT and a flat out commercial license: So if you are using the system for fun you have MIT but if you want to charge for the product you need to pay monthly in proportion to your company stuctures yearly revenue.
I don't know if this is going to work eventually if anyone begins to care about the stack because of the MMO I'm trying to build to gather interest, but we'll see!
As for gathering the payments, I think github has a big role to play by adding optional global VAT (and paying it automatically) to the sponsorship tiers (just add a commercial license checkbox) so that programmers can focus on programming without too much bureaucratic distraction. Itch.io has that but they lack recurring payments, so this is a callout for a feature that today needs alot of cumbersome work: recurring payments with automatic VAT! (I have allready talked to both github and itch)