logo

blog

My website can't be that messy, right? git clone https://anongit.hacktivis.me/git/blog.git/
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:

Aarticles/on-licensing.xml110+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mconfig.ninja1+
Mfeed.atom.in1+
Mhome.shtml1+
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&amp;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 &lt;noscript&gt; 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>