Hacker News new | ask | show | jobs
by bunderbunder 2793 days ago
So, here's the key text of the Commons Clause:

Without limiting other conditions in the License, the grant of rights under the License will not include, and the License does not grant to you, the right to Sell the Software.

> Ultimately, people want to keep their code open, develop in the open, bring in contributors, make it easy to adopt and audit their code, etc.

The Commons Clause doesn't really change any of that from the base license. It says so explicitly - "Without limiting other conditions..."

> They also want to eat and have a home.

This is the very thing that the Commons Clause tries to prohibit: "the License does not grant to you, the right to Sell the Software."

In other words, it's a way for the maintainers of a project to say that they get to sell the software, but nobody else does.

Which, hey, I develop proprietary software for a living, I'm fine with doing that in the general case. What I don't like is trying to mix that kind of restriction into an open source license. Because then what you're saying is, you want other people to contribute code, and you want to be able to benefit financially from those contributions, but you expect it to be a one-way street. There's a basic principle of fairness at play there.

If you want to do that kind of thing, I'd say it's much preferable to go with something more like the oldschool "dual GPL/commercial licensing" approach. Or, if it fits your needs better, something like one of the non-OSI Microsoft Shared Source licenses.

1 comments

> they get to sell the software, but nobody else does... what you're saying is, you want other people to contribute code, and you want to be able to benefit financially from those contributions, but you expect it to be a one-way street.

It seems like a lot of the positive responses to the Commons Clause have missed or skipped past this entire concern.

People are understandably touchy about "AWS profits off this free code", and understandably concerned that "just make it AGPL" will scare away some big players but not actually keep the developers solvent.

But the Commons Clause isn't at all reducible to "pay us if you profit from selling our code". A clause like that might not be FOSS either, but I think there'd be a lot less anger over it. (Especially if it wasn't achieved by taking a FOSS license and adding on a misleadingly-named "...but not really" clause.) Instead, the Commons Clause restricts sale rights to one entity, leaving the software with a clear 'owner'. And that's what people are mad about: it turns an entire development community into a farm team for one license holder.

"Pay if you profit" has real potential, and as you say has been achieved in the past via dual licensing. It allows for ecosystems where free code is included in and extended from multiple paid projects, and while the code originator might be guaranteed revenue they aren't in control of the project. That's vastly preferable to the you-work-for-us structure of the Commons Clause.

I think the conversation has been undermined by the way the Commons Clause FAQ and authors have skipped across that nuance to say "GPL doesn't suffice here, therefore Commons Clause!" We'll all be better off if we don't let the middle ground stay excluded from the discussion.

> Pay if you profit" has real potential, and as you say has been achieved in the past via dual licensing.

But, often, that involved straight-out lying about a FOSS license, though, and presenting the dual license scheme as if it were the near-equivalent of Commons Clause. (E.g., the old MySQL GPL or commercial license scheme.)

Would you be willing to elaborate what's wrong with the MySQL GPL scheme?

I'm far from an expert on that whole debate, but my casual understanding was that they offered the same code under GPL or proprietary licenses. And, that doing so had been found legal and had even gotten (somewhat grudging) approval from Stallman and the FSF as a way to ensure monetization and adoption of GPL-covered code. His justification has a weirdly deontological logic that I don't particularly accept ("you're not making proprietary code, just causing it to be made" is pretty thin), but I think I'm fine with the result.

More generally, though, I completely agree. Misrepresenting FOSS status to dual-license isn't ok, and has all the same problems as the Commons Clause. I think there's a strong case for restricting proprietary use via a single new, non-FOSS license (probably derived from an existing FOSS license) rather than via dual-licensing or worse, added clauses.

> Would you be willing to elaborate what's wrong with the MySQL GPL scheme?

For quite a while, MySQL AB purported on the website and elsewhere that commercial use of MySQL required a paid proprietary license, and that the GPL did not allow commercial use, only non-commercial use.

Eventually, they stopped doing that, but it took a while.

Ick, that's part of the story I hadn't heard; my awareness of the whole thing mostly started with the Oracle acquisition. Yeah, that's way different that just offering dual licenses, and not at all ok.