commit: c0db5ceb8abcb336e8547e712eb5ad8eef2bdcdb
parent db0224a1c24c985a747efcb849d0e7ef466a0c4b
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date: Wed, 17 Sep 2025 06:56:30 +0200
articles/on-licensing: new
Diffstat:
4 files changed, 113 insertions(+), 0 deletions(-)
diff --git a/articles/on-licensing.xml b/articles/on-licensing.xml
@@ -0,0 +1,110 @@
+<entry>
+<title>On licensing, around hobbyist projects</title>
+<link rel="alternate" type="text/html" href="https://hacktivis.me/articles/on-licensing"/>
+<id>https://hacktivis.me/articles/on-licensing</id>
+<published>2025-09-17T02:13:12Z</published>
+<updated>2025-09-17T02:13:12Z</updated>
+<!--
+<link rel="external replies" type="application/activity+json" href="https://queer.hacktivis.me/objects/50be9d37-dee6-4c69-818e-013fa3b010d0" />
+<link rel="external replies" type="text/html" href="https://queer.hacktivis.me/objects/50be9d37-dee6-4c69-818e-013fa3b010d0" />
+-->
+<content type="xhtml">
+<div xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" class="h-entry">
+
+<h2>Suing and other legal processes</h2>
+<p>
+ Hobbyists typically can't sue or even worse, afford to be sued.<br />
+ That's a major weakness.<br />
+ And it means licensing between hobbyists are more like code of honors.
+ While a corporation can be a "copyright troll", sending a cease&desist
+ or worse without having the proper rights.
+ Which in quite few cases has shut down hobbyist projects, at least temporarily.
+</p>
+<p>
+ Yet because corporations can take over projects, either by forking
+ them or acquiring the rights from the maintainers, <em>projects should
+ still have appropriate licensing</em>.
+ Otherwise it could horribly backfire on hobbyists, as frequently
+ seen by either re-licensing to a proprietary license or adding
+ a much more restrictive one than the current users of it can accept.
+</p>
+
+<h2>License compatibility</h2>
+<p>
+ License incompatibility, unless there's an alternative implementation,
+ forces to abandon the feature/idea, rewrite the software, or acquire
+ a better license.<br />
+ Hobbyist getting a better license from corporations is so rare
+ there's a whole lot of excitement whenever that happens even for
+ abandonned projects, meanwhile there's corporations almost entirely
+ dedicated to acquiring appropriate licences.
+</p>
+<p>
+ Rewriting software also being harder on hobbyists, specially if you
+ need access to costy equipment or paywalled specifications to get
+ part of the work done.
+</p>
+<p>
+ That means license incompatibilities hurts hobbyists the most.
+</p>
+<p>
+ Should also be noted that some corporations love using AGPLv3 combined
+ with requiring a Contributors License Agreement (CLA) that tends to
+ fully assign copyright to them or merely restrict to OSI/FSF licences
+ (meaning MIT and 0BSD are possibilities).<br />
+ And it's not exactly a new thing:
+ <ul>
+ <li>last paragraphs of <a href="https://lwn.net/Articles/541981/">SCALE: The life and times of the AGPL [lwn.net]</a> from March 13, 2013;</li>
+ <li><a href="https://lwn.net/Articles/557820/">Debian, Berkeley DB, and AGPLv3 [lwn.net]</a> from July 10, 2013.</li>
+ </ul>
+ Note about the title of the last one: It's not just Debian but effectively all
+ distros which at best provide berkdb 6.0 or the latest version as another
+ package which can be installed concurrently from berkdb 5.3.x.<br />
+ cf. <a href="https://repology.org/project/db/information">https://repology.org/project/db/information</a>
+</p>
+<p>
+ Also I think the GPLv3 not achieving consensus with existing GPLv2
+ users while of course not being compatible with GPLv2-only was pretty
+ much self-sabotage.
+ And so since then, we got with the inability for some major projects
+ to ever share code or even be used together without relying on dirty
+ tricks like using IPC to circumvent copyleft.
+</p>
+
+<h2>Countering CLAs</h2>
+<p>
+ One way you can oppose Contributors License Agreements (CLAs) is via
+ creating a community fork.<br />
+ And if it's originally under a permissive license, consider putting
+ the changes under a copyleft license that's compatible with existing users
+ (at least libre ones). That way if they ever want to take code back,
+ they would have to either weaken or abandon their CLA.
+</p>
+
+<h2>Warranty reminder</h2>
+<p>
+ Also because of the horseshit of calling vulnerabilities on random
+ projects "Supply Chain", reminder that virtually all public
+ licenses comes with this kind of text (took this one from MIT,
+ you can also pick your favorite):
+</p>
+<blockquote><pre>
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+</pre></blockquote>
+
+<p>
+ Which is why to me, any corporation found whining about Supply Chain
+ should be treated either as incapable of reading warranties meaning
+ their products aren't trustworthy, or as wanting the equivalent
+ of a support contract for free which is abusive.
+</p>
+
+</div>
+</content>
+</entry>
diff --git a/config.ninja b/config.ninja
@@ -26,5 +26,6 @@ build articles/google-web-environment-integrity-illegal.html: article entry.xsl
build articles/libre-software-security-disclosure.html: article entry.xsl articles/libre-software-security-disclosure.xml
build articles/mozilla-foundation-has-no-members.html: article entry.xsl articles/mozilla-foundation-has-no-members.xml
build articles/no-noscript-element.html: article entry.xsl articles/no-noscript-element.xml
+build articles/on-licensing.html: article entry.xsl articles/on-licensing.xml
build articles/self-hosting.html: article entry.xsl articles/self-hosting.xml
build articles/wasm-hype-wish.html: article entry.xsl articles/wasm-hype-wish.xml
diff --git a/feed.atom.in b/feed.atom.in
@@ -11,6 +11,7 @@
<updated>2025-08-18T03:53:02Z</updated>
<!-- new.sh: new articles here -->
+<xi:include href="articles/on-licensing.xml"/>
<xi:include href="articles/no-noscript-element.xml"/>
<xi:include href="articles/forgeless-ssh-signed-commit.xml"/>
<xi:include href="articles/choosing-dependencies.xml"/>
diff --git a/home.shtml b/home.shtml
@@ -13,6 +13,7 @@
<p>List of articles, newest first:</p>
<ol class="indexlist">
<!-- new.sh: new articles here -->
+ <li>2025-09-17: <a href="/articles/on-licensing">On licensing, around hobbyist projects</a></li>
<li>2025-08-18: <a href="/articles/no-noscript-element">The <noscript> element as a trap</a></li>
<li>2025-05-02: <a href="/articles/forgeless-ssh-signed-commit">Forge-less SSH-signed git commits</a></li>
<li>2024-12-14: <a href="/articles/choosing-dependencies">How I choose dependencies</a></li>