Hacker News new | ask | show | jobs
by vorpalhex 2793 days ago
These are brownies, but they happen to contain a bit of horse shit. Not a lot, it's just like a tiny sprinkling on top, but they are definitely still brownies!

You can't make a substantive change to a license and pretend it's a small deal. You can't hijack core tenants of a license, and then just put a little disclaimer at the bottom. "Buy one get one half off! *The one half off is actually just a plastic model and doesn't do anything"

Abusing FOSS licenses to try and control your users software while still using their claim strikes me as pretty bad faith. If you want to use a dual license, that's fine - just do that. "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, easy, nobody upset. Don't pretend "Hey, this is open source, except it isn't, and please give me your money."

6 comments

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).

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.

>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.

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.
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.

> 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".

To be fair, “brownies with a sprinkling of horseshit” is extremely descriptive yet concise. I understand what this is faster than reading the recipe for what this thing is.
Using another analogy, it's like "vegan lasagna with meat". We all understand what it mean, but once you put some juicy meat there you can't call it vegan anymore.
I like that analogy even better. Adding some shit to a brownie ruins the brownie but doesn't take away it's "brownie-ness" in a sense. On the contrary, adding any amount of meat to a vegan lasagna instantly disqualifies it from being "vegan". There's an element of binary, black-and-white purity that "being vegan" and "being FOSS" have to have.
Non-metaphorically, I highly recommend ordering vegetarian pizza with extra meat. You get a bunch of excellent vegetables and meat to boot! Very delicious.
the only thing wrong with this analogy is that it's more of a giant spoonful than a sprinkling
Calling it "natural addative" would be more similar to how the Commons Clause is named.
> 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

Is that an actual license? Because that's not what I've seen most often recently, at all.

An honest FOSS license + dual licensed for commercial would say "it's fine if you make money, and we don't need a cut... unless you've integrated our software AND you don't want your final product to be similarly open-source."

The recent example that's coming to mind is the new CKEditor real-time collaborative version that came out recently. You can integrate this in a commercial product, as long as the users of the product are free to stand up their own instance (instead of paying you to host it, using their editor product as an integrated part of your commercial product.) If your product is closed and you want it to integrate their CKeditor, the other license that is available costs $25/mo per 25 Monthly Active Users.

Even if your product is open-source and users are free to go off and host their own instance, it seems likely that many will opt to pay you to host it instead. Doing this supports your development effort and keeps you in business, meanwhile entitling your paid users to whatever degree of support you're offering subject to availability.

If it's not worth $X/mo per user to you, to keep the users locked-in to the product that you borrowed part of, and such that the users don't have this other option in case your company goes belly-up, then maybe you should really be open-source? Or maybe you should just build your own whatever-it-is that you wanted for free, to make a part of your product.

  An honest FOSS license + dual licensed for commercial
  would say "it's fine if you make money, and we don't need
  a cut... unless you've integrated our software AND you
  don't want your final product to be similarly
  open-source."
I think the "problem" the commons clause is aimed at is where AWS starts selling managed deployments of your product, and they make $$$$ from your work without giving you a cut. And maybe your business plan was to do that, but AWS has an existing billing relationship with everyone making them a much lower friction choice.
So, the model that AGPL was designed to combat, right?

Under the AGPL, Amazon would be free to do that, as long as they released the code for their managed deployment systems.

(This doesn't get you any money, but it saves you from the sense that your FOSS-work has been exploited by a commercial entity that doesn't give anything back, so long as it's actually enforceable.)

I think this is a lot of people's complaint with the Commons Clause.

It's defended by citing a real problem, but the AGPL also addresses that problem. Meanwhile, its impact on non-Amazon players like "some random user who wants to write and share a handy tool" is much less pleasant, because it effectively turns that user into a free profit source for the license holder.

I can imagine a healthy role for some intermediate license that goes beyond AGPL to say "actually Amazon, you have to pay us for this". But it would need to not distort what FOSS means for everybody the way this does.

AGPL says nothing about monetization. It only says Amazon would have to open any modifications they made.

Unless Amazon becomes the new primary developers it does not solve the problem of paying the people actually doing the work.

Right, what it does potentially solve (comparing GPL to AGPL) is this:

Amazon takes your work and solves the "service layer" story, but having never distributed any binaries, they are not obligated to share their modifications in any way.

Under the AGPL, if you solve the core issue, and they borrow your solution adding a proper service layer to it, that would need to be released as source code, in a way that users could repeat the deployment on their own.

I say "potentially solves" because nobody is solving 80% of the problem better than anyone else can and releasing their 80% solution as AGPL, saving "Amazon jobs" for the Amazon people. And if they were, it would be easily circumvented; Amazon would simply never take the bait. Best case, they would figure out what makes your solution so much better and then implement those ideas for themselves in a clean-room.

> Unless Amazon becomes the new primary developers

Which, if they really are the dominant beneficiary, they probably will; whoever is making the most money from the software has the most financial interest in maintaining it, and that's the reason so many big corps that benefit from FOSS invest heavily back into those projects, either via sponsorship of projects or paying their own developers to work on the codebase or both.

But that doesn't serve the interests of the investors in the company doing the initial work, who invested in the hopes of capturing the downstream revenue later development of the work would produce. Which is understandable, but they shouldn't attempt to trade on the popularity of open source licenses with their non-open alternatives.

And that, not the “people doing the work”, is what the Commons Clause is about.

Doesn't really happen with Openssh. Or MySQL or Postgres for that matter. With Open Source there are a lot more takers than givers.
Reminds me a bit of the QT licenses which are dual: "Qt for Application Development is dual-licensed under commercial and open source licenses. The commercial Qt license gives you the full rights to create and distribute software on your own terms without any open source license obligations. With the commercial license you also have access to the official Qt Support and close strategic relationship with The Qt Company to make sure your development goals are met.

Qt for Application Development is also available under GPL and LGPLv3 open source licenses. Qt tools and some libraries are only available under GPL. See the comparison chart for details. The Qt open source licensing is ideal for use cases such as open source projects with open source distribution, student/academic purposes, hobby projects, internal research projects without external distribution, or other projects where all (L)GPL obligations can be met."

https://www1.qt.io/licensing/

Fusion 360 has a license like that - free for personal use, but you have to pay if you use it to make anything you sell.
Fusion 360 is not in any way open code though, right?

I'm thinking of any _open_ product that says you have to pay once your derivative product goes commercial, even if it's also open. That would be decidedly non-free in the sense of restrictive and as an example, this is something that is not compatible with standard GPL, and not included in the basic general BSD/MIT licenses.

My definition of a free license would include the right to sell (any developer hours for bounty, support, stickers, socks, CDs, anything I want for cash, including unmodified copies of your software) without restriction or liability from upstreams, no obligations, other than that I must include the source code and my distribution must also be similarly unencumbered and without additional restrictions.

There's no comparison to be made with "free for personal use, binaries only." (But thanks for advancing the discussion...)

This is an interesting idea, but I wonder how fees would be assessed?

At one remove "source available, but pay for commercial use" seems very workable. The tricky part is handling it 3+ commercial layers out, where you're either building up a pyramid of fees or making direct payments several notches back along the chain. The first threatens to strangle commercial use past a few removes, the second might work better but opens all the "find the license holder" issues music has already.

I don't mean to dismiss the idea, rather I'm interested to think through what a low-impact way of implementing this might be.

Tenants are people who occupy land or property owned by someone else. Tenets are principles or beliefs, with the connotation that they're strongly held principles.

I agree with your point, I think there should be a new visible-source (semi-free?) license that includes commercial fees to make it easier for people to evaluate these things without stepping onto a mine.

The Commons Clause might be clunky, but its an attempt to address the changes that have happened in the world since the late 1990s.

For those who don't know, the FOSS revolution came about in the late 1990s and as a popular movement was largely fueled by concern over the extent to which Microsoft was dominating the PC and (then) PC-based server industries. MS was moving to embrace-extend-extinguish the web at the time too. The Free part of FOSS was critical to competing with Microsoft in the late 1990s, since MS's Achilles heel in the market was its costly and cumbersome licensing schemes.

Times have changed quite a bit since then. Today's behemoths are not based in software but in services with network effects. The bad behavior of those behemoths revolves more around exploitation of network effects to lock people into services (not software), and of course the mass surveillance and manipulation of public discourse that becomes possible when everyone is working in a closed silo.

FOSS is utterly worthless as a strategy to resist network effect oligopolies and surveillance capitalism. In fact it might be worse than worthless, since many of these surveillance honeypots run on open source software. If you write and release FOSS today you're likely giving free labor to people who will use your tools to spy on you and manipulate you.

The difficulty we face now is finding a viable alternative to surveillance capitalism as a way to fund software. The Commons Clause is an experiment in that direction. It may not work, but experiments are welcome.

This version of events is so incredibly wrong.

Free software started in the eighties over concerns about how proprietary software was being used. Embrace-extend-exstinquish was Microsoft's attack on a growing free software market, it had nothing to do with the web.

The "free" in "free software" never referred to the price, and is not business strategy. It's used like in "free speech," and it refers to the free modification and redistribution of the code.

Free software has a huge presence across computing. Honeypots use free software because everyone uses free software, free software enables bad actors like building roads enables drunk drivers.

Looking at your profile, either this is an elaborate troll or I am genuinely amazed in how long you've managed to misunderstand "free software." You use the GPL for your business.

Actually, he's 100% correct. The way that open source is used by very large tech companies today is way, way worse than anything MS ever did. MS never got a stranglehold on the network in the way that companies like Google have been able to do.

Back in the 90s, if you wanted to run Novell, UNIX, or Linux instead of WinNT Server, there was nobody stopping you and there were a lot of options. The same with Office suites: there were actual competitors to MS Office through most of the 90s. There is much less competition in many areas of commercial software today, and one of the primary reasons is that open source software has become a vehicle that large software companies use to drive competitors out of markets and solidify their positions in complementary markets. Yes, consumers benefit in the short term, but it allows these companies to build moats that make it very hard, or impossible, for future startup competitors to overcome. We all want to point our fingers at Oracle, MS, IBM, and say that they are the issue, but when every major player in the industry does the same thing, it starts to become more and more obvious that the problem may not be with the individual companies involved.

Also, public roads are a bad metaphor for software: there isn't a market for public roads, and software can always be innovated upon (as an aside, it drives me nuts when people declare something "solved", especially when the reason for doing so is ideological or political).

>Actually, he's 100% correct.

No. You agree with their end point. How they got there is not factual.

I don't understand your second paragraph. Why should I care about proprietary software competition? And how are they building these free software moats that stop other people?

>Also, public roads are a bad metaphor for software: there isn't a market for public roads, and software can always be innovated upon

My use was very narrow, the ability for bad actors to use infrastructure doesn't put the infrastructure at fault. That said, roads have a market and allow innovation.

"Why should I care about proprietary software competition?"

Because without it we all pay much higher prices than we normally would, and we get sub-par quality/innovation. Unless you're somehow intimating that proprietary software can be completely eliminated, but I don't think that's the case. I don't think that such views are grounded in reality.

"And how are they building these free software moats that stop other people?"

I think this has been demonstrated pretty clearly over the last 10-15 years: they use open source to direct the industry in ways that are beneficial to them, regardless of whether they are good for everyone else. And, it is often the case that there are serious issues for anyone that would want to compete against them in a specific area of software because they're now competing against "free". It forces companies to diversify into areas where they have little expertise, just to be able to compete. So, instead of a company being a developer tools company, they're now something else that also happens to give away developer tools. In the end, it favors large corporations over smaller enterprises in an industry that has traditionally been one with very low startup costs and lots of opportunity.

>Because without it we all pay much higher prices than we normally would, and we get sub-par quality/innovation. Unless you're somehow intimating that proprietary software can be completely eliminated, but I don't think that's the case. I don't think that such views are grounded in reality.

There has been no shortage of quality and innovative free software. I see no reason that restrictions on a users rights would encourage innovation or a quality product.

Reading the rest of your post, you also seem to view free software as primarily about price. The picture you paint sounds more like what Internet Explorer did to browsers than any free software I can think of.

> So, instead of a company being a developer tools company, they're now something else that also happens to give away developer tools

Or you can take the existing developer tools and improve and extend them. Having access to a large amount of your competitors resources allows you to more easily compete on an even field.

I don't think you're really in disagreement. api didn't actually say FOSS started in the 90s, but that the "FOSS revolution" (which I read as the widespread use of FOSS licenses) did. And that statement still works if you read Free as "in speech".
I could be wrong, buy they seem to talk about how the "free" part was important to combat Microsoft's costly licence, and how that isn't an issue anymore.
The problem solved by FOSS licenses is nonfree software that users cannot fully control and redistribute. The adjusted solution for the cloud era is not Commons Clause, which removes freedoms from users, it's AGPL. But no one wants to hear that because they just see FOSS as a way to make a quick buck on the backs of others.
>These are brownies, but they happen to contain a bit of horse shit. Not a lot, it's just like a tiny sprinkling on top, but they are definitely still brownies!

Don't buy them, don't eat them.

>"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, easy, nobody upset. Don't pretend "Hey, this is open source, except it isn't, and please give me your money."

None of that makes any sense. Creative Commons simply restricts selling the software itself. The software is still distributed free, and you can still sell a derivative.

> Creative Commons simply restricts selling the software itself.

CC licenses that are not NC absolutely allow third parties to sell the content. They just don't allow them to hinder others from sharing it for free.

As for CC licenses with NC, those do not comply with the Open Source definition either.

> Creative Commons ...

"Commons Clause" is not a Creative Commons license. The two are unrelated.

> Don't buy them, don't eat them.

Consumer protection laws say otherwise. We live in a society with rules and punishments for breaking those rules for a reason.