Yeah, I can't argue with anything you said there, a lot of it is placebo tweaking... again, my primary reasons for Gentoo are high customizability and a FreeBSD-likeness I consider important (it's hard to go back to Windows-like distros after extensive BSD usage).
I don't think USE (except mmx/sse/3dnow flags) is meant to improve performance anyway, just streamline compilation and installation, and often options. It's a very good idea and is implemented very well. If you use Gentoo for nothing else, then for USE.
Performance seems to thrash FreeBSD (-STABLE and especially -CURRENT alike) for my desktop purposes, responsiveness is just unparalleled. Even Firefox starts in 0.5-1 second/s, a real achievement. In FreeBSD it would take a few seconds the first time then a second or two (on my best machine) subsequently. Armagetron appears to find exotic ways to mess up on my NVidia cards under Linux but properly under FreeBSD, but this might just be the evil NVidia driver. Boot times are good, a bit behind FreeBSD because journalled filesystems (I'm a ReiserFS worshipper) take more work, but are worth it for the fault tolerance. I hated losing and corrupting files in UFS, even with SoftUpdates.
One thing though, not really Gentoo so much as Linux itself, is that I have been finding ways in which a sufficiently broken client-side kernel can, without any more permission than an ability to send packets, confuse a server machine. I booted from a Gentoo LiveCD and pinging my gateway made its network interface ignore all packets for a minute or so, even from perfectly valid machines. This made NFS sessions drop out for a bit, luckily without any actual harm. This from gentoo-dev-sources which is meant to be a ridiculously robust kernel.
You're mostly right there, including humor. A lot of users who don't take open source software seriously and see it as "l33t" and use it to get respect from other newbies, sooner or later, end up using Gentoo, and sticking with it for hype value. Now, I use it on all my machines (even production), but more because it is easy to manage (long maybe, but not long enough to complain; even on my 1Ghz P3 gateway it took barely a few hours to get the system up to a full server), and also because of its design roots in BSDs which I love (which, yes, are falling back in standards).
Gentoo's second largest problem, in my opinion, is that you can either have stable and old or unstable (well, not really, rather uncompilable since it hasn't been molded to fit the rest of the portage tree yet) and new. Portage does allow you to override this per-package which works well enough, but is still tedious. The confusion of downgrades being upgrades under certain circumstances (when something gets masked 'tested' then back to 'untested' once it sets a few houses on fire) isn't that bad, either.
The largest problem is very clearly the LiveCDs. I have only ever had luck with 2004.0, with 2004.1 either not booting at all or finding new and exciting ways to misuse my very standard hardware. I'm not even going to try using 2004.2's LiveCD. Hell, all you need is any LiveCD or existing distribution, and find the stage* tarball for whatever is the latest and greatest, then pull that down and unpack it.
What is this about Xorg/Xfree being the default? There is no 'default' in a system that gives you a bare toolkit from which you can install. Even the most current portage tree appears to select xfree as a dependency if you lack X libraries, so you have to emerge xorg-x11 before any GUI-interested applications else you'll end up with XFree. Not that 90% of the user base will really care anyway.
Performance though, very few applications will show a visible performance difference between -O2 and -O3, or even -O1 and -O2, but -O1 over -O0 has almost always doubled code speed in the little synthetic tests I've done (by cycling real-world functional code over and over). As for instruction sets, pfft, only hand-coding in assembly is a proper method of using MMX and SSE, with the automated rubbish GCC creates being not much faster than portable i386 code. Of course if you're going to compile you may as well do it for your processor, just for that little 10% or so you might get in a synthetic bench.
What I find is that compilation under Gentoo, for some reason, always seems to take a very long time for anything (comparing with FreeBSD, even -CURRENT). However, the end result is that the software is visibly faster. This is almost certainly just be the glory of Linux 2.6 with ReiserFS and yadda yadda, but it's still there.
As for the idea of a system that patches and configures software for your needs (as per USE), that's very hard to disrespect. Even FreeBSD Ports with its extensive and very messy (coming from a BSD lover, too) makefile-specific options comes nowhere near. The idea of 'untested' packages is only sensible because so often new imports are broken and incompatible with other software, especially things that go in the base system. If they had a true base source tree like the BSDs do and maintained it properly, this wouldn't be a problem, but then it would also be a pain for developers to maintain.
Summary: good system, but often a pain to make work at all. When it works it works well, when it doesn't work you just want to install Debian or FreeBSD.
Should probably remember that HTML-formatted posts on slashdot need explicit line breaks:)
I just don't like to see a handfull of users (who, come on, we all know run Linux anyway) post the same crap on Slashdot flaming a series of projects that have a lot more hard work and engineering than anything they've ever used. If Linux was taken seriously by its own developers, they might at least document it.
One new Linux kernels, the new option for 'register arguments', is/was (not sure about current state) documented as (from memory, not actual text) "Saying 'Y' here turns on register arguments. Saying 'N' here turns off register arguments."
What the hell is that? What kind of developer can write a hack on top of a kernel to do something or other completely unheardof, and document it so blantantly obviously and uninformatively that you may as well not document it at all?
This is why I don't take Linux seriously. There are lots of options and tweaks, most of which are badly documented, others which are completely useless, and many which should never be tweaked/changed at all. This is not a direct threat to the software quality (on the other hand, 2.6's scalability of algorithms caught up to and at one point exceeded FreeBSD's, not sure how that is now) but does say a lot about the developers' attitudes. They care more about supporting the maximum number of new hacks and features, no matter how potentially dangerous or just plain useless, but they seem not to care about the consistency and composure of the project. FreeBSD's developer politics may be too tight nowadays, but at least it means everything is very thoroughly documented in every release, and progress pages are updated to reflect, obviously, progress. And yes, progress means it's neither dead nor dying.
Saying ekkoBSD's death is a "crippling bombshell" to the entire BSD community is analogous to saying that the burger some McDonalds patron dropped while walking home is a "crippling bombshell" to McDonalds itself. Nonsense.
FreeBSD 5-CURRENT is steadily approaching a good level of stability, after which it will be a Linux-killer for most desktop and some server applications. NetBSD has been and always will be the best operating system for portability, and the 2 branch is making admirable progress into modern standards and functionality while retaining amazing stability and cleanliness. OpenBSD had some scalability issues which are resolved, and now is making way into modern SMP and other useful applications. DragonFlyBSD is making astonishing progress given its currently small (but talented and enthusiasatic) developer base, and is already very close to being a viable alternative to FreeBSD for those who want something different.
None of the BSDs are 'dead'. Their developer bases are largely comprised of people who focus on their Operating System (yes, technical note, all BSDs are entire Operating Systems, unlike Linux which is a toy kernel often accompanied by a user space tool chain you can run anywhere, and some hackish utilities for interfacing with the kernel), not on how many file systems they can add barely-working support for, how many undocumented kernel options they can hack on without anyone's understanding, and how many tshirts they can sell for market saturation. Linux developers lost their goal as well, what began as a valiant and successful (even if more via media coverage than technical merit, as benchmarks of even 2.4 will show) development effort of a kernel from scratch, has become an orgy of random features, some to directly oppose Windows development, some for performance [on one machine in the world, with all else being much worse off], some for 'l33t points' which amount to nothing in the real world... look at all the different patch sets for the different versions of the Linux kernel, and it's hard to respect the project at all. Some of these will get integrated if they get enough hype, some will die away, some will set your machine on fire (or in my case of trying 2.6.7-mm6, completely misuse your standard 3Com 905B network adapter, which works in any other kernel).
Most of the negative slander BSD gets is the few Linux-using trolls on Slashdot who post the same terrifyingly misinformed crap, many as Anonymous Coward. "NetCraft confirms: BSD is dying", and yet NetCraft servers run FreeBSD? Do your homework people. BSD is not dying. Neither is Windows, since even that has some place in the world, believe it or not. Linux is not a magic bullet. It is and, by design, always will be a curious project to see what features can be hacked on to a bootable kernel. It is not an Operating System. It only survives from amazing marketting and corporate sponsorship, the two being mutually sustainant.
The most interesting aspect of all of this is how most BSD-haters have never actually properly used and administered a BSD machine (may as well be FreeBSD since that is ahead in ease-of-use and Linux-killing power). Most BSD users won't bother slandering Linux, but for once I'd like to. I've used it lots, watched the transition from 2.4 to 2.6 and so on, and at no stage did I consider it a work of art. The transition to FreeBSD was an utter bliss of administrative elegance and system design, to the point I never looked back [except to test emerging Linux kernel versions against FreeBSD-CURRENT, with Linux never being impressive].
Say what you want about the brilliance of Gentoo's Portage (based on the design of FreeBSD Ports and NetBSD pkgsrc, lest you forget), it is not Linux itself. Type up lengthly propaganda involving Linux' amazing growth in corporate and governmental applications, it only provides more evidence of globalisation at work, even if of free software. Post the same "BSD is dead" article over and over on/. with the kind of blind propaganda that would make a preacher blush, a
Of course it's all about choice. I haven't been in the Linux scene for a while, and I passionately advise against using any commercial-like distributions, but for my FreeBSD machines...
I install the bare minimum distribution (just bin and crypto, really), mount/usr/src over NFS from an up-to-date machine already with -STABLE, build that, and pile ports on top of it. I don't use the XFree86-4 metaport (which comes with crap few will need), I just install the separate bits. As for window management and desktop environments, WindowMaker to start with, but I install xfce4 later and use that. The overhead of xfce is well worth its functional pager:)
But as for bloating, it's really hard to say. Firefox under Windows goes by like greased lightning, but under any Nix it is *relatively* slow. Opera on the other hand is fast anywhere, even using the evil Qt framework! Why? I have no idea. Some portable software is better than other portable software, largely because some have portability as an afterthought and don't take full advantage of the possibilities that native POSIX conformance could offer. ELinks and friends are disturbingly fast and lightweight, and technically support all the same language, just don't render the images.
But browsers are my only gripe, really. OpenOffice (even the i386 binary package) is very responsive and fast to start, most GUI apps aren't so bad there too. Under -CURRENT I can use my laptop's HTT properly (ULE+KSE=pwnage anyday) so I have pretty snappy start and operation on even Firefox while the other 'half' of the processor is compiling something chronic. I haven't tried under Gentoo Linux but that might be faster, or it might not. Mandrake, Fedora, etc. are right out.
Summary: It's bloated if you make it bloated. Some things are bloated for no reason, some things work better on old hardware than new hardware even with the same operating system and all. Someday somebody might figure it out, but until then let's be happy we nix users don't have to endure click-n-drool system administration (my real reason for not using Windows - too much monotonous clicking).
Yeah, I can't argue with anything you said there, a lot of it is placebo tweaking... again, my primary reasons for Gentoo are high customizability and a FreeBSD-likeness I consider important (it's hard to go back to Windows-like distros after extensive BSD usage).
I don't think USE (except mmx/sse/3dnow flags) is meant to improve performance anyway, just streamline compilation and installation, and often options. It's a very good idea and is implemented very well. If you use Gentoo for nothing else, then for USE.
Performance seems to thrash FreeBSD (-STABLE and especially -CURRENT alike) for my desktop purposes, responsiveness is just unparalleled. Even Firefox starts in 0.5-1 second/s, a real achievement. In FreeBSD it would take a few seconds the first time then a second or two (on my best machine) subsequently. Armagetron appears to find exotic ways to mess up on my NVidia cards under Linux but properly under FreeBSD, but this might just be the evil NVidia driver. Boot times are good, a bit behind FreeBSD because journalled filesystems (I'm a ReiserFS worshipper) take more work, but are worth it for the fault tolerance. I hated losing and corrupting files in UFS, even with SoftUpdates.
One thing though, not really Gentoo so much as Linux itself, is that I have been finding ways in which a sufficiently broken client-side kernel can, without any more permission than an ability to send packets, confuse a server machine. I booted from a Gentoo LiveCD and pinging my gateway made its network interface ignore all packets for a minute or so, even from perfectly valid machines. This made NFS sessions drop out for a bit, luckily without any actual harm. This from gentoo-dev-sources which is meant to be a ridiculously robust kernel.
You're mostly right there, including humor. A lot of users who don't take open source software seriously and see it as "l33t" and use it to get respect from other newbies, sooner or later, end up using Gentoo, and sticking with it for hype value. Now, I use it on all my machines (even production), but more because it is easy to manage (long maybe, but not long enough to complain; even on my 1Ghz P3 gateway it took barely a few hours to get the system up to a full server), and also because of its design roots in BSDs which I love (which, yes, are falling back in standards).
Gentoo's second largest problem, in my opinion, is that you can either have stable and old or unstable (well, not really, rather uncompilable since it hasn't been molded to fit the rest of the portage tree yet) and new. Portage does allow you to override this per-package which works well enough, but is still tedious. The confusion of downgrades being upgrades under certain circumstances (when something gets masked 'tested' then back to 'untested' once it sets a few houses on fire) isn't that bad, either.
The largest problem is very clearly the LiveCDs. I have only ever had luck with 2004.0, with 2004.1 either not booting at all or finding new and exciting ways to misuse my very standard hardware. I'm not even going to try using 2004.2's LiveCD. Hell, all you need is any LiveCD or existing distribution, and find the stage* tarball for whatever is the latest and greatest, then pull that down and unpack it.
What is this about Xorg/Xfree being the default? There is no 'default' in a system that gives you a bare toolkit from which you can install. Even the most current portage tree appears to select xfree as a dependency if you lack X libraries, so you have to emerge xorg-x11 before any GUI-interested applications else you'll end up with XFree. Not that 90% of the user base will really care anyway.
Performance though, very few applications will show a visible performance difference between -O2 and -O3, or even -O1 and -O2, but -O1 over -O0 has almost always doubled code speed in the little synthetic tests I've done (by cycling real-world functional code over and over). As for instruction sets, pfft, only hand-coding in assembly is a proper method of using MMX and SSE, with the automated rubbish GCC creates being not much faster than portable i386 code. Of course if you're going to compile you may as well do it for your processor, just for that little 10% or so you might get in a synthetic bench.
What I find is that compilation under Gentoo, for some reason, always seems to take a very long time for anything (comparing with FreeBSD, even -CURRENT). However, the end result is that the software is visibly faster. This is almost certainly just be the glory of Linux 2.6 with ReiserFS and yadda yadda, but it's still there.
As for the idea of a system that patches and configures software for your needs (as per USE), that's very hard to disrespect. Even FreeBSD Ports with its extensive and very messy (coming from a BSD lover, too) makefile-specific options comes nowhere near. The idea of 'untested' packages is only sensible because so often new imports are broken and incompatible with other software, especially things that go in the base system. If they had a true base source tree like the BSDs do and maintained it properly, this wouldn't be a problem, but then it would also be a pain for developers to maintain.
Summary: good system, but often a pain to make work at all. When it works it works well, when it doesn't work you just want to install Debian or FreeBSD.
Should probably remember that HTML-formatted posts on slashdot need explicit line breaks :)
I just don't like to see a handfull of users (who, come on, we all know run Linux anyway) post the same crap on Slashdot flaming a series of projects that have a lot more hard work and engineering than anything they've ever used. If Linux was taken seriously by its own developers, they might at least document it.
One new Linux kernels, the new option for 'register arguments', is/was (not sure about current state) documented as (from memory, not actual text) "Saying 'Y' here turns on register arguments. Saying 'N' here turns off register arguments."
What the hell is that? What kind of developer can write a hack on top of a kernel to do something or other completely unheardof, and document it so blantantly obviously and uninformatively that you may as well not document it at all?
This is why I don't take Linux seriously. There are lots of options and tweaks, most of which are badly documented, others which are completely useless, and many which should never be tweaked/changed at all. This is not a direct threat to the software quality (on the other hand, 2.6's scalability of algorithms caught up to and at one point exceeded FreeBSD's, not sure how that is now) but does say a lot about the developers' attitudes. They care more about supporting the maximum number of new hacks and features, no matter how potentially dangerous or just plain useless, but they seem not to care about the consistency and composure of the project. FreeBSD's developer politics may be too tight nowadays, but at least it means everything is very thoroughly documented in every release, and progress pages are updated to reflect, obviously, progress. And yes, progress means it's neither dead nor dying.
Saying ekkoBSD's death is a "crippling bombshell" to the entire BSD community is analogous to saying that the burger some McDonalds patron dropped while walking home is a "crippling bombshell" to McDonalds itself. Nonsense. FreeBSD 5-CURRENT is steadily approaching a good level of stability, after which it will be a Linux-killer for most desktop and some server applications. NetBSD has been and always will be the best operating system for portability, and the 2 branch is making admirable progress into modern standards and functionality while retaining amazing stability and cleanliness. OpenBSD had some scalability issues which are resolved, and now is making way into modern SMP and other useful applications. DragonFlyBSD is making astonishing progress given its currently small (but talented and enthusiasatic) developer base, and is already very close to being a viable alternative to FreeBSD for those who want something different. None of the BSDs are 'dead'. Their developer bases are largely comprised of people who focus on their Operating System (yes, technical note, all BSDs are entire Operating Systems, unlike Linux which is a toy kernel often accompanied by a user space tool chain you can run anywhere, and some hackish utilities for interfacing with the kernel), not on how many file systems they can add barely-working support for, how many undocumented kernel options they can hack on without anyone's understanding, and how many tshirts they can sell for market saturation. Linux developers lost their goal as well, what began as a valiant and successful (even if more via media coverage than technical merit, as benchmarks of even 2.4 will show) development effort of a kernel from scratch, has become an orgy of random features, some to directly oppose Windows development, some for performance [on one machine in the world, with all else being much worse off], some for 'l33t points' which amount to nothing in the real world... look at all the different patch sets for the different versions of the Linux kernel, and it's hard to respect the project at all. Some of these will get integrated if they get enough hype, some will die away, some will set your machine on fire (or in my case of trying 2.6.7-mm6, completely misuse your standard 3Com 905B network adapter, which works in any other kernel). Most of the negative slander BSD gets is the few Linux-using trolls on Slashdot who post the same terrifyingly misinformed crap, many as Anonymous Coward. "NetCraft confirms: BSD is dying", and yet NetCraft servers run FreeBSD? Do your homework people. BSD is not dying. Neither is Windows, since even that has some place in the world, believe it or not. Linux is not a magic bullet. It is and, by design, always will be a curious project to see what features can be hacked on to a bootable kernel. It is not an Operating System. It only survives from amazing marketting and corporate sponsorship, the two being mutually sustainant. The most interesting aspect of all of this is how most BSD-haters have never actually properly used and administered a BSD machine (may as well be FreeBSD since that is ahead in ease-of-use and Linux-killing power). Most BSD users won't bother slandering Linux, but for once I'd like to. I've used it lots, watched the transition from 2.4 to 2.6 and so on, and at no stage did I consider it a work of art. The transition to FreeBSD was an utter bliss of administrative elegance and system design, to the point I never looked back [except to test emerging Linux kernel versions against FreeBSD-CURRENT, with Linux never being impressive]. Say what you want about the brilliance of Gentoo's Portage (based on the design of FreeBSD Ports and NetBSD pkgsrc, lest you forget), it is not Linux itself. Type up lengthly propaganda involving Linux' amazing growth in corporate and governmental applications, it only provides more evidence of globalisation at work, even if of free software. Post the same "BSD is dead" article over and over on /. with the kind of blind propaganda that would make a preacher blush, a
Of course it's all about choice. I haven't been in the Linux scene for a while, and I passionately advise against using any commercial-like distributions, but for my FreeBSD machines... I install the bare minimum distribution (just bin and crypto, really), mount /usr/src over NFS from an up-to-date machine already with -STABLE, build that, and pile ports on top of it. I don't use the XFree86-4 metaport (which comes with crap few will need), I just install the separate bits. As for window management and desktop environments, WindowMaker to start with, but I install xfce4 later and use that. The overhead of xfce is well worth its functional pager :)
But as for bloating, it's really hard to say. Firefox under Windows goes by like greased lightning, but under any Nix it is *relatively* slow. Opera on the other hand is fast anywhere, even using the evil Qt framework! Why? I have no idea. Some portable software is better than other portable software, largely because some have portability as an afterthought and don't take full advantage of the possibilities that native POSIX conformance could offer. ELinks and friends are disturbingly fast and lightweight, and technically support all the same language, just don't render the images.
But browsers are my only gripe, really. OpenOffice (even the i386 binary package) is very responsive and fast to start, most GUI apps aren't so bad there too. Under -CURRENT I can use my laptop's HTT properly (ULE+KSE=pwnage anyday) so I have pretty snappy start and operation on even Firefox while the other 'half' of the processor is compiling something chronic. I haven't tried under Gentoo Linux but that might be faster, or it might not. Mandrake, Fedora, etc. are right out.
Summary: It's bloated if you make it bloated. Some things are bloated for no reason, some things work better on old hardware than new hardware even with the same operating system and all. Someday somebody might figure it out, but until then let's be happy we nix users don't have to endure click-n-drool system administration (my real reason for not using Windows - too much monotonous clicking).