Toward a New Kind of Linux Distribution
An anonymous reader writes "Progeny co-founder Ian Murdock wrote a weblog entry that has been reprinted at Newsforge. He talks about how current distros are built from the top down, making a 'one-size-fits-all' solution of technology. He proposes making a modular solution that encompasses building modules so distros can include only the technology they need to suit their purpose, kinda like building from the bottom up. Interesting read, good arguments, potential for a new Linux community."
One size fits all is good. That is why everyone knows how to use a PC (and Windows) and why Unix is a support nightmare. The last thing we need is another Unix/Linux dialect.
I don't know about the distro he's using, but my build of Gentoo only has the packages I want (plus their requirements).
The bottom up model is being used by distros other than Gentoo, too. He's not breaking any new ground or creating any unique ideas IMHO.
Looks can be deceiving. Or CAN they?
In order for Linux to appeal to the masses, these "choices" must be available in an easily installable "package". It would be great to install only those options you need, want or require. And, I think most important, is the time it takes to set up the system.
The only appreciable difference he could offer (which he did not, but could) is binary packages instead of having to compile everything from source.
Of course, part of the reason Gentoo is from source, and why less modular distributions are so monolithic, is that many UNIX programs require specific options at compile time to modify their behavior to fit just right on your system.
Apart from having a huge compile farm which you'd hand the equivalent of your USE flags in Gentoo, and get back a binary built just right for your system, I don't see any particularly clever way to do this.
"Give away the stone, let the oceans take and transmutate this cold and faded anchor." - Maynard James Keenan
Point is it doesn't matter. He has an itch, didn't see anyone willing to scratch so is doing it himself. Maybe it will satisfy others peoples itches as well but if it doesn't it doesn't matter. His itch is being scratched. A non-commercial distro with 1 user who is satisfied is 100% succesful.
Better then all those whiners who want someone else to fix their problems.
But isn't redhat and mandrake and suse modular anyway? Not like they force me to install apache or a window manager. Just the if I want say xmms I bloody well going to have to install X for reasons that should be obvious. You may want MS to stop bundling IE but then don't go complaining that Windows Light doesn't come with a browser installed.
As for putting everything on the CD. Well yes I thought that was pretty nice. Since they want you to buy the thing it means that people with modems don't have to download several gig of extra data just to get a working desktop. KDE is about the only real offender insisting on installing games on every distro I tried.
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
Software architecture is a blend of extensibility, maintainability and optimization. This type of proposal is so old and so common it is becoming trite. How many of you would use an operating system or application that was 10x slower than another? Telling the customer, "yeah, buts its more modular" doesn't cut it. Thats not to say that there isn't room for improvement - but any consideration must be weighed against other considerations. Any piece of software whose only consideration is modularity is sure to be a barker.
That site had better have a monster cpu power and bandwith avaible... It would be slashdotted in a matter of milisecond...
Plus, lets be honest; source distributions just aren't going to cut it in an environment where package installation speed is important.
Or in an environment where you're using outdated slow hardware.
Hint: update to something made within the last year and there's no difference between installing/updating gentoo and any other OS, and you get the advantage of gentoo's optimization in space and speed. I know which I'd go for.
Gentoo is compartamentalized, but not in anyway that other distros such as debian isn't.
Both Debian and Gentoo are heavily optimizable, you choose the componates that you want etc etc.
Bot have your advantages and disavantages.
Debian's is that the developement cycles that forever to make sure that everything is working correctly, but you get a reliable computer that is usefull for hundreds of different applications.
and Gentoo's big disadvatage is that it's worthless for anything other then home desktop, but you can play around with newest technology.
(could imagine administrating a hundred gentoo boxes buy yourself and getting someone to actually think it's a good idea to pay you to run a OS on them that takes a average of two days to get installed?)
And no compiling for speed is DEFINATELY NOT WORTH IT JUST FOR A PERFORMANCE ADVANTAGE in 95% of the apps you would use on a daily basis.
But IMHO people are naturally moving towards comparmentalized OSes anyways in Linux. Weither or not they realise it.
Think about, APT and other decent package managers have caught on in a big way. Fedora can use both Apt and or Yum.
Using package managers it's easy to customize any install and the BIGGEST advantage is that it's simple to keep everything up to date and to install new programs.
A BIG advantage over closed source stuff. (once you get it set up.)
Now if most linux distros agree to stick to a common Filesystem Hierarchy system (http://www.pathname.com/fhs/) then you can use all sorts of packages together.
I could use Fedora packages, apt packages, debian packages, gentoo build scripts and all sorts of stuff and pluss get support for closed sourced software easily in any distro of my choosing.
If Debian doesn't have a new enough XFree86 build you can install it from Fedora and build the latest KDE 3.x beta from portage scripts from Gentoo.
That's what we should aim for, and a common FHS is pretty close. People are beginning to learn the best way to do stuff and the directory systems are beginning to be more and more common to all Linux distros.
In a few years I hope the consept of numbered linux distro releases will be gone and we will move to a stable/unstable model similar to Debian.
Hint: update to something made within the last year and there's no difference between installing/updating gentoo and any other OS, and you get the advantage of gentoo's optimization in space and speed. I know which I'd go for.
I installed debian with a full kit of KDE in under an hour on an iMac 400. You're saying there's some new hardware that can build that equivalent with gentoo within 60 minutes?
Bullshit.
Hint: update to something made within the last year and there's no difference between installing/updating gentoo and any other OS, and you get the advantage of gentoo's optimization in space and speed. I know which I'd go for.
Yeah, that 7+ hours compiling KDE/GNOME just flies by
Although I dont think Ian raises any particularly unique arguments, the article is a susinct introduction to the elements that emphises Linux's strong points.
The thing that aroused my interest in Linux was not its cost, but its ability to be used in projects that were not limited to traditional PC software.
Imbedded linux will (as long as MS doesnt rethink its licensing) rule the non-pc computing world.
It makes perfect sence. Who cares how your C64 watch works, as long as it does.
It seems unlikely that "componentized Linux" is the answer because only imbedded linux realy needs to get down to the "Linux from scratch" kind of level - otherwise, you'll probably be looking for a higher level distro.
The two challenges with Gentoo are 1) the need to compile everything from scratch (which can take ages)
You don't need to compile everything out of the box on Gentoo - you have a choice between stage 1 (all from source), 2 (base system) or 3 (all binary) tarballs. I just stuck a stage 3 install on my wife's machine (all binary packages) and it took only slightly longer than a RedHat 9 install on another machine the day before.
and 2) the almost vertical learning curve required to get the resulting linux system to work (work out of the box? - not really!).
YMMV on this. I've never had a problem getting it all to work first time. Forgot something? emerge packagename and you're done.
--- Hot Shot City is particularly good.
I think this is the way security works best.
Let's imagine we have a monoculture of Linux boxes, all quite similar, all based on a huge install 'dump' of one massive base system.
There's a lot there for an intruder to play with. Makes it easier even, for automated intruders (worms etc) too.
Now, imagine there's Linux as a majority, but split into so many different specific tasks that there's few similarities between them, except for a micro base system; where even the kernels differ in their capabilities due to function. it CAN'T ever become a monoculture even if the same 'distro' group were preparing these systems, unless suddenly the entire world was running webservers, or were running desktop office machines, or running desktop home machines, or running as cluster nodes etc.
Of course, the extra fiddling around of several well-defined task based versions of linux is a pain in the butt then, but hey - just a thought.
If by some Act of God, Linux were to become what you say it should, then the people who currently use and support it would instead switch to BSD or Darwin or OpenBeOS or some other open, polymorphic OS. Because that's what they want, not Linux for the sake of Linux.
The down side of freedom is that you need to make choices, and the down side of making choices is that you need to do some research. If you want a developer to do all that for you, then you should stick with an OS from company that will do that. Microsoft excels at it, and if that's a little bit too controlling for you, you should be quite happy with Mac. (Seriously, OS X is a great centrally-designed system.) But what see as "what's wrong" is what others see as "what's right". Deal.
http://alternatives.rzero.com/
Almost all Linux distros are componentised. OK everyone let's hear it: "Linux is not Windows."
We've got distros mainly because we aren't all kernal coders who know all the in's and out's of every single chipset. Quite frankly I don't know who even has the time (but apparently some of you do). We have generic groups of packages/aptget/emerge/etc. to allow for faster deployment. And that's another beautiful part to Linux: Choices!
Yes, perhaps it's overwhelming at first, but you can build it from the ground up if that's what you really want or just pile it on thick and zesty!
The author wants to promote Progeny and "Componentized Linux", and I think there's always room for Yet Another Distro (YAD), but to say the others are doomed to fail because they came on 3 CD's (Think Fidora) is misleading. Mandrake 9.1 came on 3 CD's but it certainly won't force you to install all of it. In fact, you can just select a kernal only option, and it won't even ask for the other two disks. Not only that, but you can hand select only the packages you want. How cool is that?
So I guess what I'm trying to say is that most linux distros have options to allow their users to build it pretty much from the ground up. The reason for the different distros lies in what their vision of the ultimate system looks like when it's totally loaded down.
Can somebody who actually READ THE ARTICLE tell me how much more moduler than apt-get install packageX it can be?
Sounds to me like a front end "Install Web Server?" "Install Development TOols?" choices that proxy a few packages is all this is about.
Aren't all Linux distros these days already got some sort of package managing that manages every file? Even the base Libc? How more moduler can you get???
Hmm, well, it seems you might be slow, so I'm going to state this just about as clearly as I can.
It's impossible for Gentoo to be as fast as binary-only distributions because it has to the job of the binary distribution (the "make install" part) in addition to the compilation. Which, by the way, is slow (with any program or reasable size) on any hardware. I do use an athlon XP 1600+ which is fairly old (and did indeed perform quite poorly at installing Gentoo packages), but even on a Dual Xeon system, I wouldn't want to have to compile KDE from source.
But the most important thing to note is that many people do use old hardware. Why not support them as well? My work computer is a P3 700, and it runs Debian quite smoothly, and installs even big packages in less than a minute (of course, it helps that my work connection gets > 1megabyte/second to MIT's Debian mirrors). Why should that hardware not be viable? Just because you think everybody should use source only distributions? I don't think so.
Correct me if I'm wrong here, but from the Rock Linux manual, it looks like installs work pretty much like they do for command line installs with ANY source based distribution, just that the installer script includes a small extra section to copy all the stuff to an ISO.
That's maybe four lines of code.
It's worth a bit more to go ahead and use an established distribution - source or otherwise, since you'd be building generic binaries anyway if you want to use it on CD - for that purpose.
If you're really keen to use installers like this, Gentoo is probably a better way to go because they have more people to test code and get it working reliably. Like I said, the addition of about four lines of code are enough to do this - and I'm talking about a little bash script, not C code.
Mod me down and I will become more powerful than you can possibly imagine!
AND
it makes your machine more secure because:
A) You have less services, so less chance one of them is going to be hacked.
B) You have less programs on your machine so less (I did not say none) chance somebody who DOES break into your machine will be able to do any actual damage.
Bryan
One size fits all,
Be you short or be you tall,
Be you wide or be you slim,
Be you her or be you him.
Now please, don't start to scream and yell,
We never said it would fit well.
There are times and places where one size fits all may be vaguely suitable for a good many, even the majority of, people. If one happens to be exactly that "one size" you might even wonder why anyone would ever want something else.
There are also, however, times when one size fit's all, no matter how close the fit, is simply intolerable and a wee bit of tailoring is in order.
If you don't feel the need of another Linux "dialect" than ignore it. Those that do may find the new "dialect" finally makes life bearable.
KFG
It's different because, while Debian components work on a package level, he's talking about a modular level.
That is, a collection of packages that work together thematically. For example; a simple productivity module which includes mozilla firefox, evolution, and openoffice. Or a multimedia module which includes xmms, mplayer, and a smattering of DVD players. Or a server module, which includes apache, samba, et al.
It's like turning the course focus on a manual microscope instead of the fine focus. You get more faster, but it's not as accurate to your specific needs.
Debian is halfway there already. I use debootstrap, then tasksel. Sounds pretty modular to me!
a ^= b; b ^= a; a ^= b;
Would you like to be imposed the One True Theology, the One True Philosophy, the One True Government and the One True Leader? Thought so.
Choice requires thinking. If you rather not think, well... Do you deserve choice?
Anyway. The BSDs adhere closer to that model you think of. There is only One True {Free|Net|Open}BSD.
It's different because, while Debian components work on a package level, he's talking about a modular level.
That is, a collection of packages that work together thematically. For example; a simple productivity module which includes mozilla firefox, evolution, and openoffice. Or a multimedia module which includes xmms, mplayer, and a smattering of DVD players. Or a server module, which includes apache, samba, et al.
Kinda like tasksel then?
Jay (=
Why are people STILL SPREADING THE MYTH that linux is hard to use on the desktop? ITS NOT! Please tell me what distro are you using? Distros such as Mandrake, Lindows and Xandros give you exactly what you want, they are all very focused for the consumer. So why are you spreading 5 year old myths about linux?
Linux is getting so easy to use its getting mainstream websites reporting about it
Outdated hardware is a *stronger* reason to put a binary-only distro. 1) because you won't have to compile it 2) because being old hardware, optimizations won't affect it a lot since the models which need optimization are the *newer* ones (ie: would yoy optimize a gentoo distro for your i386 machine when you have i386 packages from debian? Please....)
Actually, Debian is close.
$ apt-cache search vim | grep vim
kvim - Vi IMproved - KDE 3.x version
vim - Vi IMproved - enhanced vi editor
vim-doc - Vi IMproved - Documentation files
vim-gnome - Vi IMproved - GNOME2 Version
vim-gtk - Vi IMproved - GTK2 Version
vim-latexsuite - Brings the LaTeX power to Vim
vim-lesstif - Vi IMproved - LessTif Version
vim-perl - Vi IMproved, with perl scripting support
vim-python - Vi IMproved, with python scripting support
vim-ruby - Vi IMproved, with ruby scripting support
vim-scripts - plugins for vim, adding bells and whistles
vim-tcl - Vi IMproved, with tcl scripting support
vim-vimoutliner - a script for building an outline editor on top of Vim
vimacs - Emacs emulation for Vim
vimpart - Vim Component for KDE
And you could always choose to compile the thing from source yourself. But I prefer the convenience.
(btw, I'm posting from a Gentoo machine.)
Don't quote me on this.
Applying your argument, there should also be one true car, one true sneaker, one true soda, etc. Clearly, this is not the case in most other areas of consumer products, so why does it have to be the case with Linux distributions or computing in general? The notion that there must be one true "vendor" seems to be a fallacy born from the Microsoft monopoly era.
A key contribution of open source, and Linux in particular is turning once proprietary components such as operating systems into commodities. By definition, commodity products are available from a variety of sources, in a number of different form factors, and in many cases tailored to the needs specific audiences.
Can you explain why you feel your only option is a Mac (not that there is anything wrong with OS/X)? Is it because you feel the range of choices is too great? What in particular do you find problematic about having a range of consumer choices?
I metamoderate every Troll moderation I see as unfair for this reason.
If what you meant is that you metamod unfair all troll moderations for people criticising Linux, the GPL, and so forth, then you're doing the right thing. If your blanket rejection of troll mods leads you to claim it's unfair to mod GNAA posts down, then all I can say is that you're as much a problem as the trolls themselves.
Incidentally, your honestly held, honestly arrived-at beliefs would be better argued without the ad hominem bits. Stallman's demand that people use the term "GNU/Linux" may be obnoxious, but it's not even slightly similar to what SCO are doing. The rest of your argument is fine, but that one word "SCO-like" is liable to earn you those Troll mods you so rightly despise.
You realize he's the one that invented the term "free software" right? I mean seriously, how can his be a misdefinition when he's the one that came up with it in the first place?
Or did you come up with a definition of free software and then pretend it's the real one?
There are several reasons that distros are built top down and you would think that Ian would know.
Linux packaging isn't bad at all, it is actually the lack of any standards that hurts the natural evolution of a modular Linux.
GCC/glibc are moving targets. You can't depend on linking between two versions of GCC or glibc, so all the apps we package today will be of questionable use tomorrow.
All other libraries suffer from the same problem. There is no guarantee that you can upgrade or install anything on the system without breaking random other applications.
There are far too many compile time options in applications. Instead of checking for dependencies at runtime and acting on that information, the applications have to be built either for a minimal system configuration, possibly dropping features, or built with every possible dependency, making installation require far too many dependencies.
Until these issues are cleared up, there is no other way to create a distribution than top down so that all dependencies are known and accounted for or built from source.
If tyranny and oppression come to this land, it will be in the guise of fighting a foreign enemy. - James Madison
By caving in to his SCO-like demand to call the system "GNU/Linux", for starters.
Are you not aware that SCO has sued people over their claim to parts of the Linux kernel? Stallman, interestingly, hasn't sued anybody over this particular bit of minutiae concerning naming. And I sincerely doubt he ever will. So how is this anything like SCO?
It's just a request to people to give credit where credit is due, and Debian apparently thinks it is perfectly reasonable. Many other distributions use the term GNU/Linux in parts of their OS; do you believe they are "kowtowing to Stallman"?
The Debian project's goals and that of Stallman intersect in many ways; they both believe in Free Software to the extend possible today. They both true to further that concept by being scrict about what they allow and what they don't (which is also perfectly reasonable). However, If Stallman went off his rocker and started advocating submission to Corporate America, Debian would not follow him. What you consider "kowtowing" is nothing more than a cooindicental intersection of idealogies.
Finally, I don't think there are as many Stallmanites here as you think. There are conflicting ideologies here like anywhere else, and probably the majority of people that you'll see on Slashdot hold pragmatism above all else. Just ask people if they want Nvidia GLX drivers included in their favorite distro; that'll flush out all the non-Stallmanites.
If you're going emerge precompiled binaries, what's the point in using Gentoo? Why not use a system that has a pretty frigging great packaging system.
Seems to me, THE reason to use Gentoo is to build everything from source so it is optimized for your system.
Je ne parle pas francais.
Hm.
:)
An interesting attempt would be to combine the source and binary packaging systems at the distribution level. You noted well that having all the different variations as binaries would require countless binaries to be distributed. The following solution would be a bit more involved.
Let's have a distribution, Distributimized Linux. In the package management system (or website or whatever), a user can click on a package they desire. This brings up a menu (or a screen or a page) in which the user can select the configuration options, dependencies, optional features and so on. Satisfied, the user will send in the request to receive this compiled to a binary.
This could be done directly by the distro computing farms but since it might be a bit too intensive for one party to handle the compilation of hundreds of packages daily, a better option would be to force the use of something like distcc for anyone using the distro. The central package management multiplexer would form the distributed compiling network from suitable computers and set it to work on the build. Then -in considerably less time than compiling it on your own- the binary would be dropped into the requester's computer, it would just execute the make install.
A problem to overcome is overloading -an individual computer should not be used in a distcc (or whatever) network more than X times per hour (could possibly be configurable at the user end (for example heavier loads when you're not there) but ensuring some minimum value) to ensure that any single system would not be bogged down. Another great advantage would be if each computer could build packages for at least one other platform, so that my x86 box could support compilation for Joe's KDE package for his Solaris.
I'd be happy to partake in a distribution like that, be it making one or using it
Marxist evolution is just N generations away!
Um, no...
This is not a SCO-like demand. SCO hasn't shown any proof of its claims. RMS's claim, OTOH, that the current distros have far more GNU code than Linux kernel code, is a fact. Go look at any distro if you don't believe it. And stop trying to use bandwagon buzzwords and name calling to make your arguments. Actual facts work much more nicely. If you want to prove it, go do a GNU vs. Linux SLOC count (or whatever metric would make sense) of a major distro.
Two wrongs don't make a right.Maybe I'm wrong, but you apparently just don't 'get it'. We live in a society increasingly dependent on technology. If our basic human rights become exclusively delivered by tech (they become more so daily), and tech is one big maze of toll roads, then we lose those rights. RMS doesn't misuse the word freedom; he apparently understands its meaning far more deeply than you do.
He's definitely not thinking of Gentoo for this role. He's talking about Progeny.
We, the people who are posting about Gentoo in this thread, know that.
The question is, "Why didn't Ian seem to?"
One of the important responsibilities an Open Source developer has is to check around and make sure there isn't already a project that is nearly what they want, and try to see if they can contribute to that project instead. Of course, being Open Source nobody enforces this (nobody should), but the end result of ignoring this rule is generally Yet Another (Something) package on Sourceforge that is forever ignored because the package that the author should have been contributing to always overshadows it. You ignore this at your own peril.
Of course there are exceptions, but one should justify yourself carefully; "This package's architecture is inimical to the features I want to have." is acceptable. "I didn't write this package and I only understand X" is not, really.
I use "package" because this applies to distributions, not just software package.
Our problem with Ian's proposal is not that he wants to create Yet Another Distribution. In fact, you might say we don't necessarily have a problem at all; many of us have agitated for a version of Gentoo that does better with binary packages, and perhaps the competition with Progeny will help make that reality, in addition to the creation of a new Linux distribution which is pretty much never a bad thing. (I'm not one who "agitates" for such a Gentoo but I wouldn't mind the option, especially with the big packages like Mozilla that take me most of an afternoon to compile.)
Our problem is that he doesn't seem to have heard of Gentoo, which fits the description of the system he wants to a T, except for maybe the binary aspect of it. And considering that there exists a system that works as he describes, and it works by compiling from source, there's a bit of an "argument by existance" that it works from source; there is no equivalent proof that it is even reasonably possible with binaries. In fact, the Gentoo-based projects to date have largely failed due to there being too many permutations of the system to make the binaries worth it. If he hasn't heard of Gentoo, if he describes things solely in terms of Red Hat and UserLinux, what's to say he's not going to make the same mistakes those failed Gentoo projects made? Why can't he get what he wants built on top of Gentoo?
In short, it doesn't seem to me that he's discharged his "obligation" as an Open Source developer to try to join an existing team, rather then create a new one, for what appears to be the reason that he's familiar with X, where "X" is Debian. Like I said, nobody can enforce the "rule" (maybe I should call it a "guideline"), but it does not bode well for the project.
I am not saying "Uz0R g3n700, l0zz3r!" I'm saying, "Why don't you acknowlege how close Gentoo already is to where you claim you want to be? Is it because you don't know about it?" I hope he succeeds, but if his knowlege of distributions is limited to Debian, Red Hat, and UserLinux, basically such that he can say with a straight face that "Even today, Linux distributions continue to be developed from the top down as monolithic wholes, as opposed to bottom up as collections of piece-parts,", and he seems to be strongly implying that nobody else does it in a modular way, he's throwing away a lot of knowlege and working code that will put him back by a lot.
Again, I emphasize, Ian is free to do as he likes. This is just my opinion; I do not think it an auspicious start to a project to start on the faulty premise that "nobody is doing this" and I believe that lack of knowlege has real consequences.
Compilation Enhancements
I hear the argument about faster executables a great deal, and it isn't a bad argument. However, Gentoo will allow you to install binary packages, and similarly Debian will allow you to install from source packages. More than that, you can actually find or create apt repositories with dependencies that are multiplexed across a set of architectures (for example, the nerim.net Mplayer repository; just tell it "mplayer-k7" and you get all the nice optimizations for Athlons with it).
Modularity
Again, Debian can be quite modular. Have you heard of Knoppix or Morphix? They are very popular, and quite modular. There are probably more Debian derivitives than any other distro because they are so modular. I realize that Gentoo might also be good in this regard, but if it isn't provably better, I don't see a reason by Debian still wouldn't be a great choice for this project.
Source-only distros are a bear to support, since each system is compiled in a slightly different way, with slightly different tools, and slightly different libraries and include files present. Most companies want uniformity in their products.
This is why Gentoo, while very popular, isn't used as the base for many Linux-based products.
Jeff Licquia
Progeny
What makes you a troll is comparing Stallman to SCO. Sorry if you can't see that- it's not your beliefs that make you a troll, it's the shrill and foolish way in which you shoose to express those beliefs.
I'm sure you'll counter with "well, stallman's action in this case is like SCO." Well, if Stallman had his way, what SCO is doing would be not only illegal (which it probably already is) but vigorously prosecuted. Your comparison papers over differences that are as wide as the ocean.
microsoftword.mp3 - it doesn't care that they're not words...
This is merely your redefinition of the term "free". You're touting hippie freedom, do whatever you want man, we wont stop you. Stallman touts speech freedom, do whatever you want with this code, but you can't stop anybody from doing the same thing to your code. His is closer to the traditional American idea of freedom, everybody has the same rights as anybody else and your freedom stops the second you try to infringe those rights. So again, yours is the redefinition. Yours has no concept of rights or limits on freedom, which is intrinsic to the traditional idea of consitutional freedom in America.
No, I'm not the one redefining the term "free". Stallman's idea of freedom is exactly equivalent to those who would outlaw hate speech in the name of freedom: they suppress speech because they disagree with it. Similarly, Stallman disallows some reuse of his so-called "free" code because he disagrees with it.
Further, Stallman's idea of freedom is not truly free because it denies freedoms to programmers who wish to actually make money from the fruits of their labors. (Yes, I know the GPL doesn't prohibit selling code licensed under it. However, it only allows selling one copy, practically speaking, since the code can be given away by anyone who buys a copy.) It also denies the user the freedom to choose a software package that combines the best of both worlds.
Thus, Stallman's definition of "freedom" is truly free only to those who buy into his utopia. To the rest of us, it's a hollow shell.
I believe the Founding Fathers would agree with my view on the subject, because they universally held that free speech must extend even to those concepts that some find offensive or objectionable. The only limits on freedom are those necessary to prevent actual harm to others. Stallman's limits are not that narrowly drawn, since some of the activities they prevent are not harmful to anyone.
Disinfect the GNU General Public Virus!
If you're using gentoo, then you should know your USE flags are set in /etc/make.conf and they turn assorted features explicitly on or off. (Anything you do not explicitly specify will go to defaults.) Here's mine:
USE="crypt -cups curl doc flac imagemagick\
jpeg mbox mmx mpeg nocd pam perl png postgres\
python readline samba ssl tiff usb"
Note that as my USE flags are currently set, among other things which are defaults, vim will get support for python. If I put tcl, gtk, lesstiff and so on in my USE it would automatically be compiled with support for each of these things.
In other words, if you put an easier installer on the front of it, and slapped together a cute little program to help you maintain USE flags from the list of available flags, then you would have the very distribution we're talking about here. What's more, when you change your USE flags, as packages are upgraded they will be recompiled with the new flags, and support for new software. All you have to do to update software to support your new stuff is to re-emerge it with the new USE flags. You can rebuild the entire tree with emerge -e world, though I'm not sure what order it will happen in. You probably want to rebuild, say, glibc first with whatever your current gcc and binutils is, then the toolchain again with your new glibc. The complete system can be transferred by doing an emerge -eB which will create all the binary packages you need. (If compiling for a different architecture, you will need to tweak certain variables in make.conf on the command line using the 'env' command, or perhaps several 'env' commands, including changing the location of PKGDIR.)
Having a bunch of different premade builds of vim is one way to go, but with the current power level of even most portable devices a recompilation scheme begins to make a lot of sense, especially if you can do it in the background while doing other things, as you can for most upgrades.
I'm putting gentoo in a virtual machine for use as an application server for my Midori Linux-equipped (M4I actually) i-Opener, so that I will be able to ssh someplace and run some applications. I know that I will be able to optimize it to minimize its impact on my PC.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
Isn't it easier to write you applications so that extensions could be loaded at runtime?
Take a look at how debian distributes php for example. When you install php you get a bare version. If you want oracle support you apt-get it as a separate binary and make an entry into php.ini to load it (actually apt makes the entry for you ).
The best way to support the US war effort is to continue buying American products.
"Similarly, Stallman disallows some reuse of his so-called "free" code because he disagrees with it."
He does no such thing. It's a license. If you don't agree with it then don't distribute it. That's your freedom.
"Further, Stallman's idea of freedom is not truly free because it denies freedoms to programmers who wish to actually make money from the fruits of their labors."
Again you are completely wrong. The GPL does not prevent an author from making money from the fruits of their labors. It prevents them from making money off of MY labors. You see the difference?
"To the rest of us, it's a hollow shell."
Only if you are too stupid or lazy to write your own code. If you are leech on society who likes to kick back and let other people work hard and then suck away their property for your self then I can see how this would not work for you. Too bad America has become so used to getting welfare from the govt because now they want welfare from everybody else too.
Stallman or anybody does not owe you code. Nobody owes you code. You need to get off your ass and work instead of whining about how you are not allowed to make money off of other people's code.
"I believe the Founding Fathers would agree with my view on the subject, because they universally held that free speech must extend even to those concepts that some find offensive or objectionable."
Absolutely. Nobody argues with that. But apparently your limited IQ is not able to grasp a simple concept. Code is not speech. It's not protected by the constitution.
Finally ask yourself this. Why do you demand the stallman give you his code. Don't you think MS or Oracle have more and better code then stallman. How come you are not throwing a hissy fit because MS won't give you code? Aren't they infringing your right to make money?
The best way to support the US war effort is to continue buying American products.
You see, the problem is, Stallman hasn't been imposing anything on anyone. He wants people to call it GNU/Linux. Some do, some don't. GNU doesn't do shit about it.
The reason GNU/Linux is a reasonable name is because it defines the minimum useable system. I.E., you don't use just Linux; adding GNU to it makes it GNU/Linux. However, you can stop there. You now have a functional system, composed of GNU and Linux.
KDE, XFree, and the like are all unneccessary addons. They do not fall into the definition of the operating system.
Once again your tiny little feeble brain is confusing speech with code. Stallman and the FSF are very much likely to defend your speech no matter what you say. What they don't like is you stealing their code. Advocating freedom is different then advocating theft. No proponent of freedom says that you should be free to steal other peoples stuff.
They don't have the same definition of freedom that you do and you are really pissed because of that. So pissed off that you want to "disinfect" them. I suppose that means killing them or something because I don't know how else you would disinfect something.
Somehow you have gotten into your head that freedoms means you can do whatever the fuck you feel like whenever you feel like it. I hate to break this to you but that's not the way it works. Having absolute freedom means denying everybody else of their theirs. You are not free to rape women because you think they are pretty and you are not free to steal other peoples code. Just because you are not allowed to rape your next door naighbor that does not mean you are not free. No definition of freedom allows for something like that (except yours of course).
You should read the speech professor Moglens speech at harward. Their idea of freedom is one of a self healing commons. An enduring and irrevocable freedom. In order to achieve this kind of a perpetual freedom they have invented the GPL and you know what it works.
The reason you are pissed off is ample evidence that it works. You want to make money off of their backs. You want to take their code and make it your own, you want to sell it and make money off of it and they won't let you. By preventing leeches like you from stealing from the commons without giving back they ensure long term existance of the same commons.
The best way to support the US war effort is to continue buying American products.
How about more modular software instead of just focusing on the OS?
Everyone's going on and on about making the OS more modular. The problem isn't really the modularity of the OS. The issue that comes up is how *unmodular* the software is and that's why a from-source distro fits this scenario well. For a binary distro a lot of software needs to compiled for many different scenarios (such as the vim example for X, gtk, CLI, etc), or in possible cases compiled for all scenarios. For a from source distro, you only need to compile it to fit exactly what you need.
I agree that the OS needs to be more modular, and I agree that binaries need to exist for those evironments where it is necessary or demanded. However, I think that at the same time we need to consider writing our software to be more modular. If you didn't have to recompile binaries to support different scenarios, this modularity of the OS wouldn't be quite as necessary. If you could have one compiled core for vim, then attach different modules to it, it wouldn't be necessary to package the core 25 times.
This is my sig. The post is over.
The reason Linux distributions tend towards being large amasses of software is that Linux itself is more of an embedded system development kit than a platform. The best (only?) way to have everything working today is to deliver it all the user as a pre-built kit.
A good platform (Playstation, Windows, MacOS, N64, OS/2, etc.) is designed to make everything interoperate. In almost all cases, the software end-users download comes directly from the authors of the software. In Linux, this is seldom the case, because it does not work very well. To do this, a user usually has to download the source and build it themselves. Sometimes they even have to know which version of the source to use.
In fact, "Redhat 7.2", "Redhat 8.0", "Debian", and "Gentoo" are all platforms. When you download software, usually the software vendor needs to provide a specific package based on which one of these distributions you're using.
There are many reasons for this, but I argue the start of it all can be traced back to the UNIX philosophy of compiled-in and hardcoded paths. It is seldom that a piece of software on Linux can be used properly without lots of hardcoded paths. When different distributions make subtle changes to the way software is to be installed, it requires different binaries to be built. There are also fundamental problems with fitting software that has hardcoded paths into more complex installations. For example, installing software on fileservers, or installing multiple versions of software requires compiling from source. Worse yet, to date these Linux distributions are _all_ more centralized than distributed, and that's a shame.
I could go on, but the major point has been made. We have lots of different distributions because Linux itself is not itself a platform.
- David
Why does this sort of article keep getting posted?
Yes, Ian Murdock is the person who founded Debian. But that was over ten years ago, and he is not the same person. Anyway, even if he was, much of what makes Debian Debian came after he was no longer involved in the project.
With all respect, Ian Murdock is a business man now. His discussion of what Linux needs is really just a promo for what his company is doing. I doubt that it has much relevance for anyone outside Progeny.
If anyone else had written this article, it wouldn't have been published.
At the expense of having a complete compiler suite, plus sufficient space for all required source code and horsepower to compile it.
First, yes, Gentoo does binary packages but using them contradicts your point. Debian/apt can provide optimized binaries and it can do so for a variety of platforms. For example: mplayer-386, mplayer-686, and mplayer-k7 provides the same "mplayer" package. Dependent packages need only say "I need 'mplayer'" and which ever optimized version you get will satisfy the dependency.
Second, a core security principle is that you never put development tools on a non-development box (server OR desktop). As part of a strategy of "defense in depth", if you get cracked, the last thing you want to do is give the cracker more ammunition to attack you or other machines on your network. Combine this with the fact that Linux is moving into general purpose (non-techie) desktop use. Try to imagine a desktop distro based on Gentoo with the security processes and procedures of the typical Windows user. They get an email "Subject: Important Security Update!", click, answer the "WARNING: running attachments is dangerous!" with "Yes, I really want to". The payload can not only run as an executable, it can run an autoconf style configuration tool to find all vulnerable libraries on the system and make a custom remote exploit with built-in privilege escalation.
Getting root becomes a whole lot easier.