September 9, 2019

The Great Open Source Shake-Upmore mandatory reading from Kate Downing

Kate Downing recently published The Great Open Source Shake-Up. As usual, she has me rethinking my quantity, in the wake of her consistent quality.

You should read her post. Once you do, a few first thoughts of my own here.

Cat. Bag. Out.

AGPLv3’s weaknesses, long a matter of narrow, largely theoretical interest, are now an open secret. Says Kate:

But even the AGPL’s obligations can be avoided by simply not modifying the AGPL 3 code, which there is often no reason to do, or by building layers between the AGPL 3 code and proprietary code.

The no-modification rule is apparent from the text, to those vanishingly few souls who read far enough to reach section 13:

13. Remote Network Interaction…

Notwithstanding any other provision of this License, if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network … an opportunity to receive the Corresponding Source of your version …

The ability to “build layers between the AGPL 3 code and proprietary code” was less well known, not evident from a passive top-to-bottom skim, and rooted in nook, crannies, and interactions of various defined terms and sub-rules. I’ve described an “API Loophole” and a “Container Loophole” in earlier writing.

MongoDB’s representatives also alluded to these issues in their written rationales for their Server Side Public License, but seemed to consciously avoid saying too much specifically. I’d guess they didn’t want to give credence to the arguments, which could never be perfectly airtight. And it wouldn’t help them to spread knowledge, given many previous versions of Mongo are out there under AGPL, and they can’t take those grants back.

Not Discriminating

Kate gives the OSI credit for standing hard on a principle of no discrimination in licenses, but connects their failure to anoint any new license meeting companies’ needs to ensuing license proliferation and shifts toward more proprietary code.

I catch myself falling back on an expedient, feel-good notion of “nondiscrimination”, too. But it’s not consistent with open source history. If “open source” includes the preexisting free software copyleft licenses, and not just as payment of old political debt or for stepping stones to march over, then open source included explicitly discriminatory licenses. RMS wrote GPL to discriminate against proprietary takers. If some software companies used the GPLs to poke other software companies in the eye for closing source code, so much the better.

I could applaud OSI for consistency if it practiced consistency. But that’s not its history.


Kate’s best point is an appeal to moral consistency: If companies stand on fairness to demand AWS or other competitors pay down a fair share, they should pay fair shares down, in turn. Golden Rule and stuff.

Problem One: How do we get individuals and small groups compensated for their work?

Problem Two: How do we get individuals and small groups that happen to form companies around their projects compensated for their work?

The distinction is real, but porous. If you solve one problem, your reward is the other.

New Structures

I have a post on building cooperative-like quasi-entities out of intellectual property cross-licenses in the works. I’ve been shopping the idea with a few colleagues, with lots of enthusiastic response. If I weren’t so exhausted, I’d still be really excited about it!

Special thanks to Tim McCormack for editing this post.

Your thoughts and feedback are always welcome by e-mail.

back to topedit on GitHubrevision history