Pelontrix

I HAVE MANY RAGE

  • it/its, he/him, whatever's funny

20, probably has adhd.


fullmoon
@fullmoon

I think it's become pretty clear that whatever Richard Stallman envisioned for copyleft licenses, the actual reality is not exactly what he intended.

If you read the Free Software Foundation's explanation of copyleft, the vision was that copyleft would incentivize or pressure people who were not inclined to publish free software to relent and release their work as free software:

Copyleft also provides an incentive for other programmers to add to free software. Important free programs such as the GNU C++ compiler exist only because of this.

Copyleft also helps programmers who want to contribute improvements to free software get permission to do so. These programmers often work for companies or universities that would do almost anything to get more money. A programmer may want to contribute her changes to the community, but her employer may want to turn the changes into a proprietary software product.

When we explain to the employer that it is illegal to distribute the improved version except as free software, the employer usually decides to release it as free software rather than throw it away.

… but that's not what actually happens in practice, at least from what I can see. In other words, we have not gotten into a situation where some "killer" software package adopted a copyleft license which in turn forced a broad swath of the software ecosystem and/or employers to release their own software under a copyleft license.

What actually happens is that the only software packages of note that have copyleft licenses are ones where the license doesn't change other people's behaviors or incentives. For example, they might be a GPL-licensed executable (e.g. gcc or pandoc), but everyone knows that a GPL-licensed executable won't force downstream users of that executable to license their own software under a copyleft license.

Why does this happen? Surely you'd think that at least once someone would have licensed a pivotal package under a copyleft license and forced other people to release their own code with a copyleft license. What happens in practice is one or more of the following:

  • the package does not get traction/adoption

    … because of the copyleft license. A lot of potential users will steer clear of any dependency with a copyleft license.

  • the author is socially pressured to remove or weaken the copyleft license

    For example, they might be asked to downgrade a GPL license to an LGPL license or a permissive license (like an MIT or BSD license).

  • downstream users drive a truck through copyleft loopholes

    For example, if the copyleft license is a weakly copyleft license like the LGPL license (which makes an exception for dynamic linking) then you can sure as hell bet that downstream users will dynamically link that code. Or if it's the GPL license then downstream users will release their own code as a service or depend on the code as an executable to avoid triggering the copyleft protections.

Like, some good has been done by copyleft licenses, but this is far from the free software utopia that Stallman envisioned where companies are open sourcing their secret sauce on the regular.


quat
@quat
This page's posts are visible only to users who are logged in.

You must log in to comment.

in reply to @fullmoon's post:

Your intuition here is spot on, but I think it's even deeper than that. I work on clang, and the GNU rivalry is kinda crazy.

There's also a very heavy cultural impact that comes with some of the larger GPL licensed code that is wild. To quote one of my coworkers, trying to get GNU-tools to stop being GCC dependent is like trying to convert someone to a new (licensing) religion.

AGPL is a fun one because it's got such a "dangerous" license that it's banned in my work to any and all capacity. LGPL is basically ignored for anything except Rust cus we dynamically link most things. Anything GPL we just build another tool ourselves under BSD or MIT.

When licensing my own personal libraries for public consumption, if I make something copyleft I assume it will be avoided by anyone downstream.

i would argue linux (kernel) kind of worked, for a bit. vendors hated gpl, they didn't wanna do it in the slightest, it took a ton of effort to get them to comply, but... i do not believe i would have bought my current openwrt-flashed router if it wasn't for copyleft, i've repurposed some old android phones every so often, and in general there are some ways to repurpose iot stuff. it's not quite the future envisioned, but it is cheaper to use linux and gpl'd userland than it is to license another kernel and cobble stuff together, so it happens a bunch

of course that's largely over too: nobody really envisioned secure boot at the time of gplv2's drafting, and vendors are all too happy to lock stuff down, stop providing updates on perfectly capable hardware and turn their stuff into e-waste. gplv3 may have fixed it but alas, that's not happening with linux (and vendors would fork even if the upstream kernel somehow magically managed to do it now)

Dr. Stallman when writing the GNU Manifesto did not just envision a world where software is open-sourced by companies, but a post-scarcity world where we only work 10 hours a week and where intellectual property is abolished.

As long as we let the Bourgeoisie rule the world, we will fall short of this goal.
We shall not admit defeat. We will win the Class Struggle.

everyone knows that a GPL-licensed executable won't force downstream users of that executable to license their own software under a copyleft license

The Parity Public Licence does that! Anything that remotely touches Parity-licensed software must itself be some kind of FOSS (as opposed to being Share-Alike).

I agree strongly, and even in cases where GPL should have kicked in and forced a major innovation to be shared, companies and courts have just ignored it. My "favorite" example being VMware, who have built an entire billion-dollar business atop a modified, distributed, and noncompliant Linux kernel.

I do wonder what a functioning, lessons-learned, approach to releasing technical artifacts, preserving an accessible commons, and keeping out bad-faith corporations looks like. Maybe a "Open Source Developer's Syndicate" -- all rights reserved and no legal copying allowed, except by explicit contract with the syndicate (who, presumably, distribute the payment internally and equitably to members). Unofficial, unlicenced, and technically illegal source sharing via deniable BitTorrent would then allow hobbyists to make their free and low-friction modification, with an "amnesty" program to allow contributors to merge back changes and join the syndicate.

(Obvs. take with a grain of salt)(I am not a lawyer I just really would like open source to be a viable and equitably paid career path)