One software freedom that Stallman does not mention is the freedom *not* to use the program because you dislike or don't want it for some reason
Free software tends to be flexible, have clear boundaries, split responsibilities, and replaceable components, thanks in part to openly defined protocols and formats
Proprietary software tends to want to lock you in into their freaking ecosystem, and even if they adopt an open standard, it's a part of an E-E-E strategy
@lanodan which undocumented extensions are you talking about? Sure, the Hurd, GNU libc, GCC, etc. all extend classical Unix/C in interesting ways, and the documentation is not always perfect; but that's just from a lack of manpower, not an act of intentionally locking people in. In fact most GNU software is written in a way that *doesn't* require other GNU system components or extensions, making it very portable. This is the opposite of lock-in.
(1/2)
@lanodan he's made it very clear why he opposes clang/LLVM, and it's not on a technical basis:
"The existence of LLVM is a terrible setback for our community precisely because it is not copylefted and can be used as the basis for nonfree compilers -- so that all contribution to LLVM directly helps proprietary software as much as it helps us."
https://gcc.gnu.org/ml/gcc/2014-01/msg00247.html
(2/2)
@lanodan I think copyleft is better, and (most of) my software is under GPL. That doesn't mean I call out everybody who chooses a permissive license for their projects, but I may chose not to use their software if there's a copyleft-licensed alternative that I find better (or not much worse).
(2/3)
@bugaevc In my experience, the C language and good documentation is not something that comes well in the same sentence. Probably because I've seen so many scientific articles in the past years that claimed to have finally understood (through very heavy mathematical models) what the C standard meant by a particular word… and then to add that well-known compilers have different interpretations of this 😕 This is not directly related to these extensions, of course, but the C language itself is pretty ill-defined per se, which doesn't help extensions.
@lanodan This quote from Linus Torvalds sums it up:
"Nobody has the right to whine about another persons choice of license. You have a choice: use it or don't. Complaining about the license to the author isn't part of it."
All those GNU C extensions seem pretty well documented to me. Not that I'm developing a C compiler...
(3/3)