Remix.run Logo
amszmidt 2 days ago

    > If Stallman had started with a kernel, there would be very few people who had the legal right to run any utilities or apps on the new kernel
That is really not true, one of the most important things when it comes to the GNU project and the whole Free Software movement is the ability to run _any_ program, be it non-free software or free software. This has been parroted for more than 40 years now ...
hollerith a day ago | parent [-]

That's true in isolation, but is missing vital context. In the 1980s a user of proprietary Unix usually had no way to make the ls utility or a C compiler or a text editor run on an new Unix-like kernel. And even if he had the technical means to do it, he probably did not have the legal right, i.e., it would have been a violation of copyright law.

In the Unix world, there was no tradition of binary compatibility: you couldn't just take a binary compiled for NeXTSTEP and run it on Solaris or on Linux: you needed to recompile, which means you needed a C compiler and the source code for the program you want to run, and most users of Unix in the 1980s didn't have a practical way to get the source code (and if he did have access to the source code, using to to port the program to a new kernel was probably a copyright violation). Stallman could have tried to start a tradition of binary compatibility in the Unix world. That is one of the strategies he could have chosen for the GNU project: i.e., he could have picked a proprietary Unix, Solaris, say, and make sure the kernel of his GNU system could run all (or most) binaries that run on Solaris. But that strategy ran the risk that the owner of Solaris might have sued to stop this and the courts might have sided with owner, requiring the GNU project to shut down, pay the owner (Sun) a lot of money or start over with some other strategy.

hollerith a day ago | parent [-]

(Replying to myself because it is too late to edit.)

I found a shorter reply to your comment, which I will now write:

>when it comes to the GNU project and the whole Free Software movement is the ability to run _any_ program, be it non-free software or free software.

Just because the GNU project allowed non-free software to run on GNU doesn't mean there existed in the 1980s a userland that would run on GNU if GNU had consisted of just a kernel (or just a kernel and a C library and a C compiler).