Usually I don't open my own site (and blog) for other posts than mine. But I received a request to do that. I read the post and found it quite interesting, and bringing a new insight about the recent controversies in Linux world.
So I opened this possibility and here the article is. It isn't my own, but I agree with several points showed here.
Helio
----
The New Mobile Scene and The Old Linux GNU/Linux Naming Controversy
Two Objectives and Four Conclusions
This document is licensed under the “Creative Commons – Attribution-ShareAlike 3.0”
Copyright (C) 2011
Some rights reserved.
Additional information can be found at:
http://creativecommons.org/licenses/by-sa/3.0/us/
Marcio Barbado, Jr. (marcio.barbado [AT] bdslabs.com.br)
Twitter https://twitter.com/mbjunior
Contents
1- Introduction
1.1- Why was RMS imprecise/incomplete?
1.2- Why was RMS incoherent?
2- PoC
3- Conclusions
4- Final remarks
5- References
1- Introduction
"... My name's Pitt, and yo ass ain't talkin' your way outta this shit!..." [1] [2]
Poor rhetoric attempts as the one used to fool Jules (Samuel L. Jackson) in that grand Pulp Fiction movie are not going to work [1] [2]. It is time for contraposition, and refining concepts. Someone has to do this dirty job.
There is this great barrier from the FOSS community in resuming this unresolved issue. Now, mobile technologies' evolution brought the subject back. Google's Android, specifically, which is held as one great success case, derived from the 20-year-old Linux kernel.
Present writer was described by colleagues as "obsessed", simply because of this need for bringing to light an issue that deserves review, in the face of one renewed technological scene.
Firstly, it is important to mention this text's author sees the Free Software Foundation as one of the world's most respectable institutions. Thus, the content herein intends not to attack the GNU Project. Rather, going deeper into the old "Linux GNU/Linux naming controversy" — this time with new parameters, are necessary as a means to safely reach 2 main objectives:
i- to seek an unbiased and universal term to use with Linux kernel based systems
("whole systems" in general); and
ii- to briefly analyze Google, into the FOSS scene
(including the referred corporation's strategy to use FOSS and make money).
The reflection exposed in these lines seeks unbiased answers, and by the end, 4 new important conclusions are presented to the reader.
Then let this arguing start by remembering some FOSS community members claim one should not use the "GNU/Linux" term, the same way "Windows NT" is not used for recent Windows' versions. That is merely a proprietary-case analogy, not a real argument.
Groups supposedly for the "GNU/Linux" name strangely classify debates on this matter as a mere waste of time.
However, linguistics matters as it conducts and exposes thoughts and impressions for some given historical moments, and thus, it not only documents history, but it helps in understanding the present for a sensible progress. In this sense, great importance should be given to the referred naming dispute's dynamics.
Asked whether one should always make use of the GNU/Linux term, Richard Stallman states as a generic rule:
"... Not always — only when you're talking about the whole system. When you're referring specifically to the kernel, you should call it “Linux”, the name its developer chose.
When people call the whole system “Linux”, as a consequence they call the whole system by the same name as the kernel. This causes many kinds of confusion, because only experts can tell whether a statement is about the kernel or the whole system. By calling the whole system “GNU/Linux”, and calling the kernel “Linux”, you avoid the ambiguity..." [3]
It would be impossible to start any kind of analysis without commenting the second paragraph, which assumes an absolute imbecility reigns in the human mind, reducing us to such a retarded condition, we would never be able to provide a clarification on a given conversation, like: "Linux, the kernel" or "Linux, the system".
Now note the alleged confusion could be easily resolved. And of course, an "expert" would not be needed to achieve such. That, if RMS was not just playing with the word “experts”. Even the average Joes are not “hosts”, whose operating systems require name servers and aliases to get better working results. Humans achieve amazing solutions in dialoguing.
And back to Mr. Stallman’s answer’s 1st part. Basically, a kernel is one significant operating system’s component, for it makes possible communication between hardware and applications. Therefore, the Linux kernel takes responsibility for instance in brokering “communications” between web browser and networking hardware on a Linux-based operating system.
As a matter of fact, just like the UNIX kernel, being a traditional monolithic kernel, the Linux one is already an operating system. It concentrates so many “mediation responsibilities” (system calls and etc) [4].
And Richard Stallman, who likes not monolithic architectures (as one can infer from Hurd’s [5]), has stated an official answer leading to misinterpretation for it is imprecise/incomplete and incoherent [3].
1.1- Why was RMS imprecise/incomplete?
Mr Stallman's words make it seems that every operating system based on the Linux kernel should be called a GNU/Linux system. There is not a clear explanation as to the need for GNU applications' support, which does constitute a prerequisite for what he wants.
Lastly, RMS should have clarified his statement was based on the fact that, since the early 90s, Linux kernel itself has been mostly compiled with GCC, one very important program, maintained by the GNU Project [6]. But GCC's use in compiling the kernel, which had already reached its “3.x” releases series [7] [8], is not a rule today. Take LinuxDNA for instance, which is compiled with Intel’s ICC, a compiler regarded as a superior performance tool when compared to GCC in compiling the Linux kernel [9] [10] [11].
1.2- Why was RMS incoherent?
The argumentation used by RMS gets much more nebulous and contradictory when considering the inconsistencies observed in his answer to an Android related question:
"... There are systems that contain Linux and not GNU; Android is an example. Android is very different from the GNU/Linux system — because it doesn't contain GNU, only Linux. In effect, it's a totally different system. If you think of the whole system as “Linux”, you find it necessary to say things like, “Android contains Linux, but it isn't Linux, because it doesn't have the usual Linux [sic] libraries and utilities [meaning the GNU system].” Android contains just as much of Linux as GNU/Linux does. What it doesn't have is GNU...." [12]
Basically, RMS performs a linguistic “deadlock”, such is the response’s confusion, using — among all that "poetical" construction, the "[sic]" adverb in something created by himself.
But wait, there is more.
When asked about the importance of his preferred terminology, Stallman writes:
“... Although the developers of Linux, the kernel, are contributing to the free software community, many of them do not care about freedom. People who think the whole system is Linux tend to get confused and assign to those developers a role in the history of our community which they did not actually play. Then they give inordinate weight to those developers' views...” [13]
To start with, had Stallman any respect for his own terminology, it would be needless to write “Linux, the kernel” — which by the way is exactly what this text recommends, since he says the word Linux, alone, should refer to the kernel, uniquely. The “preacher” does not practice his doctrine for he clearly understands the inconsistency he would incur. Moreover, even by disregarding that, if RMS was correct, he would also be a bit partial.
Note that if a supposed and lopsided historical debt would be the pillar for such insistence on language error, that is, using the GNU/Linux term whatsoever the context, one could always remember that GCC for instance, should be called EGCS/GCC because it would be important to exhibit in an explicit manner the beneficial influence brought by the EGCS (pronounced “eggs”) experiment into GNU’s notorious compiler’s development [14].
However, by the time it bowed to EGCS in 1999, GCC changed its name, without initials changing. The “GNU C Compiler” name became “GNU Compiler Collection”, and no direct reference to EGCS was ever given.
2- PoC
Let's try to apply the referred Stallman's "rule" [3] to Google's Android "whole system", which is built upon the Linux kernel [15].
By removing Android's kernel, which, by the way, is compiled with this Bionic software, not GCC [16], there is nothing but not-GPL-licensed code.
No support to GNU Project's main libraries such as the GNU C Library (glibc) [17], containing standard C libraries. Not even the alternative uClibc was used.
In fact, the Bionic libc was developed because there was this necessity for a BSD licensed C library [16].
As a result, the "rule" fails because Stallman's statement is too generic.
It fails with one of the most prominent projects built upon the Linux kernel.
3- Conclusions
Stressing that this text wants not to awaken the wrath of those Free Software Foundation's "enthusiastic parrots" (I mean those hallucinated kids who just repeat everything they hear and read from the FSF) — a minority in there, for good, it is clear one is not that "free" with Google's Android OS, and using the "GNU/Linux" term for it, following the referred generic rule, would be a gross error.
Notwithstanding, the following conclusions are completely unbiased, and prove that Richard Stallman's official statements on the controversy are inaccurate and incoherent [3] [12]. A conceptual “update” is needed.
Conclusion i
Free as in jail. Android is NOT a GNU/Linux OS but a Linux OS, or a Google/Linux OS. And some like to call it an Android/Linux OS. And above their concerns with "fragmentation" — which would already attack Freedom number 3 (the forking freedom), Google is now making this move towards BSD licensing in their C libraries to Android.
The kernel they use is not even compiled with GCC [16], the main GNU program according to Linus Torvalds [18].
Conclusion ii
By using the "Linux" term — even for "whole systems", one is NEVER gonna go wrong. It's a universal categorization. But in case one decides to use GNU/Linux with nowadays most successful Linux kernel's derived project (Android), he is certainly gonna go wrong.
In fact, more than a mistake, that categorization would be unfair with the ideals within GNU/Linux systems.
Conclusion iii
It is interesting to study how Google make money with FOSS, besides, obviously, with workforce’s exploitation. As any genuine corporation, they seek profits, not FOSS activism. And seeing them as FOSS fighters is one appalling demonstration of naivety.
Conclusion iv
Just because one does not say "GNU/Linux" as a rule for "whole systems", it doesn't mean he does not know or respect the GNU Project, which, in turn, urgently need to update their philosophy, taking corporations’ moves into account.
And Stallman is an excellent and respectable leader, not a prophet, as "computer science" refers to something fairly noticeable in the name itself: science; it does not refer to religion.
4- Final remarks
This material is also the result of social interactions achieved on the "Identi.ca" microblogging service between MAY 22nd and 23rd, 2011.
Interestingly, on JUNE 1st, 2011, nine days after the referred interactions, this respected Brazilian FOSS activist, Alexandre Oliva, who’s on “Identi.ca” as well, wrote a few lines on the naming controversy [19].
Alexandre is sort of a sub-celebrity. He attends most of tech events in Brazil — one diligent man. And as a member of “FSF Latin America” [20], of course he argued in favor of his “prophet”.
Good parrot, a respected one. He used his text to sickeningly repeat Stallman. Worst: either caused by a topsy-turvy dialectical insight or by a desperate attempt in gaining recognition, referred psittacine — terribly indoctrinated, enhances his mumbo-jumbo citing reference “[6]” (which had also been through “Identi.ca”) as a support for his arguing, insisting upon a 20-year-old deprecated context, ignoring all of the historical and technological unfoldings mentioned here.
As a reference within Brazilian free software community, he somewhat constitutes an evidence of referred country's difficulty in promoting and coordinating legitimate local movements.
Formulating original proposals based upon local reality may sound like a no-brainer platitude to some foreign social circles, but there seems to be this sense of inferiority amongst Brazilians, a psychological barrier once called “the mongrel complex”. Lack of identity may actually be referred people's identity after all. Many of our exponents — even capable of combating local blemishes, adhere to elsewhere causes in a subservient way.
Oliva is a computing guru himself but chooses intellectual cowardice as a refuge. Owning ability to publicly inquire Stallman, he opts to unconditional obedience, this way gaining position and honorable mentions. Employee of the month politics, properly fed egos, subordinates under control.
Mentioned situation keeps computing community away from critical thought. If point is straight repetition, we already got CTRL+C CTRL+V, recorders and Psittaciformes.
It resembles mathematics. There is a rule. One finds some exception case(s), and all of a sudden, there's no rule anymore. Meaning that computer science is not like sports games, and enthusiastic postures may hamper its complete understanding.
So, this text expresses the results of a quest for the least biased and most universal term to use with Linux kernel derivatives. Android's detestable case shows this is "Linux".
"... And I will strike down upon thee with great vengeance and furious anger, those who attempt to poison and destroy my brothers!..." [1] [2]
5- References
[1] Pulp Fiction (1994) – IMDb:
http://www.imdb.com/title/tt0110912/
[2] Pulp Fiction - Ezekiel 25:17
[3] Should we always say “GNU/Linux” instead of “Linux”?
http://www.gnu.org/gnu/gnu-linux-faq.html#always
[4] Modern Operating Systems / Andrew S. Tanenbaum
[5] GNU Hurd:
http://www.gnu.org/software/hurd/
[6] Notes for linux release 0.01:
http://www.kernel.org/pub/linux/kernel/Historic/old-versions/RELNOTES-0.01
[7] Linux Kernel Mailing List - Re: (Short?) merge window reminder:
https://lkml.org/lkml/2011/5/23/405
[8] 3.0-rc1 log:
http://www.kernel.org/pub/linux/kernel/v3.0/testing/ChangeLog-3.0-rc1
[9] LinuxDNA:
http://www.linuxdna.com/
[10] LinuxDNA Supercharges Linux with the Intel C/C++ Compiler:
http://www.linuxjournal.com/content/linuxdna-supercharges-linux-intel-cc-compiler
[11] Intel’s compilers and libraries:
http://software.intel.com/en-us/articles/intel-compilers/
[12] Can't there be Linux systems without GNU?
http://www.gnu.org/gnu/gnu-linux-faq.html#justlinux
[13] Why is the name important?
http://www.gnu.org/gnu/gnu-linux-faq.html#whycare
[14] History – GCC:
http://gcc.gnu.org/wiki/History
[15] Android's kernel patches:
http://android.git.kernel.org/
[16] Patrick Brady dissects Android:
http://www.zdnet.com/blog/burnette/patrick-brady-dissects-android/584
[17] GNU C Library:
http://www.gnu.org/software/libc/
[18] Linus Torvalds on GNU/Linux:
[19] GNU and Linux grew together and supported each other!
http://lwn.net/Articles/445646/
[20] Alexandre Oliva:
http://www.fsfla.org/~lxoliva/