12 ms·
How much GNU is there in GNU/Linux?
- a3_nm 15y agoInteresting. I would be quite interested what the chart looks like if it is restricted to the packages that are part of the default install.
- pedrocr 15y agoThat should be an easy change. Do you happen to know how where to look up the list of default packages? I'd assume the percentage of GNU would go down as gcc and gdb are probably not in the default install. The interpretation is a little more dubious though as gcc and gdb are definitely used to produce the software in the default install.
- a3_nm 15y agoYou could look at a http://ftp-stud.hs-esslingen.de/pub/Mirrors/releases.ubuntu.com/natty/ubuntu-11.04-desktop-amd64.manifest http://ftp-stud.hs-esslingen.de/pub/Mirrors/releases.ubuntu.... or something of the kind.
- pedrocr 15y agoYep, I asked on IRC and apparently the livecd manifest is a good list to use. Stay tuned
- fragsworth 15y agoI don't quite think it makes sense to say that all of the software in a Ubuntu distribution should fall under the label of "GNU/Linux". Just because it runs on it doesn't mean it IS that thing. That said, it is somewhat interesting to see the proportion of software.
- masterzora 15y agoI'm not the author or the submitter, but it seems to me that this article is more or less in response to FSF's "We developed most of the central components, forming the largest single contribution to the whole system."[1] [1] http://www.gnu.org/gnu/gnu-linux-faq.html#why http://www.gnu.org/gnu/gnu-linux-faq.html#why
- pedrocr 15y agoI tried hard to avoid too much of that controversy getting in the way of looking at the data and overshadowing what I thought were more interesting conclusions. But I was of course aware of the naming controversy and it was part of why I had the curiosity to do the analysis in the first place.
- mkr-hn 15y agoI think it's more useful to look at the impact of a contribution. Apache, KDE, and GNOME are a bigger deal than GNU by that metric. But I also think it's a bad idea to try and put one over another when they all do their part.
- rwl 15y agoI don't know how you measure "impact," but this doesn't sound right to me. If you took away all the GNU code from a GNU/Linux system, my guess is that you would no longer have a working Unix system. I don't think that can be said of the other organizations you mention. And if you mean social impact, I think it would be hard to overstate the role of GNU in getting the free software movement going. Yes, there is an ecosystem of self-sustaining projects and organizations now; but I have my doubts whether any of that would be there without the initial efforts of GNU.
- mkr-hn 15y agoWhy does GNU need to be in the title? That's the purpose of the CREDITS file. No one is trying to diminish GNU's contribution.
- deleted 15y ago[deleted]
- ryanpetrich 15y agoLines of code is a poor way to measure contribution.
- cookiecaper 15y agoThe whole argument around the "GNU/Linux" terminology is that the FSF deserved part of the glory because they contributed the userspace to Linux's system code. I think the persistence of those pushing this point of view is a projection of their disappointment over Hurd and demands for subsequent glory "because we deserve it!" This is a really childish stance from the start. A kernel is of course useless without userspace. However, almost since its inception the percentage and importance of the GNU contribution has been steadily dwindling; in the course of a normal day, my wife, who is a KDE user, uses much more software provided by KDE e.V. than software provided by GNU/FSF. Should we call all of her Linux installs KDE/Linux?
- ryanpetrich 15y agoI make no statement on the "GNU/Linux" terminology, only the methodology of the article.
- Confusion 15y agoThat she 'uses more software provided by KDE' is an unsubstantiated claim that people make way to fast. Is it possible to build KDE without GNU tools? If not, every use of KDE is an indirect use of GNU tools. While running, how many times are glibc and related foundational components called? The problem of GNU tools is their invisibility. But by that metric (what users see), your wife should call the system KDE, since the kernel is entirely invisible to her. Surely no one here suggest dropping Linux as the appropriate name for the system? But if so, doesn't GNU deserve to be mentioned as well, for making Linux actually usable by things such as KDE? The foundation is Linux + GNU tools. Neither can do without the other, but nothing can do anything without the two of them. That's as foundational as you can get in a GNU/Linux system, which is why people call it that.
- maethorechannen 15y ago
- cookiecaper 15y agoFSF's insistence on "GNU/Linux" has always been childish, but now it's just silly really. For years the proportion of GNU software that actually gets run has been dwarfed by the code from Mozilla, KDE and/or GNOME, and other major desktop software vendors. The GNU/Linux argument has never been persuasive and I'd say it's high time they let it go.
- smackfu 15y agoJust makes sure you don't use the command line.
- rryan 15y agoAnd you make sure not to use a desktop environment, or a web browser, or an office suite, or a mail application, or a music player, or a ..
- cookiecaper 15y agoI use the command line a lot, but really, how big of a contribution is cat, ls, find, etc.? It's not like these are extremely complex or difficult programs; the GNU version is still the dominant one mainly because it works fine and it had momentum. I acknowledge that these have grown to be relatively advanced and it may not be an overnight job to rig up a replacement, and I appreciate the effort that has been put in to them by GNU developers, but it certainly wouldn't leave us desolate if we all had to stop using GNU code for some reason. There are non-GNU implementations of these programs already. Other than that, how much of my normal CLI usage is attributable to GNU? I'll give screen. What about OpenSSH, Python, htop, pacman, etc.? I use these a lot and they are not from GNU. If I am primarily running Python programs on my Linux box, should I call it Python/Linux since the Python Foundation is the most significant contributor to my userspace experience?
- adharmad 15y agoWhat about gcc?
- smackfu 15y agoI think when Other is the majority, it makes it less meaningful.
- pedrocr 15y agoThings in other are basically all individual projects. So they're not included in any overarching project or grouping. And I actually find that very interesting as it means that development is highly fragmented and distributions do an essential job in putting it all together.
- modokode 15y agoI think it makes more sense than ever to call the operating system "Other" instead. "So, what OS are you running?" "Debian Other on the laptop, Ubuntu Other at work" This would also make the usage polls more relevant. You usually have "Windows", "OS X" and "Other" in the results already.
- woodrow 15y agoSome friends of mine were working on a project to make a non-GNU linux distribution (well maybe not actually for distribution) just to see if they could: https://github.com/burke/non-gnu-linux/wiki https://github.com/burke/non-gnu-linux/wiki I don't think much has happened with it recently, but they were working to build the kernel with icc (the Intel C compiler).
- sdkmvx 15y agoPCC would probably be easier, and it is still open source. Although a BSD-userland Linux would be interesting, I think the GCC compiler has become so widespread that it is almost impossible not to use it (except for Windows, of course). Even the BSDs, which are thoroughly against copyleft licenses, use GCC.
- aaronblohowiak 15y agoLLVM built a working linux kernel 218 days ago. http://news.ycombinator.com/item?id=1832712 http://news.ycombinator.com/item?id=1832712 Why not just run FreeBSD?
- wazoox 15y agoEven FreeBSD comes with some GNU software (gcc, gdb and emacs at the very least).
- naner 15y agoThe kernel is pretty closely coupled to the GNU userland. stali[1] is trying to accomplish the same thing. I think they are using utilities/ibraries from OpenBSD. Not sure if they have a working system, though. 1: http://sta.li http://sta.li
- justincormack 15y agoAs of a few weeks ago, Gentoo-Bionic is up at https://gitorious.org/gentoo-bionic https://gitorious.org/gentoo-bionic which is as far as I know the first attempt at a Linux system built with a BSD licensed libc, Bionic being the Andoid libc. All the other glibc alternatives like uclibc tend to also be GPL licensed. Bionic is missing a fair amount of stuff, as it only has to run a limited subset on Android, but has enough to run much software.
- user911302966 15y agoI think that the GNU+Linux attribution is accurate and deserved. The author of this page thought it fair to use SLOC as his unit of measurement; I think that "fundamentality" is a far fairer unit. Anyone that thinks that "GNU" should be dropped from the "GNU/LINUX" should be using alternate cp, rm, ln, etc. Or just use NetBSD (do this anyway).
- forensic 15y agoThe biggest GNU contributions are gcc, gdb and emacs. Command line stuff is trivial. GNU made them for free first, but if they hadn't, someone else would have. The same cannot be said for gcc, gdb and emacs.
- evgen 15y ago> GNU made them for free first, but if they hadn't, someone else would have. Chnage that to "GNU re-packaged or re-wrote versions of utilities that had existed for quite a while in the BSD world, but if they hadn't, someone would have just used the BSD version" and you would be closer to reality. GCC is really the only lingering semi-dependency and as clang improves to the point where it takes fewer patches to build around GCC-specific bits of the kernel the remaining contributions will become nice to have but not essential.
- frodwith 15y agoIf the point is supposed to be "why insist on calling it GNU/Linux when xx% of it isn't even produced by GNU?", it's an ill-made point. Most of the userland (and certainly what we could call the "core" userland, especially in terms of development tools) is GNU software. The system would be pretty unusable libc, gcc, ld, make, etc.
- pedrocr 15y agoI tried hard to not make it about that but about the fragmentation of the sources of software in a modern distribution. But to your point, now with llvm we're increasingly at a point where libc, gcc, ld, make and many other gnu staples actually do have very competent replacements. As I pointed out in the post of any of the big gnu projects only gdb really has no replacement.
- mkr-hn 15y agoGNU's argument for why it deserves specific recognition over other equally and more significant contributions is uncompelling. Repeating it isn't going to make it more so.
- Locke1689 15y agoBSD libc and BSD make are pretty much drop in replacements for glibc and GNU make. LLVM is a drop-in replacement for gcc. It seems like it would be pretty straightforward to build a Linux userland without GNU.
- frodwith 15y agoMy point isn't that there aren't competent replacements. Obviously the BSDs in general have different userlands, as does Solaris, and so forth. But those things -are- the userland on a Linux system.
- nwmcsween 15y agoI don't think bsd libc supports linux specifics such as fanotify and such, the libc is usually tied to a kernel. (I haven't looked at bsd libc so I may be wrong)
- 46Bit 15y agoNo expert, but I always thought Ubuntu was probably the distro least likely to have a large % of GNU thanks to all the extra stuff that comes with it. Would be interested to see this for Debian or etc.
- phlyingpenguin 15y agoI think in terms of a standard desktop user's install, a Debian machine configured for usual use is not going to differ all that greatly from an Ubuntu machine. A server config forsaking much of the user-friendly stuff, maybe. I think my point there is that I don't think actual distribution "names" matter so much as what their intended purposes are for varying the "what" that is measured for this metric.
- deleted 15y ago[deleted]
- rwl 15y ago"I picked Ubuntu natty (released in April) as a reference, ... and am considering only the “main” repository, supposedly the core of the distribution, actually packaged by Ubuntu and not repackaged from Debian." I'm not sure I understand Ubuntu's "main," or what's "packaged by Ubuntu and not repackaged from Debian." Does this mean the author is not counting code that appears in both Debian and Ubuntu? Because I would expect a lot of that code to be GNU, and I would expect GNU code to make up a small proportion of the Ubuntu-only code. But that must not be what it means, right? I thought nearly all of Ubuntu's "main" was just repackaged from Debian, in which case the remainder would be a very strange sample to draw on.
- bxr 15y agoThe author is mistaken, as you point out there wouldn be nothing to look at (well, effectively nothing) if the code from debain was removed. Also the methodology is a bit suspect. The main non-free and contrib repositories are divided along GPL-compatibility lines, so just looking at main doesn't really paint a full picture.
- pedrocr 15y agoYou're thinking of Debian. Ubuntu doesn't have non-free or contrib.
- pedrocr 15y agoPretty much everything that is in Ubuntu is also in Debian. What Ubuntu "main" means is those packages are actually built by Ubuntu with their own patches and quality control. Wheres "universe" has everything that is not in main and is repackaged from debian to Ubuntu by the community without official support. The assumption is that the "main" archive is a fairer representation of the important stuff in the distribution than including "universe" as well. You actually have to manually enable universe on an Ubuntu install to be able to use it. See https://help.ubuntu.com/community/Repositories/Ubuntu https://help.ubuntu.com/community/Repositories/Ubuntu for more details
- rwl 15y ago
- veyron 15y agoWhy wasn't the kernel part separated from the support stuff? It would seem the correct division (based on article) is 6% kernel 3% kernel support (i guess it would fall in "other")
- pedrocr 15y agoThere's a line there somewhere. Clearly udev is very tightly linked to the kernel and it was built to replace devfs which was inside the kernel. On the other extreme maybe the filesystem programs (e.g., reiserfsprogs or xfsprogs) aren't as tight a coupling and would make sense outside. I put the split into the footnote to make that clearer.
- nwmcsween 15y agoThe author didn't consider the extensions gcc introduces? or all the userland gnuisms that Linux relies on? LOC is not a measurement of use.
- varjag 15y agoTry not installing glibc someday.
- simias 15y agoThere are viable alternatives. Debian for instance uses eglibc, which is LGPL but AFAIK not part of GNU. The BSDs use their own libc as well.
- MostAwesomeDude 15y agoProtip: eglibc is a fork of glibc, considers glibc an upstream, and communicates patches with glibc, requiring copyright reassignment for contributed code. This makes them roughly as GNU as glibc itself, which is maintained by a Redhat employee.
- lawfulfalafel 15y agoOkay, how about this: build a Linux distribution using no GNU software. If you don't think it's critical, try to get by without it. RMS is a good guy, and I think that his effort to make foundational efforts remembered is equally laudable.
- omouse 15y agoI wanted to say that Haiku OS has done it but then again...I'm sure they use some GNU code somewhere.
- maweaver 15y agoI think this would be very interesting to see. I know there is Plan 9 from User Space that could provide cat, ls, grep, sed, etc, although the parameters are different so most scripts would probably break. Someone mentioned Clang as an alternative to gcc. The biggest hurdle would probably be glibc. In reality, I think even if you came up with alternatives that had the same functionality as the GNU software, so many Linux programs have probably assumed GNU that patching everything to work would be a colossal undertaking.
- joeshaw 15y agoAndroid would probably be a pretty good starting place. They have (nearly?) no GNU code in their distributions.
- silentbicycle 15y agoYet another case of pie charts being a poor choice for presenting data. Besides, GNU mainly shows up because lines-of-code is the metric. If cat -v is considered harmful, what is cat --verbose? ;)
- deleted 15y ago[deleted]
- FlowerPower 15y agoLinesOfCode to determine how much "GNU" there is is like counting number of screws in a car to determine how much "car" it is. Without GCC to compile the kernel and all the other tools, there would be no kernel. A free open source compiler which has existed for decades now, and its competition, Clang, is it even stable yet?
- nitrogen 15y agoand its competition, Clang, is it even stable yet? Yes. Clang can compile the kernel. From http://clang.llvm.org/ http://clang.llvm.org/: Clang is considered to be a production quality C, Objective-C, C++ and Objective-C++ compiler when targeting X86-32, X86-64, and ARM
- ryannielsen 15y agoIs clang stable? Well, it can build the Linux kernel as of last October: http://lists.cs.uiuc.edu/pipermail/cfe-dev/2010-October/011711.html http://lists.cs.uiuc.edu/pipermail/cfe-dev/2010-October/0117... And, seeing as Clang is the default compiler in Xcode 4, and can also build FreeBSD[1], yes, I believe it's stable. [1] http://www.freebsd.org/news/status/report-2010-04-2010-06.html#Clang-Replacing-GCC-in-the-Base-System http://www.freebsd.org/news/status/report-2010-04-2010-06.ht...
- justincormack 15y agoIt still cant build a fully working out of the box Linux kernel for x86, eg no 16 bit early boot stuff, patches for various stuff, some things not working. It is stable though. Linux is just a hard target...
- ianloic 15y agoComparing the size of Ubuntu 'main' isn't interesting. A more thoughtful assessment would have examined what packages were installed & used rather than which ones existed. That data is really easy to find: http://popcon.ubuntu.com/ http://popcon.ubuntu.com/
- pedrocr 15y agoI do have that data and have been using it in these kinds of analysis. There are two big problems with it. The first is that it's not given out in any kind of time-series or by distro-version so some analysis are very hard to do (this one would work though). The second is that the data gathering is opt-in so the sample will have a bias, probably towards power users.
- moomin 15y agoI remember back in the early 90s, I often had the choice of using the local tools or the GNU tools. I went for the GNU versions every time: they were stable, predictable and worked the same everywhere I went. It felt like they'd built their own Unix then, despite the fact that Hurd was still not much more than some really ambitious design documents. My point is, I fully appreciate the importance of the GNU work to the development of free and open-source software, especially Linux. That said, I can't see that most of the arguments being put forward here make any sense. I mean, should everything compiled in gcc have a gnu prefix? (GNU/Google, anyone?)
- lgp171188 15y agoUbuntu doesn't even call itself Ubuntu Linux let alone Ubuntu GNU/Linux."Ubuntu is a fast, secure and easy-to-use operating system used by millions of people around the world."
- mareizio 15y agoHow much GNU is there in GNU/Linux?[...] [...]I picked Ubuntu natty as a reference[...] Ridiculous. If you want to give a minimum of credibility to the article, analyze other distros too!