[kwlug-disc] Permissive vs copyleft licenses

Doug Moen doug at moens.org
Sun Dec 20 09:53:39 EST 2020


On Sat, Dec 19, 2020, at 7:41 PM, Chris Frey wrote:
> On Sat, Dec 19, 2020 at 03:53:09PM -0500, Paul Nijjar via kwlug-disc wrote:
> > And if you choose the GPL be prepared to be burned because nobody
> > wants to use or contribute to your project.
> 
> Licenses do matter.  Although in practice, it's usually a restrictive
> license that generates enough motivation to create something new and
> free.

No, Paul is right. Chris, your information is out of date. Copyleft is dying. It will survive in the end as a "strategic" licence for businesses who dual licence their code as GPL3/proprietary.

https://resources.whitesourcesoftware.com/blog-whitesource/open-source-licenses-trends-and-predictions

> Again, as memory serves, Bitkeeper came first, then git, and it was
> due to a restrictive license that Bitkeeper was released under.
> When folks insisted on tools being free, and started to reverse engineer
> (even slightly) the Bitkeeper interface, Bitkeeper withdrew permission,
> and Linus ended up writing git.  In this case, the world flocked to
> git, and Bitkeeper is barely remembered.

Exactly the same thing happened to the original SSH. The original developer, Tatu Ylönen, took it from a free licence to proprietary, so the OpenBSD project forked the code and released OpenSSH under a copyfree licence. Now everybody uses OpenSSH.

Or consider clang vs gcc. Unlike Bitkeeper or the original SSH, I'm not saying gcc is dead, because it never went proprietary, but clang and llvm have more developers, superior technology, and more users, due to their greater emphasis on software freedom. Part of this is the licence: Apple contributes to LLVM because of its permissive licence (which allows them to incorporate LLVM in their XCode product).

But there's another aspect of LLVM's software freedom that isn't in the licence. It is the fact that the clang code generator back end is a separate product: it's library called LLVM. This gives free software projects like Rust, Julia, and Zig the *freedom* to use this code generator as the back end for their compilers, without the requirement to join the GNU project, assign their copyrights to the FSF, and petition to get their language included in the GCC suite.

RMS is not the friend of software freedom that he portrays himself as. For years, RMS actively worked to prevent the GCC project from turning their compiler back end into a library, because RMS did not want free software projects not under his direct control to use the GCC code generator. When LLVM was released, RMS called it a "terrible setback" for free software. Like WTF? Is this the statement of somebody who actually cares about software freedom, or does RMS use the rhetoric of free software for empire building and self glorification?

Unlike RMS, I am ecstatic about the LLVM project. There are small things: clang gives me better error messages, and the LLVM developed memory sanitizers are the best tech I have found for finding memory errors in my code. The big thing is that LLVM is now included in so many projects, including in places you might not expect. The Mesa project, that drives your GPU and allows your desktop environment to render graphics, uses LLVM. LLVM is used to generate web assembly code that runs in your browser. LLVM is causing a software renaissance in the free software community, precisely because the technology for optimized code generation has been freed from the cold dead hands of RMS's control.




More information about the kwlug-disc mailing list