4 ms·
> If you are "an Open Source or Source Available consumer" or "a Non-profit organization or Registered Charity", you can use the code under Apache License 2.0.
by blibble 4y ago
> If you are "an Open Source or Source Available consumer" or "a Non-profit organization or Registered Charity", you can use the code under Apache License 2.0.
but Apache allows redistribution under the same terms? so how this supposed to work?
- int_19h 4y agohttps://github.com/SixLabors/ImageSharp/discussions/2151#discussioncomment-2942963 https://github.com/SixLabors/ImageSharp/discussions/2151#dis... "The transitive clause is actually really important, I'll explain why. I've explicitly called out the following to ensure that the Split License is non viral. Once granted, You must reference the granted license only in all documentation. In practical terms this means that If you are granted a license, that's the one you're use, not the Split License which exists to derive the license to be granted to you. So if you're OSS, you should only be concerned about and reference the Apache 2.0 license - downstream consumers shouldn't need to care. That, on the surface makes the whole transitive/direct thing seem redundant except for the fact we have to use the Split License in NuGet packages, so if someone is looking up their supply chain then they can reference the transitive clause to determine liability (none). Can it be exploited. Yes, but as I've said elsewhere. "Evil Corp is gonna evil". They're actually more likely to simply ignore the license."
- Dylan16807 4y agoGetting the Apache version from someone else because they won't give it directly to you doesn't sound like an "exploit" or "evil" to me.
- tomnipotent 4y agoThe transitive clause is limited to "Object" form, which excludes raw source code.
- resoluteteeth 4y agoIt's true that the way they have defined it in the split license, you are not using imagesharp as a "transitive package dependency" if you copy the source code from the git repository of an apache licensed open source project rather than using the object code. However, that's irrelevant because they are licensing it to the open source project under the apache license. Once the open source project has it under the apache license, you can copy it from the open source project under the apache license, because the apache license allows that, and the split license won't apply in the first place. The linked page even says "Once granted, You must reference the granted license only in all documentation," so if they have the source code in their repository it will literally just say that it's apache licensed with zero mention of the split license by the explicit instructions of the creators of imagesharp. If they say that's NOT the case, because they are imposing additional restrictions, then they aren't actually licensing it to the open source project under the apache license in the first place. Otherwise, they realize that this is a massive loophole but are still hoping that companies will just pay up. I think this is what's actually the case (and why the hoped the .net foundation would accept it), but they don't want to come out and say that explicitly because then it would defeat the point.
- int_19h 4y agoIt doesn't matter, because these clauses are only relevant when determining the license granted to someone who is consuming the library. If an open source project does that, the following item applies: "Works in Source or Object form are licensed to You under the Apache License, Version 2.0 if ... you are consuming the Work in for use in software licensed under an Open Source or Source Available license." So at that point the author of said open source project gets to redistribute the source of the library under AL - and only AL defines what further derived works can and cannot do with it.
- tomnipotent 4y ago> It doesn't matter It does in a court of law. A defendant would likely need to demonstrate good faith that they're using the source code of the project from which they acquired the license to ImageSharp. What matters is a judges interpretation, and intent matters.
- deleted 4y ago[deleted]
- initplus 4y agoCan't have your cake and eat it too. Either the license is viral (conditions imposed on user A still apply when A passes the software to B) or it's not. If you license your code to anyone under the Apache License, that person is then free to redistribute the code under the terms granted by the Apache License, which is obviously missing this $1,000,000 revenue restriction.
- eyelidlessness 4y ago> Can it be exploited. Yes, but as I've said elsewhere. "Evil Corp is gonna evil". They’re not trying to both have and eat their cake. They chose a license with a known exploit because they think it’ll be best for their users, and they accept the consequences of that. This is (IMO) a good balance to strike, and better than I imagined before reading through the license itself and its rationale. It’s explicitly: - we want to impose the least burden possible on those least able to bear it - we think we’ll be more sustainable because in balance those able to bear it are more likely to choose to with this model than the previous one… excepting those who wouldn’t regardless of the terms. Quite a lot of mutual good and goodwill is the product of norms which are effectively social agreements rather than enforcement protocols and regimes. Will some jerk take advantage of this and eat their cake? Yeah, duh. But it’s better for probably the vast majority of their users than a more onerous license which is viral, and (AFAICT) no worse for anyone but themselves. A one-sided compromise in favor of everyone else.
- plorkyeran 4y agoI fundamentally disagree with the idea that abiding by your license terms makes me a jerk just because you chose a stupid license that doesn't actually require what you want it to require.
- Dylan16807 4y agoIt's definitely possible to have loopholes where exploiting them makes you a jerk. This situation, not so much. They're making a fully open source version available on purpose.
- plorkyeran 4y agoYeah, that seems like contradictory gibberish. If you're closed source and have revenue over 1M you just have to obtain it from someone who is allowed to use it according to the Apache 2.0 license rather than directly from MS? The license explicitly allows anyone to consume it as a transitive package dependency, so you just need to make a trivial open source library which imports it and then depend on that? They might as well just say that if you have revenue over $1M they'd appreciate if you gave them money since the license doesn't seem to actually impose any sort of legal obligation to do so.
- modeless 4y agoMaybe I'll start a business reselling Apache-licensed copies of ImageSharp. $10 each. As long as I don't get more than 100k customers I'll have less than $1m revenue and I'm good! This is definitely the stupidest license I've heard of. I'm currently in the same situation, thinking about how to open source one of my projects while retaining the ability to make some money somehow, and this is something I never even considered because it's so stupid.
- tgsovlerkhgsel 4y agoIt isn't, because as long as the price for a direct license is reasonable, companies will pay it just to have the paperwork. SQLite is public domain, and makes money by selling "licenses" to such companies (they're called something else, but it allows the company buying it to file it in their "licenses" folder and tick a checkbox; https://www.sqlite.org/copyright.html https://www.sqlite.org/copyright.html).