Should Aunt Tillie Build Her Own Kernels?
DeadBugs writes: "Linux Weekly News is reporting on a new linux controversy. The inclusion of a Kernel Autoconfiguration program that would make it easy for almost anybody to build a custom Kernel on their computer. Eric Raymond supports this idea saying that this will bring Linux to a wider market. Those that oppose this idea mainly think that only those educated few should custom build their own Kernels. I for one hope this gets included if only to make standard installations and upgrades faster."
Why the heck is this a controversy? It seems to me that anything that makes good technology accessible to more people is a good thing.
I'd like to hear good arguments in the other camp, though.
Am I reading correctly? Is this a debate over limiting vs. allowing certain behavior? What part of the Open Source philosophy got suspended while I was at lunch?
Let some distribution try this. It may take off, it may fail-- that's what it's all about...
davejenkins.com |
Expect to see a lot of "This software only supported under the standard Red Hat v7.2 Kernel."
I don't blame the software companies one bit either.
Most Linux users are already familiar with the caveats and reprecussions of customizing your kernel. This kind of tool would just make it easier to get to.
There aren't all that many "casual" Linux users. That market is dominated by Microsoft. And if you've deployed Linux to a work environment, chances are you won't allow a tool like this to be used, because you'll probably want to lock down the configurations (making your life as a sys admin a lot easier).
Assuming Linux continues to proliferate to the consumer market, I still wouldn't be worried about people tinkering with their kernel too much. Most people, especially at the "average Joe" level, don't understand the inner workings of their OS. Heck, most of them fear their OS and assume that they'll break something if they tinker with the OS's inner settings. I wouldn't conclude that simply because the tool is there that most people would be interested in using it.
My sigs always suck.
I really can't emphasize strongly enough that I believe that if Aunt Tille has to build her own kernel, we have much bigger problems that Eric's autoconfigurator will solve.
While 2.4's module support is excellent, and modularisation is become more and more prolific throughout the Linux architecture, there are still several important features which need to be excised from the kernel core and made available as runtime modules. Trivial features such as APM support, SMP and Unix sockets shouldn't require a full recompile to activate. Why do we insist on prolonging the life of "make config" and its brethren when we could very well do without it altogether?
Ponder:
Should Aunt Tillie Build Her Own Kernels?
Should Aunt Tillie Install Her Own OS?
Should Aunt Tillie Install Her Own Applications?
Should Aunt Tillie Run Her Own Applications?
Should Aunt Tillie Produce Her Own Documents?
Should Aunt Tillie Think Her Own Thoughts?
*****WARNING. USING THIS TOOL CAN SCREW UP YOUR COMPUTER, BIG TIME. IF YOU WANT TO USE IT, DONT BE MAD AT ANYONE BUT YOURSELF IF YOU FUDGE THINGS UP*****
.. I mean, seriously. The only thing you could end up with is some fucked kernels (who should get along just fine with the fucked registries) and some users who will learn and be cautious, and end up having a better understanding their computers.
If MS can include regedit, you cant tell me that we can't inlcude autoconf
"Old man yells at systemd"
I mean honestly, what claim can linux hold over windows if not that the availabillity of the source code allots the user more freedom? This is, as far as I'm concerned, what linux is all about. I am totally unable to understand any argument against making one of the most important benefits of linux more accessible to a wider market.
I suppose I'd have no trouble believing this. I'd still like to know what the requests are and why they are ridiculous.
Aunt Tillie shouldn't have to
But.. she does. We don't have runtime autoconfiguration that works in every case. If an autoconfigurator is easy to build, and won't impact the people working on runtime configuration, then why stop them from doing it? My computer should read my mind (or at the least, the pointer should move to the thing my eyes are looking at) but I'm not going to tell people to stop working on improving mouse support.
The autoconfigurator is bound to be an imperfect job
True enough, but this is true for runtime autoconfig as well.
The kernel people are already drowning in bogus bug reports
Kernel bugs are reported via email on the mailing list. This is described in marginal detail in /usr/src/linux/REPORTING-BUGS. Furthermore, it begins with the following dubious paragraph:
What this document highlights more than anything is that kernel developers are drowning in bug reports because linux kernel bugs are reported in an informal format on the mailing list. Get a proper bug tracking system and it will be much easier to keep track of real bugs. This should be done regardless of whether or not we make "kernels for the masses". I hadn't heard about the bug report problem until you brought it up, and it's frankly amazing that it hasn't been addressed in this manner already.It's rare that you're presented with a knob whose only two positions are Make History and Flee Your Glorious Destiny.
It would be great if anyone could build a custom kernel.
Imagine this... Let's say it's 5 years down the road, and the hot new computer is the 72 ghz Apple Pentium G7 with 64 gigs of on-chip ram. Hard drives have been totally eliminated because new, memory based permanent storage technology has been invented and proven over the past 2 years. An entire meg can be recorded in under 1 microsecond. The only remaining mechanical component of a computer is the standard Glass-RW drive (the 2 terabyte recordable successor to DVD), so the whole computer is now a small single board, and most of the electronic hardware is inside the main processor, an inch square in size. In fact, the plugs on this board take more room and cost more than the computation hardware.
Now imagine that a build world takes 4 minutes to complete. Here's how installation of FreeBSD 9.8-RELEASE takes place. (Yeah, I know this was a Linux thread.) You pop the Glassdisk in the drive, choose a few options, and all your software is configured, optimized, checked for security vulnerabilities, compiled and installed within 2 or 3 minutes.
In order for that to happen in 5 years, Granny needs the ability to custom configure her own kernel right now.
Aunt Tillie doesn't need this. But, as a computer consultant and VAR, I need the ability to easily make these kinds of changes based on what my customers need.
Sure, I can do this myself the old-fashioned way. But this is the kind of thing I prefer to delegate to someone with a lower billing rate so I can focus on the things that really bring in the bucks. It is easier to train someone to use Eric's AutoConfigurator than it is to explain make files and such...
Jack William Bell, who likes the KISS method in most things.
- -
Are you an SF Fan? Are you a Tru-Fan?
Programming is the act of creating automations of complexities that are made up of simpler things.
Does the programmer re-write open() every time they need to open a file?
There is not only nothing wrong with making it easier to build a custom kernel, but in fact there should be a growing interest in doing this sort of simplifying, given the GNU Hurd is about not only modularity but about servers/transltors and creating such, even custom as is needed.
This can be taken even further in that autocoding tools can be and should be built for the GNU users.
In a hundred years from now, how do you suppose programming will be done (given programming today is only about 50 years young)?
As things are being done today, it is not possible to do such a program of complexity as can be imagined of what would be a holodeck program (And we do have such virtual reality cudes today in university labs).
It won't be untill the general programming field realized the need to genuinely and honestly address and do the automation of the field of programming. Certainly everything else can be automated, including human balance and movement (segway).
It's fooling to continue the illusion that programming is not itself automatable. And to begin making it happen, where better than on higher level like autoconfiguration system that allow custom kernels to be done? (Or at least one place for it to begin)
A recent research paper on autocoding presents the current/recent mindset on autocoding. It's worth reading to see how young and admitedly immature the field is. Open system and Open Source Software such as the GNU efforts (Linux, the Hurd, etc..) with their open community has far better ability to do what needs to be done than any private effort which will be biased away from doing the things that need to be done.
Soooo, anything that automates computers and their use is inherently a good thing, for iot will allow us all to reach and achieve much more advanced systems and the benefits of.
I want a distribution that has a similar GUI installer that RH and Mandrake have, but instead of invoking "rpm -i" for each package, it would build all the install packages from source drops. The "installer script" could be a large XML file that describes how to compile each package, what its dependencies are, and provides a mechanism for tweaking the packages configuration. Most of the packages out there can have their runtime configuration configured via their 'configure' script (wow that's a lot of "configures"), making it a fairly uniform approach. In addition, at the beginning of the install, it would be neat to see controls for your *exact* hardware configuation that get turned into CFLAGS like -march=i[my]86 and -O3, etc.
The only drawback I can see is that it would increase install times by a *lot*. However, in the end you would end up with a *highly* optimized distribution.
The idea came to me while building my own.
std::disclaimer<std::legalese> sig=new std::disclaimer; sig->dump(); delete sig;
I think if Aunt Tillie can create a swap partition during installation, pick a window manager, download compile + install the latest mozilla browser update (or maybe she prefers Opera), configure her firewall, and set up lpr for her printer, she can recompile her kernel. I just don't want to be around when she starts looking for "Freecell."
_______
2B1ASK1
I have problems with Eric Raymond's scenarios. Forget about if it's a good idea to make it easy for anyone to build a custom kernel, my question is, why should you need to recompile the kernel just to install a device driver ? That's just stupid. Installable drivers, that's the way to go.