Why isn't Linux embraced as the official GNU kernel?

While I knew for quite some time the existence of Hurd, and its mission as the official GNU Operating System kernel, I was wondering how come Linux is not embraced as the official GNU kernel over the years, seeing as it is in a much better state than the Hurd?

Linux has been, more or less, serving this role 20+ years so far, however one can see that the GNU Project is keeping its distance when it comes to Linux. Why is this happening? Is it because of a dream that Hurd will (at some point in the future) be in a production quality level? Is it because the GNU project doesn’t see its mission reflected as much as it wants in Linux? Is it for other political reasons?

Asked By: NlightNFotis

||

GNU will not adopt something as a project unless the developers agree to certain stipulations which bind all official GNU projects.

Currently the Linux kernel probably does not fit these restrictions, and there is nothing for Linus Torvalds, kernel.org, et al. to gain from placing themselves under the GNU umbrella, and a lot to lose — the aforementioned binding agreement, and the public perception that the kernel is now a GNU project, which would have a mostly negative impact. GNU’s parent organization, the Free Software Foundation (FSF), is a political organization and Torvalds has made various public criticisms of it and the somewhat controversial, iconoclastic lifetime leader/founder of GNU and the FSF, Richard M. Stallman.

Further, the Linux kernel does not require the GNU userspace any more than the GNU userspace requires the Linux kernel. This independence should be considered a good thing by the basic principles of software engineering, which favour modularity and looser coupling as opposed to the opposite (monolithic things with tight coupling).

Another point against this idea is that while HURD may not be of interest to as many people as Linux, the developers and users of HURD may object to having their project effectively dustbinned in a popularity contest. And good for them; “competition” of this sort is a positive thing, whereas bowing to monopolization is not — you end up with massive entities that stifle creativity in part because they are prone to monolithic/meglomaniacal control. The Linux Foundation already is an independent organization, it might as well stay that way.

Answered By: goldilocks

There is much documentation and discussion on this on the net.

The short answer that there are deep ideological differences between the GNU project and the Linux kernel projects, which gets in the way of a possible unification.

The focus of the FSF, the organization behind the GNU Project, is on ideological purity with respect to the idea of free software. This largely takes its lead from the views of the FSF/GNU founder, Richard Stallman. Additionally, as goldilocks has mentioned, the FSF is now mostly a political advocacy organization. For a long time now, the FSF has not put significant resources into the GNU Project, though they do provide support infrastructure.

The Linux kernel project has a much more pragmatic stance on software freedom, again to a large extent stemming from its founder, Linus Torvalds. The Linux kernel project is primarily a free software project, consisting of software developers specializing in kernel/OS development, and in no respect a political advocacy organization.

As specific examples of how these ideologies play out in practice, consider

1) That Stallman considers as unacceptable the fact that the Debian project “advertises” non-free software by maintaining the non-free portion of its software archive. This is ironic, since the Debian project has a focus on software freedom that is quite similar to the FSF, while not so ideologically rigid.

2) That the Linux kernel allows (non-free) binary kernel modules to be used with the kernel. While the kernel developers are not enthusiastic about this, they do tolerate it, but it is hard to imagine the FSF doing so.

It is also worth noting that Stallman’s attempt to name the operating systems based on the Linux kernel as GNU/Linux has probably not improved relations between the FSF and the Linux kernel community, though I have no specific data about this.

Aside from anything else, as goldilocks mentions, the FSF has various rules that a GNU project must conform to. This includes copyright assignment of all code to the FSF. This would all by itself be a deal breaker, since Linus Torvalds has never required such copyright assignment. Therefore, if the Linux kernel were to become part of the GNU project, all significant contributions to the Linux kernel would have to have their copyright assigned to the FSF. Given the age and size of the project, and the number of contributors, this is basically impossible. Far smaller and younger projects (e.g. Mercurial) have found software relicensing a daunting task.

Please note that this answer is in no way intended as criticism of either the FSF or the Linux kernel developers. Both sides have their own valid viewpoints. However, the reality of the situation is that they are to some extent incompatible viewpoints.

Answered By: Faheem Mitha

I am quoting a comment by Richard Stallman, regarding the decision to roll with the Hurd rather than Linux.

People sometimes ask, “Why did the FSF develop a new free kernel
instead of using Linux?” It’s a reasonable question. The answer,
briefly, is that that is not the question we faced.

When we started developing the Hurd in 1990, the question facing us
was, “How can we get a free kernel for the GNU system?” There was no
free Unix-like kernel then, and we knew of no other plan to write one.
The only way we could expect to have a free kernel was to write it
ourselves. So we started.

We heard about Linux after its release. At that time, the question
facing us was, “Should we cancel the Hurd project and use Linux
instead?”

We heard that Linux was not at all portable (this may not be true
today, but that’s what we heard then). And we heard that Linux was
architecturally on a par with the Unix kernel; our work was leading to
something much more powerful.

Given the years of work we had already put into the Hurd, we decided
to finish it rather than throw them away.

If we did face the question that people ask—if Linux were already
available, and we were considering whether to start writing another
kernel—we would not do it. Instead we would choose another project,
something to do a job that no existing free software can do.

But we did start the Hurd, back then, and now we have made it work. We
hope its superior architecture will make free operating systems more
powerful.

Answered By: NlightNFotis

I’m just adding my 2 cent here, I think that what it’s been discussed at this point makes a lot of sense but there is one major aspect that I think can really polarize the GNU foundation and it’s the fact that Linux is becoming more and more a place where large corporates are investing real money and time, the idea that linux is kind of an home-made project it’s not true, not even a bit, maybe there is some random guy trying to get attention on the scene while giving a patch away, but for the large part linux it’s a job for corporations.

Answered By: user2384250

Another explanation found on the FAQ of gnu.org:

Making the GNU Hurd work well enough to compete with Linux would be a
big job, and it’s not clearly necessary. The only thing ethically
wrong with Linux as a kernel is its inclusion of firmware “blobs”; the
best fix for that problem is developing free replacement for the
blobs
.

Answered By: The Quark

In simple words. The main reason is privacy concerns and licensing issue.

Explanation:
Privacy concerns are caused by the proprietary BLOBS (majorly device drivers). The philosophy laid by FSF says:

Proprietary software nowadays is often malware because the developers’ power corrupts them. That directory lists around 450 different malicious functionalities (as of January, 2020), but it is surely just the tip of the iceberg. (https://www.gnu.org/philosophy/free-software-even-more-important.html)

Furthermore, the proprietary BLOBS contradicts with the core philosophy laid by FSF for a complete GNU system that is:

When we call software “free,” we mean that it respects the users’ essential freedoms: the freedom to run it, to study and change it, and to redistribute copies with or without changes. (https://www.gnu.org/philosophy/open-source-misses-the-point.html)

Lastly, for licensing and legal matters GNU/Linux is released through GPLv2, which allows a lot of control to the vendors. While my best guess is FSF would require it to be released as GPLv3 giving the user more control.

Answered By: Abdullah
Categories: Answers Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.