Hacker News new | ask | show | jobs
by staticassertion 2793 days ago
I won't address your analogy since I think it's obviously quite different.

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. They also want to eat and have a home.

The extreme hostility I've seen over the years to every OSS project that tries some new way of monetizing is just absurd and damaging to the concept.

> "Hey, you can use this for free if you don't make any money, but we want 10% if you're using this in a paid product" -> See? Done,

Confusing since what you've just described sounds very much like what is being railed against? You're just talking about taking an open source license and adding a restriction around monetizing the code - this is not open source, as it violates one of the 10 or so requirements to be Truly Open Source (by some organization's standards).

5 comments

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.

> 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.
>every OSS project that tries some new way of monetizing

These are not OSS projects.

>You're just talking about taking an open source license and adding a restriction around monetizing the code - this is not open source, as it violates one of the 10 or so requirements to be Truly Open Source (by some organization's standards).

4 requirements, upheld by two highly respected organizations. You can read them here:

https://opensource.org/osd

https://www.gnu.org/philosophy/free-sw.en.html

People need to eat, and that's fine, they can license their software in any way that they think will put food on their table. But if it's not open source, don't call it open source.

I'm aware of the OSD. I'm referring to open source in the sense of the source code being made available.
The term most people use for this is "source available". Calling it "open source" is misleading, and continuing to call it that after it's been pointed out to you is flatly dishonest.
>The term most people use for this is "source available". Calling it "open source" is misleading, and continuing to call it that after it's been pointed out to you is flatly dishonest.

Given how every Reddit/HN thread I come across has an argument on whether it is appropriate to use open source in this context, I strongly disagree with the phrase "most people". In my experience, most people call it open source, and it only misleads the minority that insists on owning the definition of the phrase.

How far we've come.

I remember back in 2001, when Reddit and HN didn't exist yet, and the whole Internet was caught up in a seemingly unanimous furor about how, not only were most of Microsoft's just-released Shared Source licenses not open source, but even the ones like MS-PL that met the OSI definition still weren't open source simply because they had Shared Source cooties on them by virtue of being announced at the same time.

I fear that the bad old days were so far back now that people no longer remember why this stuff is important.

What you're describing is to be expected. In 2001, the percentage of people on the Internet that were tech geeks and aware of OSI and GNU was much higher than today, and so they could more easily control the narrative. Today they are in the minority.

I've seen this in many activist communities. They (likely unintentionally) pick regular language to mean something very specific, and then spend endless amounts of time arguing that everyone else is using their terminology incorrectly. It's a huge waste of time. The rational thing to do is give your concepts unambiguous names - not ones where the majority that speak the English language could take to mean something else.

>I fear that the bad old days were so far back now that people no longer remember why this stuff is important.

Lumping those who disagree with your terminology with people who disagree with your philosophy isn't going to help the cause either. It alienates allies. In my experience, people by and large agree that it is important and are favorable with it. They merely disagree with the terminology.

And that's the other thing that happens with ideological movements. As they grow, many fall into a local optimum where the focus is on purity. Who amongst us is pure enough to be in our circle? We'll keep devising ways to root them out (insistence on poor terminology being one way).

There is a loud minority of people who disagree, mainly people who are wondering if in the future they can exploit open source community in a similar manner. The term "open source" is a trademark of the Open Source Initiative and has a clear, unambiguous meaning.
Unfortunately, no, the OSI could never get a trademark on "open source".
>There is a loud minority of people who disagree

The minority is those who insist on the OSI definition as the only appropriate way to use "open source".

>mainly people who are wondering if in the future they can exploit open source community in a similar manner.

The problem I'm seeing is the labeling of people who disagree about a single point (terminology) as bad actors (i.e. people who are bent on "exploiting"). As I mentioned in another comment, this is sadly a common path that ideological movements take - attributing intentions to others, and focusing on rooting out impure adherents.

The reddit/HN arguments about the definition of "open source" pop up specifically because there are people stubbornly insisting upon subverting the definition of "open source" to mean something other than its official and formal and well-established definition per the OSI.

If the license does not meet the OSI's definition of "open source", then it is not open source. If the license does not meet the FSF's definition of "free software", then is it not free software. Case closed. No ifs, ands, or buts about it. These organizations have existed for decades, and the definitions they have formalized for their respective terminologies have in turn existed for decades. The meanings of "open source" and "free software" are perfectly clear, and the sorts of licenses being discussed - like those using the Commons Clause - are very clearly neither open source nor free software by those very same well-established-for-decades definitions.

I'll let the official Commons Clause website speak for me.

https://commonsclause.com/

> Is this “Open Source”? No.

There is only one commonly accepted definition of open source. Just making the source code available is not enough, you also have to grant the right to be able to use the software for commercial purposes, etc. See: https://opensource.org/osd-annotated
@hoaw All I'm asking is that they don't use the terms "open source" for something that isn't. If people are trying to change the only commonly accepted definition of "open source", then I'm asking that they stop. Semantic diffusion needs to be resisted. Is it too much to ask that we don't allow the term "open source" to have less and less meaning? Is it too much to ask to use terms like "shared source" or "source available" instead of the oxymoron "non-commercial open source"?

You make an interesting point about patent clauses. I think I would say that it isn't the OSI-approved licenses that make a project unusable commercially, it is the patents that companies hold. OSI classifies licenses as they stand alone, it doesn't classify patents or declare projects as safe from patents.

The whole point of the license is presumably that they disagree with that definition. As far as I know a license can be OSI approved without containing patent grants, effectively making the code unusable for commercial purposes. There is also, again as far as I know, nothing stopping companies from using contracts to restrict the use of code in at least some OSI approved licenses.

That said, I do think they should state that it is "non-commercial open source".

A definition is not an opinion, it's an arbitrary mapping from a term to a description; you can't really disagree with it. You're free to use another definition for the same term, but if you don't make it extremely clear to you're departing from the most commonly used, don't be surprised if people treat you as any other sleazy salesperson.

The patent grant is a red herring; they're copyright licenses, and judged as so. Unlike software copyright, software patents are not even valid in many countries.

> A definition is not an opinion, it's an arbitrary mapping from a term to a description; you can't really disagree with it.

How open something has to be, to be called open source is a matter of opinion, so is to some degree what open means in the context of open source. Otherwise they would have to call it "unconditional open source" but then a number of, if not most, licenses wouldn't qualify.

> The patent grant is a red herring; they're copyright licenses, and judged as so.

It isn't a red herring. I use it as an example to show that the openness in OSI approved licenses aren't absolute. Some licenses have other terms. They might for instance retain the moral rights of the author, try to avoid any liability or condition the distribution of software. If you can have those exceptions and still be considered open source I don't see an objective reason why you can't call software where the economic rights are retained open source as well (even though I can understand why people wouldn't want that).

> we want 10% if you're using this in a paid product"

> Confusing since what you've just described sounds very much like what is being railed against?

It's very much not.

"Free for private users, paid for corporations" and "free for free uses, paid to include in new products" are both existing licenses, which may be source available but are generally not open source.

The Commons Clause is different; it permits OSS-style contributions to the codebase while reserving the sale rights to one party. "...the License does not grant to you, the right to Sell the Software"

There seem to be two serious miscommunications here.

First, "source available and we monetize by controlling rights" is not universally hated. Most people less extreme than Stallman are fine with that, they just don't want it achieved by warping FOSS licenses and projects.

Second, the Commons Clause is a particularly bad road to monetized source-available projects. Applying it to an existing project has the effect of converting a FOSS community into an unpaid dev team for one license holder. That's very different from "we'd like a cut if you monetize this".

The "extreme hostility" is not against alternative development/licensing models, but against doing X but saying it's Y.

It's obviously everyone's choice to pick whatever license / licensing model you want. The Commons Clause is getting all the flak merely because it pretends to be OSS-compliant, which it (pretty obviously) is not.

> The extreme hostility I've seen over the years to every OSS project that tries some new way of monetizing is just absurd and damaging to the concept.

Sure, I can get behind that but it has nothing to do with this article which is about non-OSS software trying to trick developers who might want to contribute to OSS into contributing to them instead using naming tricks and deceptive terminology.

The monetization rules in the Commons Clause are quite narrow (for instance, no consulting profits) and that might have annoyed a lot of people no matter how it was implemented.

But I don't think people would be anywhere near this upset if it had been announced as "we started with the text of the Apache License and made a new source-available non-commercial license, we're calling it Use No Resale or UNR for short".

Instead we got "Here's a clause that breaks a core tenant of FOSS, for adding to FOSS licenses, but in our FAQ we admit it's not open source. And it's initialism conflicts with the Creative Commons, and its first big application will be called Apache License + Commons Clause, because no one will ever abbreviate that to Apache + Commons and confuse it with the existing Apache Commons." Plus a huge pile of FUD by alluding to unexplained 'malicious contributors' and 'preventing project shutdowns' to justify its existence.

There are so many different unpleasant aspects to this rollout that I don't really understand how even proponents of the license can view the backlash as "just more anti-monetization hostility".