If I Had My Own Distro...
Gentu writes "Adam Scheinberg writes an interesting editorial explaining what he would do if he was a developer and he had a Linux distribution. His suggestions are pretty radical, and in places resembles of what Apple had done to MacOSX with the help of BSD as the underlying technology. But if this is what it takes to get Linux into the next level, it might worth the consideration."
Prediction: Linux From Stratch mentioned in first 50 posts.
This is probably linked to my own incompetence and not to the fact that it isn't feasible.
Ahhh...the great dumpster continuum. Many a free computer will be found there. -- sowth (748135)
I would call it "AssHat" and make it look like Windows but covered in tinfoil.
me karma am bad
Wait a minute here, I am confused. How could you not have your own distro, I mean, it seems that everyone else does.
Join Tor today!
I did. I've never looked back on the desktop. Servers still run Linux.
(I've posted this before, but it is 100% relevant to this article and something I want people to think long and hard about.)
.RPM or .DEB, in which case it is already figured out for you (Mandrake-branded site will default to .RPM, etc).
Forget copying the Windows UI, that's absurd.
Someone is going to get on that machine, go to Start -> Programs looking for "Microsoft Excel" and feel like an idiot or be completely frustrated because they couldn't find it.
NO ONE has complained that people stay away from OS X "because it doesn't look like Windows." WHY are we trying to pretend that's the reason people don't try Linux?
If you want Windows people to use Linux, we need distributions to do a few things:
Ditch 3 of the 4 programs that do the same thing. Seriously. Why do I need 4 CD-R burning programs? Just give me the one that works the best, that's *all I care about* - and make sure it's labeled "CD Burner" so I don't have to decipher "gkdesbUISO." Contrary to what people here may think, we do NOT need to include every single Web Browser available. Don't put every alternative in the "Programs" menu - you hide the extra versions, and it only comes out when someone says they are an "advanced" user. Or perhaps a help option that says, "Software Doesn't Do What You Want? Try These:"
Distro installers should have a "I have never used Linux before, but I have been using Windows for 5 years" option. This will offer extra help in the form of, "If you are looking for this, you will now use this instead."
Make sure "regular" users *only* need the first CD. In the case of a 3 CD distro like Mandrake, make the additional CDs required only for developers and/or international users.
When you setup the desktop, be it either Gnome or KDE, you need to include a few "What do I do now?" icons on the desktop. I'm not talking about your "Welcome," because most of these people are illiterate or too lazy to read them, I'm talking about a few icons such as "Games," "Mozilla Web Browser," and "OpenOffice Applications." Do NOT just call the web icon "Mozilla," because these people have no idea what Mozilla even is.
I don't know if one exists yet, but we need yet-another new standard Linux portal. One that can be branded with Mandrake, RedHat, etc, but has software reviews, HOWTOs, special tips, best applications in each category, downloads, news, a forum, etc. And when you click to download a file, it is either a
Apple has the portal down to an art--take heed as it will go a long way to making them feel like they are both a part of something, and that they've just entered a Brave New World as opposed to being made to feel like an idiot because they can't find anything or get anything done.
The thing that most mainstream distros seem to be doing well, is that as soon as they are installed, 99% of the applications you will ever need are already installed and setup. With Windows, you're stuck with installing all of your software off of CD again, downloading everything again, etc, etc.
Prove me wrong now.
Jason Fisher
OKAY
it would have AVRIL LAVIGNE
AND ICE CREAM
AND A SODA PUMP WITH UNLIMITED REFILLS
And UT2K on a BIG SCREEN
Also I wouldn't have to write shit in perl just to make it do stuff it should already do out of the box.
It would also be nice if I didn't have to go that scary admin with a huge UC Berkely Beard for advice (he smells like chlorine and fish).
P.S. ICE CREAM
Who are y oo ?
Prediction: Reply to parent will state that parent is a self-fullfilling prophecy.
paintball
Instead of doing what this article describes, just get Mac OS X.
I don't understand why anyone wouldn't.
The goal of the MHS project is to define a Modern Hierarchy Standard for UNIX-like operating systems which will further enable them to evolve, innovate, grow, and compete with Windows and other modern OSes.
/bin => /System/Commands /sbin => /System/Commands /boot => /System/Boot /dev => /System/Devices /etc => /System/Config /lib => /System/Libraries /proc => /System/Process /mnt => /Mount /opt => /Apps /tmp => /Temp /home => /Users /usr/bin => /System/Executables /usr => mostly placed under /System /var => mostly placed under /System
/Apps directory rather than cramming everything into /usr.
Specifically, MHS technology will provide the following benefits:
100% Application Directory Oriented
Internationalization of Directory Names
More Intuitive Directory Names
Fewer Root Directories
Support for Case-Insensitive File Systems
Full Coexistence with Legacy FHS
Increased System Flexibility
A new hierarchy will be a big enough change to make distributions switch to application directories.
Set of environmental variables pointing the location of major system directories.
Applications would no longer need to hard code directory names.
System level directories grouped together under a common directory. (/System)
Currently, the directories are expected to be moved to the following locations:
All paths will be lower-case on a case-sensitive file system. As shown otherwise.
Application developers and distribution makers will need to use the
The autoconf family of tools will be patched to support the new hierarchy which will make most applications translate easily.
Although it can still be done, MHS will not support the same level of shareability (i.e. mounted over a network) as the legacy FHS standard.
FHS can be emulated via symlinks and MHS can be emulated on existing FHS systems. A kernel/file system hack of some kind may be done to have the legacy directories disappear in directory scans, to help improve user friendliness.
In addition to the standard, the project is developing a set of scripts that will setup the new hierarchy on existing FHS compatible systems.
The standard will not be finalized until a Linux distribution ships based upon it.
One of the things I love most about the Mac is its drag+drop installations. You won't have to worry about system dependancies (as much) if you just make the drag+drop installer include all the libraries that the application in question needs, in the application's folder. Mozilla can have its own private version of GTK. Rhythmbox can have its own version of gstreamer, etc.
--
Yes, I posted this on OSnews.
Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
My distro will also:
observe my web surfing habits, and automatically download buttloads of pr0n based upon my preferences
telecommute and perform all my tasks for me
make coffee for me in the morning
take care of 'morning wood' for me
b*tch out telemarketers who call
do my laundry
fix Wine so all Windows games work on it
and spam Microsoft when its idle
Hell if you're gonna fantasize, fantasize BIG!
The article illustrates one of the problems I see with the various distros out there. There's just SO much availible, I just don't know where to start. It's rather intimidating. Also, why should I have to learn the ins and outs of 2 or more DEs (KDE, Gnome and maybe others) to get all the functionality that should be availible in one. I think this is one of the reasons why people put up with Windows despite Microsofts draconian EULAs: there's a consistant look and feel there that just isn't availible on linux (yet).
/usr didn't mean USER but rather Unix System Resources. WTF?)
And on a similar note, I definitly agree with the authors idea of changing default directory names to be more user friendly (it wasn't up until 2 years ago that I found out that
Having worked on a few large projects I'm always amazed how you can start with a clear set of ideas like this guy and wind up with a monstrosity. I'm pretty sure a Linux distro meeting my needs could easily fit on one CD -source and all. Instead I wind up installing 3CDs because. It's just too hard to say "no".
"God fights on the side with the best artillery." - Napoleon, Marshal of France - speaking truth to power
I was the only person to run it too. I first installed Linux back in 1993, and except for the basic kernel and compiler (which were SLS) I manually tracked down the sources to everything I needed and compiled it myself. I kept everything up to date by myself, and even went through some standard library changes, and the big move to the ELF executable format. I had networking, and X running twm very well on my 386SX. When I switched computers, I'd just make a boot disk, make a filesystem, move a big tarball from one machine to the other with floppies, untar it, and reconfigure everything by hand. I learned so much about how UNIX works in those years, but it eventually became too much work to keep it all running. I was spending most of my time tracking down sources, compiling, installing, and configuring my machine.
So, I installed Red Hat 4.0 and later moved to Debian. I'd recommend that everyone should have the opportunity to build a linux system from scratch, even if it's just a fairly simple single floppy boot disk distribution. Get the kernel and filesystem installed. Build init from sources on another machine. Download a prebuild gcc compiler from the net, and the sources to gcc, and build a stage two compiler and install it. Get the XFree86 sources and compile them. Same goes for xterm and the other utilities.
This is a much different experience than installing Red Hat, or Slackware, or Gentoo, and I promise you'll learn a lot and have fun at the same time.
If tits were wings it'd be flying around.
Isn't that a Barenaked Ladies song?
"If I Had My Own Distro"
If I Had My Own Distro
If I Had My Own Distro
I would code my own FS
I would code my own FS
and, If I Had My Own Distro
If I Had My Own Distro
Design a sensible directory structure
Keep those symlinks all in order
If I Had My Own Distro
If I Had My Own Distro
Well, I'd select only ONE desktop
A nice reliant environment
.
.
.
Something like that.
A programmer is a machine for converting coffee into code.
Ok, so this guy has an article about how confusing it is that there's a zllion GNU/Linux distros, and he wants to add one more -- his own? His own distro which does everything backwards from other distros, so that users can't use any of the help-documents that apply to all GNU/Linux distros?
/boot -- the portion you boot from. /dev -- where devices (like your CDROM) are. /mnt -- where devices are mounted and accessible from. /root and /usr -- where most of the applicaitons are. Then there's /home -- where the user's stuff is. How exactly doesn't this make sense? My suggested improvements would be renaming /dev to /devices, /usr to /user, and /mnt to /mounted-devices.
His complaints abou the file-system hierarchy are noted. However, I believe he is wrong. There is
I think this guy's comments are certainly not taylored towards making a good GNU/Linux distributiion overall -- but only one that is good for people with 1+GHz systems. Only allowing people to choose what are clearly the most bloated applications? I don't think so. Obviously, this guy doesn't give a flying fuck about anyone who wants to use Linux for older computers.
Rather than eliminating choices, the distributions should give users the information to make better choices. Mark one e-mail client as the preferred "light" client, and several others as preferred "well-featured" clients for various environments. Also, for categories (in Gentoo) like net-mail, provide a spreadsheet of features and which e-mail clients have those features, as well as binary-sizes, RAM-sizes, and benchmarks of run-time performance, load-time; also, user ratings.
social sciences can never use experience to verify their statemen
Where can I get a CD that I put in my computer, click the appropriate "Yes/Ok" buttons a few times, and have Linux on my computer, with a web browser and a word processor, that all my hardware automatically works with, including my internet connection through my router to my cable modem, as well as my video and sound cards, that automagically downloads any updates I need, and works with anything I happen to plug into the USB port?
Where would I get something like that?
The very fact that I don't know whether something like that exists, much less where to get it, is exactly why people use windows.
paintball
He covers a lot of overlooked stuff. A lot of the people working on having a desktop-ready linux seem to think that you can just throw on some clone of LinuxConf or YaST that you made yourself and call it a day.
Not true.
The math and CS departments at my school have started maintaining machines running Red Hat in any computer lab they can exercise any control over. Naturally, students who aren't familiar with linux try them out. Seeing as how I work the helpdesk and I'm the one everybody seems to come to for help with installing linux anyway, I end up helping them out a lot, and I've noticed a few things.
The author's comments on the filesystem are dead-on, but don't go far enough. I've helped users who are trying to save files on the desktop, and they expect the desktop to be an option in file pickers. I would like it to be there, too - having to go to "/home/uname/Desktop" is not intuitive, and it's a pain in the ass. This should be something that is global to all file handling dialogs. KDE does it in a half-assed way (I don't know about Gnome 2), and it doesn't really help much anyway since all applications seem to want to write their own dialogs from scratch, anyway.
KDE and Gnome need to come to an agreement on some common dialogs, work on a design for these dialogs and how they will work, and then implement them using a shared library that both will access. I don't care how it is implemented - the dialogs can be written in straight X11 so it looks the same on both, or the library can check for what environment is being used and pop up a dialog that is written using GTK+ or QT. As long as they look and work the same, I'm happy.
Another one is networking. We've tried finding a good way to help students who aren't good with Linux to access our campus network resources. LinNeighborhood is the best we've come up with so far, and that doesn't even get to the configuration issues that pop up for people trying to get their own linux boxen connected to the network. Come on, people. Most everyone using Samba is connecting to Windows networks. Windows networks usually have pretty much the same configuration. Why the heck can't we have distros that set up Samba by default, have Samba's default configuration be for a standard Windows network, and give users a decent system? On top of it, there is no good network browser. Apple gives me splat-K and pops shares up on my desktop. Windows gives me Network Neighborhood and acts as if all shares on a network are already in my filesystem. LinNeighborhood makes me mount everything, then forces me to go into the filesystem again and find where I mounted the share, and it asks me for my username and password every step of the way. In this case, I like the Apple model best. Give me a "connect to server" option in my start menu, and when I connect to a server, pop up an icon on my desktop.
While we're on the subject of things just popping up without any hassle, if your distro isn't using DevFS yet, get it switched the heck over. If the driver you're writing isn't DevFS compatible, get it working that way.
Anyway, I could go on and on, but the point is, there are a whole lot of details involved in a good desktop OS. Linux is a great desktop OS for me, but I am comfortable enough with Linux to handle the hassle, and I've made it over the 2-year learning curve. Anyone who thinks that drag'n'drop and a somewhat working office suite makes a complete desktop OS for the general public needs to get a clue.
There's not a single thing he mentioned that Mac OS X doesn't have. Not one single thing. If he hadn't mentioned it once in his article I would guess that he had either never heard of it, or was making a thinly veiled jab at the OS community for not achieving anything that comes close to the usability of Mac OS X.
If I had my own distro
(If I had my own distro)
I'd buy you a red hat
(but not a real red hat thats cruel)
SCO to Hell
There are two areas that most need fixing. Filesystem structure, configurability of apps, and other things aren't what need fixing most.
We need fewer, better (how about, doesn't crash often, for starters) apps and tools. After using Linux for several years for servers, this weekend I actually tried to use it as a desktop OS. I had a big mess of files, source, and other docs (of my own making) that I had to try to get organized.
Gnome Nautilus crashed frequently. It paused for several seconds at a time periodically (top showed no activity, no load). It didn't redraw all the time as it should. It sometimes wouldn't allow an operation (such as deleting an empty folder), for no apparent reason.
KDE (konquerer) was moderately better, but it still crashed periodically.
There will forever be debates over KDE vs Gnome, but the fact is, we'd be better off with just one desktop that worked (dare I say, as good as Windows). Windows has its problems, but it is much more reliable as a desktop OS, in terms of application behavior.
And then we have desktop apps - word processors, spreadsheets, etc. How many email clients do we need? How many word processors? There needs to be some consolidation and some serious quality improvement. Then we can diverge into competing products. But right now, in general, we have a bunch of decent, but still-too-buggy apps.
Last, we need more complete, universally supported OS management tools. Whether it's linuxconf, webmin, etc., we need one or two solid tools for helping non-shell users manage their OS. Right now we have some nice individual tools, and some decent tool umbrellas, but it's still not clean and uniform.
I know you can't expect people working for free to do exactly what you want, but it would be nice if half of the creative energy spent was directed toward some of these goals, rather than yet-another-IM, or WM, or screensaver, etc. Let's get one to three of each type of app or tool, and one or two desktop managers, etc.
.sigs are for post^Hers.
Who do you think you are? French?
Steve's Computer Service, Hobbs, NM
I think Linux could benefit from scrapping X and developing a new, fast GUI system like Windows or MacOS. X is too dependent on networking protocols and is just pretty goddamn slow all-around. It will take a lot of effort to make something like this happen, but if Apple could do it why can't the open source community do it too? Instead of developing Window Manager # 123480, people need to collaborate and make a common, consistent, and standard layout that all programs can use, without all the bloat of the gtk+ and QT toolkits.
How is typing /Sy[tab]C[tab]if[tab] any worse than typing /s[tab]if[tab]? Couple characters longer, maybe, but who types the full pathname anymore? Come on, get with the 80's.
"If he thinks he can hide and run from the United States and our allies, he's sorely mistaken." Bush on bin Laden
One thing that I didn't see him mention was a standardized GUI help facility with a search feature. It seems that most times I open a help file it is usually either a text file or html which only allows me to find keywords on the particular page I am looking at. xman doesn't count because it is not slick, is not showing text formatting correctly, is not hyperlinked, and man pages are being maintained less and less these days.
Since I started using linux (and I've been very happy with it) I've been saying a few things around "what it needs" in order to be a full-on desktop computer. Apps aren't the problem (Openoffice is great, mozilla/galeon/konqueror are great, Evolution is great, sylpheed is great etc. etc. etc.). The problem is overall use.
First of all, it needs a good package system. RPMs almost do it. Apt is great, but hasn't yet been implemented in a decent distro with user-friendliness abound (Not to mention debian stable trees are in serious need of more consistent updating. Gnome 1.6 just doesn't do it for me.)
Basically, what's in dire need is a decent implementation of a software installer. Something similar to RPMs with a decent program-specific gui. I guess what I'm really hoping for is self-extracting shell scripts. But the main problem I have with this is running them from a graphical mode. These days, I use mandrake's software installer, though that does nothing to help configure the programs themselves for my personal use, something that InstallShield has a definate advantage of. The Software Installer has a great implementation of urpmi and handles dependencies rather well.
Package management is the main difference between distros and is the one thing that makes one distro better/worse than another, other than installers. Frankly, though, I think that Mandrake and Red Hat installers have gotten to the point where they're about as good as a Windows installer. They just need a "really dumb user mode" that holds your hand down the whole way.
I dislike what the author of the article says about removing legacy support. This is what really bugs me about Lindows and Xandros: They're more user friendly but they do so by eliminating a lot of the advantages of linux other than the very low-level "keep it from crashing" stuff. I think the important idea is to render all the low-level uber-user stuff obsolete but still keep it available. Removing Legacy support falls right underneath this category. One of the main issues people have had with MacOS releases and Windows is that they only work on top-of-the-line hardware and the like.
Yeah, sure, some stuff _should_ require top-of-the-line hardware. I don't expect that UT2003 should run on my old 486. But the OS that runs it should, imo. Cross-compatibility for legacy hardware is probably one of the main reasons linux came into being and is one of the main reasons for its stability. This is what open source is thoroughly about: Making something everybody can use.
The main thing that linux needs though if you ask me on a developer standpoint is a user-friendly and powerful software package manager. Rpms and debs just don't do it. However, the _really_ important thing in getting linux to the end user in a nice package is simply to promote its use. The more it gets used, the more support there will be for it, the more support the better drivers and the like there will be. One of the main problems I've seen with people using stuff like Drake or Redhat is problems getting their hardware to run perfectly (under X and the like, soundcards and so on). There need to be better auto-detection and driver support, as there always has been. Probably the main reason I'm still using Linux today as my primary OS is that the first time I used Mandrake, _everything_ got detected right off the bat. Of course, I had problems with the software in 8.2, but by the time I got to where I am now, in 9.1, the ONLY problem I have is with getting wine running (Bamboo doesn't have the wine with glibc support, and I'm getting a plethora of other problems with the Cooker build).
So yeah. I guess that's all I wanted to say about that. Distro's are getting very close to being a feasible alternative for the desktop to Windows. It just needs more exposure and fewer people writing Windows-only apps.
Karma: Non-Heinous
You've obviously never used a DECwriter. Those keyboards were horrible.
-30-
I'd do away with packages & installers altogether in favor of directory-based applications a la RiscOS and MacOS. You can how this could work with the ROX project.
Drag 'n drop installation! Think of the possibilities! Of course if you have OS X anywhere you don't have to imagine it...
-- Cerebus
Instead of going and creating yet another Linux distribution, it would be more useful to create a very well-organized collection of inforamation on various programs that typically come with Linux distributions.
This would include basic setup instructions, troubleshooting, and everything related to that. In the applications section there would be data sheets for each application/group of applications, listing its data files and sizes, dependencies, suggested system requirements, and features in comparison to similar programs.
Interesting article. Some thoughts.
All that aside, I think a Distro should emphasize the following, in order:
Knoppix is a Linux distro that pretty much does what you want - it tries hard to detect almost any hardware and seems to succeed pretty well. You can try it out just by burning or buying a CD, no need to install on your hard disk until you're happy it does what you want. It's also Debian-based so 'apt-get' will get you the latest packages and figure out dependencies. Not so easy to install on an HDD but overall I'm very impressed - the closest I've seen to a plug-and-play Linux CD. See http://www.knoppix.net/ for more information, but beware that the site is not as polished as the distro.
If you have DHCP on your network, it auto-configures everything, so within a few minutes (takes time to boot KDE from CD) you have a working Linux workstation even if the PC normally runs Windows.
Here.
And the men who hold high places must be the ones who start
To mold a new reality... closer to the heart
If I had a Linux distro (If I had a Linux distro)
I'd wanna support your mouse (I would really support your mouse)
If I had a Linux distro (If I had a Linux distro)
I'd load a GUI for your mouse (Maybe KDE 3 or Gnome)
And if I had a Linux distro (If I had a Linux distro)
Well, I'd autoprobe your hardware (Hey, that's a nice NVidia card!)
If I had a Linux distro I'd fill your drive...
If I had a Linux distro
I'd load every package under the sun
If I had Linux distro
C'mon, you know it'd be lots of fun
If I had Linux distro
Maybe we could put like a little tiny package manager in there
You know, we could just like, run the package manager
Like, look at all the names and stuff
There would already be a huge list and everything
Like little packaged apps and everthing
They have packaged apps but they don't have packaged distros
Well, can you blame 'em
Uh, yeah
If I had a Linux distro (If I had a Linux distro)
Well I'd compile everything from scratch (Except Mozilla, that's just cruel)
And if I had a Linux distro (If I had a Linux distro)
Well I'd include O'Reilly books (Yep, with the llamas and the emus)
And if I had a Linux distro (If I had a a Linux distro)
Well I'd install millions of games (Ooh, all them crazy Minesweeper clones!)
And If I had a Linux distro I'd fill your drive...
If I had a Linux distro
You'd have every GUI under the sun
If I had a Linux distro
Well you know you can't use just one
If I had a Linux distro
We wouldn't have to eat Kraft Dinner
But we would eat Kraft Dinner
Of course we would, we'd just eat less
'Cause we wouldn't be making a dime off this thing
That's right, we'd probably have to eat Ramen, actually
Mmmmmm, noodles
If I had a Linux distro (If I had a Linux distro)
Well I'd update it every night (Just 'cause bleeding edge is cool)
And if I had a Linux distro (If I had a Linux distro)
Well, I'd bloat the kernel to death (Video4Linux and throw in ALSA!)
If I had a Linux distro (If I had a Linux distro)
Well I'd include a monkey (Haven't you always wanted a monkey?)
If I had a Linux distro
I'd fill your driiiive...
If I had a Linux distro, If I had a Linux distro
If I had a Linux distro, If I had a Linux distro
If I had a Linux distro
I'd be killed.
--
Sorry, but as soon as I saw the title of this story this had to be written.
End of lesson. You may press the button.
Only BeOS was more sophisticated with the GUI glued into the kernel. It was the most beautiful OS I had ever seen (havent seen OSX yet) and it somehow didnt make it. Lycoris Xandros Lindows etc are trying to push for the desktop but underneath its all Linux. With that comes the painful lack of standards, not even installation or LSB standards, and all the mess. Each of these distros is an island in itself with its community, packages, interface etc. You cant put ones package and install it on another, or take a user of one of these distros, put her on another and expect her to feel at home, and we're talking about the same OS. Anyone who even dreamed of porting J2EE or websphere to slackware say, knows this.
All these new OS companies are falling apart because of the inherent lack of a few things in Linux. RedHat, SuSE and Linus could help here, SuSE did chip in with their LSB, but it was obviously a bad investment. If a company like RedHat can be confident of their success, and create good industry standards without fearing being overthrown, the Linux desktop can finally take off. People could choose one distro, click n run any app developed by some teenager in his basement and it will work just fine. This will move far more users from Windows to Linux.
The BSDs could have done this but they seperated much longer ago. FreeBSD remains the biggest and have quite a clean system on their hands, ready for any major changes or making inroads in the industry.. but the same resolve that gives them the energy to build the most robust OS doesnt let them risk changing the direction of BSD too fast, for BSD is now a culture, and not of being a desktop OS of the masses. Thats why the author here chose FreeBSD. Apple can simply port OSX to x86 and be over with it, dangling it out like darwin is just rubbing salt on the pains of the already desperate crowd.
All the while the geekdom is sick of dual booting and cleaning spyware from the crashing windows installation. Linux is very very big out there, its almost made it. But it has such a long way to go to really reach the stratosphere.. or rather on everyones computer. It was this hope that pushed the tens of thousands of developers to code for the Free OS from version 0.01 to 2.4.20.(and all its associated GNU tools). We're not there yet.
I wonder what I'm doing in my windows partition now. I could be writing this in Linux+opera....
"Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
"...show the filesystem layout to your mother and ask her where an application might be located."
i love my best friend dearly, but she (an intelligent young woman in her twenties) didn't know what an APPLICATION was, let alone where she might find one.
this is Stephenson's "Metaphor Shear", methinks. we're too presumptuous about what a user wants, what a user needs, and (most importantly) what will SATISFY a user.
i, personally, think the only real computer interface that will be a success (apart from complete market saturation and the billions of dollars needed to enforce such a monopoly) is limitted, proprietary interfaces like you'd find at an ATM, or on a very basic cell-phone.
Adobe shouldn't be selling software for hundreds of dollars - they should be selling customized workstations for the same money! computers will only be the huge success this author and many like him describe when it is as intuitive as gaming consoles, regardless the OS/vendor/business. as a technician and "yes, i'll fix your computer" geek, i know that NO user likes Microsoft's product, on the whole. and when given the choice of Linux, the reason for staying with Microsoft has nothing to do with useability, it's just that they can go to Best Buy for software or repair.
when computers are *not* customizable, are intuitive, and never crash, the users will be happy. general computing is for hackers. focused computing is necessary for everyone else.
Few possible solutions, none perfect:
Warn user during delete if any symlinks are pointing there. Requires kernel filesystem rewrite.
Default "ls" should be modified to warn user that the file is a symlink. This may break many shell scripts.
Shells should have "ls" built-in. In interactive mode, it should warn users. Requires users to use one of these shells.
Second problem with symlink is that you can't move up and down in the hierarchy in intuitive way. If you do "cd x/y" followed by "cd ..". You should in directory "x", right? Not necessarily, if you are using symlinks. Since "cd" command is a shell built-in, the shells should be able to keep track of directory navigation and should be able to keep track of this, so that user would in directory "x" even if there are symlinks. This may break some unknown things.
In short, I believe that for home user, symlinks should not be requirement (no executible or scripts should use) and user must get visible signs that they are dealing with symlinks whenever they encounter one.
I think the artical speaks for itself... if he made that distro available I would not touch it and I doubt many others would either.
1) I am quite happy with the present directory structure. I do not want a bunch of symlinks - they are confusing and utterly unnecessary.
2) His idea of what apps to include probably will not coincide with mine. For instance - is he planning on including emacs? How about gcc and g77?
I'm sure he thought about gcc but I'll bet he forgot about g77.
3) He never mentioned the most important aspect of a distro - that is its upgradeability. This is the reason I switched to Debian... Debian can be painlessly upgraded.
I have an old machine with RedHat 6.1 in it. I bought a copy of Mandrake 8.0 Mandrake is NOT installed (does anybody want it?). The reason is the question of doing an upgrade. I _KNOW_ that the moment I try to upgrade that redhat box that it will break all over the place. If I wipe the drive I lose 3 years of work. In fact - if I were to take it out from behind the firewall - it would be hacked within the hour!
For me it was cheaper to go buy ANOTHER computer and leave the old one as it was.
4) He made no mention of security.
5) He has missed the most important areas where Linux needs work. I'd like to offer My Humbol Opinion. The work needs to be in the area of the functionality of a loopback mount. We need to be able to stuff a directory tree into a single file and have the OS mount it automatically - similar to the loopback but with the following difference.
When you do a loopback mount - the whole file system sees it. I want a mount where ONLY a single process tree sees it. This allows one to EASILY create a chroot jail for a user.
Several years ago I tried with Kurt Seifried to create a true chroot jail in linux - we failed.
This automatic mount to a single application could be say bash mounting into a given file or it could be a daemon mounting into a file or it could be an application mounting into a given file. This would make it possible to stuff a complete app into a single file which can be unzipped and pointed too. By doing this, different versions of an app could be simultaneously present in the machine and a user could switch back and forth with a simple pointer change. The pointer could be a symlink.
We are already partway there with the loopback and chroot. Where the problem is stems from the apps that are NOT chrooted. As an admin when I install say something like wxWindows - I would prefer to see only one file. As a user I prefer to see all the files in the package.
This is one step away from a true Virtual Machine for Linux - which we also need. Probably it can be done using User Mode Linux. But I think it should be supported right in the distro.
IMHO - the present filesystem was designed to be lightweight. When disks were 40MB it probably made sense. Now that disks are past 40GB I don't think it makes sense. When they pass the TB mark in a couple years - well - IMHO they are almost unmanagable now.
The underlying reason that this author cannot un-install the apps is because the apps are allowed to spew files all over the system. Most sysadmins don't even know where the files go and they simply trust the developers came up with a reasonable organization. If we go to a filesystem that allows us to force an app to live within a single file - then we can easily remove any old app - we simply delete the file it lives in. People can easily deal with a single file - where the problems come from is when we have 1000's of files and the make clean doesn't work right.
IBM had this concept fully developed years ago under VM/TSO. It was called a Partition DataSet back then.
If we had this concept in linux then for instance X-Windows might live in a file called XFree86_4.1.0.1.PDS and we might use something like ln -s XFree86_4.1.0.1.PDS startx
If so - then when startx is run - the PDS is mounted and the
Point one:
...without all the bloat of the gtk+ and QT toolkits.
X is too dependent on networking protocols and is just pretty goddamn slow all-around.
X is hardly dependent on networking protocols. Local client access to the server happens over Unix Sockets, a very low-latency, architecture-independent solution. Nor is X that slow. X ran jes' fine on my old 386 with 8 MB of RAM and 256K CL graphics card. Let's see the "fast GUI system like Windows or MacOS X" do that.
I think this is the core problem, not X.
Point 2:
Instead of developing Window Manager # 123480, people need to collaborate and make a common, consistent, and standard layout that all programs can use...
If Linux were a business, I'd agree with you. However, Linux is not a business; it's essentially a hobby. Linux' success is based not on the application of business practices, but by a bunch of people having fun writing software.
Sure, there's a lot of businesses interested in Linux, and contributing to Linux for their own needs. But this is after-the-fact; businesses have already accepted Linux. Now they are customising it to fit their own needs, or supporting it out of the understanding that what is good for Linux is good for business.
Anyway, this is all a lot of armchair quarterbacking. Linux is Linux is Linux. Telling a bunch of volunteer developers what they *should* be working on (instead of providing positive and useful feedback on they projects they *are* working on) shows both ingratitude and lack of understanding of the entire Free/Open Source culture.
Microsoft is to software what Budweiser is to beer.
1) A manual.
... I'LL GO INSANE.
No more man pages. Ever. I am as sick to death of plowing through all that crap as I know all of you are. If I have to deal with one more half-written, closely-worded, semi-irrelevant man page that doesn't even talk about the stuff I think I know I want to do but I have to read it because I think the command I think I want MIGHT have something to do with what I think I want to do
2) A good GUI.
Good means fast. Good means internally consistent. Good means programmatically consistent. Good means the programs actually USE the GUI. One thing I really like about Windows? Add/Remove Programs. It's right there. Talking about package this and package that makes everyone's eyes glaze over.
3) A good set of apps.
As the other guy said, let's quit jamming every stupid little command line piece of shit into every distro. Most of us never bother with them, and that's half the reason RedHat is 94 DVDs and can only fit on a shelf that's got concrete reinforcements. OK, I'm exaggerating, but seriously -- if the "competition" fits on ONE CD, how "bloated" is that?!
4) A good use of the Linux kernel and the Linux philosophy (such as there is one).
Do we really need to see 50,000,000,000,000,000 lines of kernel messages whenever we boot? Do we really need to have every messy, nasty part of the kernel hanging out and exposed? I'm sorry, but the more I work with Linux, the less I appreciate its design -- it's ten thousand times as crufty as anything else out there. I'm sick of getting library errors 'pon unpacking a distro straight from the CD, sick of not being able to figure out how to do X on this particular distro (which package manager is it again?... where do I find that?... uhhh...), sick of the fact that we have a GUI which most programs don't bother to fully exploit (no consistent mechanism for adding and removing an icon, for Christ's sake!)
5) A good level of internal consistency.
Linux needs to PICK ONE THING AND STICK WITH IT.
Sometimes a little internal consistency is not a bad thing. I don't need 300 shells and 129 different ways to boot. I need something that works, and I need to know that if something goes wrong with it, I can get better answers than "oh, here's the source code, you figure it out." I'm amazed more people are not as shocked by the essential contempt that such an attitude shows for the end user (i.e., the people who want to, you know, USE the computer instead of have to learn 30 programming languages to do every lousy thing).
There. Flame away.
After reading the article and after years of work in groups trying to make Linux more palatable to the end user, I pretty much agree with the author.
My 2 main differences are:
1) I think source should be online and downloadable. NOT in CD form is just fine, but if I do need to compile something new or recompile part of DistroX with a new option, I need to be able to get access faster than postal mail. I work for Sun, we use similar methods (postal mail or pre-paid downloads) and for my customers these methods just don't work. Put your source tree online, but don't put it in a CD format and label it clearly as for developers and you'll find almost no one downloads it except those who need it.
2) I disagree with moving to FreeBSD from the point of view of losing a LOT of development and it will very much hurt marketing. Apple didn't get bit hard by the *BSD thing, but that was because they were only concerned with selling to an existing desktop install base. If you are starting from scratch, being based on something (Linux) that the market has at least heard of with regularity is going to be a big boost.
I can see where there are big commercial advantages for not using Linux as your base, but I don't see them outweighing the benefits. I could be wrong, but that's the way I see it. By keeping your main system tools that do things like creating all the aliases, etc you are going to make it just as hard for a competitor to copy everything as you would if you based yourself off of FreeBSD.
NOTE: No matter what you do or how you do it, expect someone to try and clone DistroX. Therefore, spend a full R&D cycle (2-3 years) privately getting it POLISHED before you release it. If you start out significantly ahead of the game, it will be that much harder to catch up with you. When releasing, let it known that technically it is Linux, but don't HYPE the Linux. Hype the usability and compatibility. I know, sounds contradictory to what I said before about marketing, but Linux tends to market itself where people want that, you don't need to worry about it.
It is more productive to voice thoughtful opinions (reply) than to judge (moderate) others.
But I keep getting flamed that X is good enough.. its certainly not, for a desktop system. Its overly bloated, although switching to version 4 improved things and building more hooks that can use video drivers' speedups.. Beside removing the networking code, and optimising it for my duron, theres also the window manager layer there. I'm now strongly against it..
Should we have an option of incorporating the window manager at compile time, that should improve things too. And then the internationalization is a mess and thats improved too. This is true of Linux in general as well where people still see VT100 and have to remap their keys for functionality. Thats legacy bloatware X could do without.
Now if you move the video driver into the Linux kernel, replacing say the experimental framebuffer drivers, we would (1) have a great platform for console games with really good driver support, (2)make the X leaner and more general. This also removes the need for starting lots of code in userspace, imagine different X servers in different virtual consoles switching as fast as virtual consoles.
I would personally go with the QT interface with motif and gtk wrappers on TOP of it for porting older apps. By now X should no longer be called X since its so different. I would go with an optimised architecture rather than the legacy one incorporating the fonts and video card accelerators into it (many of these are too fragmented and in modules for X4)
"Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
This article has some (really) good ideas, but there's some pretty bad ones that would cause problems right from the word go. For example:
My developers are going to meet and agree on ONE desktop environment. Yes, we'll include the libs for the other major one we leave out.
Already you've fallen into the trap of pandering to the existing Linux crowd. Why ? Most of the other things you're doing are already going to drive away these people. Pick (or create) a GUI. Stick to it, customise it, tweak it "just so". Don't waste any developmental effort on another - let others do that if they _really_ want to. Every minute spent on including or developing stuff for the "other GUI" is time you could have spent making yours better.
[...] graphical, heavy on eye candy, with few visible options but lots of "Advanced" buttons.
Bad idea. "Advanced" buttons just allow for more mistakes to be made by newbies. If you *really* want to give the option for users to perform an "advanced" install (in which case you should really sit down and ask yourself *WHY*), then make it a well documeted *boot-time* option that can't be stumbled on accidentally. SImilarly with things like filesystems - pick on and stick to it.
I'm already stripping out a number of apps, so what I'm not going to worry about are libraries and system files. Even the minimal install will include every common system tool my develops can think of.
This is another bad idea. It's this sort of reasoning that *causes* library versioning problems. Include _only_ the libs necessary to support your included software and development on your "default" platform. Again, if other people really want to get app XYZ that requires libs ABC and HIJ to get working, they will. The only time this might be an issue for you is when your users are asking for a service your existing software doesn't provide.
On the whole, the ideas here are pretty good. It's obvious your objective (dream ?) is to create an OS X equivalent on x86, which is an admirable (and achievable IMHO) goal. However, you're also trying to pander to existing userbase by including options for this, options for that, etc. Don't - it's one of the biggest reasons Linux distros are difficult to approach for people who don't have the knowledge to make the necessary decisions between all those options. If you _really_ want to make "something new" then you have to make choices and stick by them. Certainly don't go out of your way to hinder people trying to port/develop for the new platform, but by the same token don't waste any of your development time and money re-implementing features (note: *features*, not specific bits of software) that already exist on your platform, just because a handful of users prefer a slightly different version.
The whole concept of distribution installation is getting a little frayed around the edges. Installing a distribution made sense when everybody had CD drives and few people broadband connections. It is making less sense now. It will make even less sense 5 years from now. Why not do something new for a change? How about a distribution that is only available on the net? How about using a P2P caching file system?
Think in terms of something that is a cross between NFS (20 years old) and BitTorrent. For example, when I access:
it goes off and downloads and locally caches the binary. If it needs any librarys, it downloads and caches them as well. The bottom line is that the user only downloads those files that they actually use and they do not have to decide beforehand what they want. Just use it! If it isn't cached on your disk, the system fetches it. If you want to upgrade, just change your path from: to:No install program needed, just start using the new bits. When a cached file hasn't been used in a year or so, it just gets deleted by the underlying system.
Please note, the Open Source community does not have to figure out how to charge for files downloaded, unlike some big commercial software companies out there. Thus, the Open Source community can make it easier to install and upgrade than the commercial counterparts.
Yes, I'm glossing over a bunch of very important issues (security, multiple platforms, configuration files, load distribution, etc.), but it is time for people to start thinking about doing things in new ways rather than the way we were doing them for the past 10-30 years. I'm suggesting that we actually innovate for a change.
-WayneX is too dependent on networking protocols and is just pretty goddamn slow all-around
IMO, X is NOT what is slow! It is KDE/Gnome/[insert slow desktop/window manager here]. If you want to see the speed of X all by itself, try typing 'X' at the command line. The X server pops up damn near instantaneously (minus anything useful though) on my P4 1.7Ghz, and it is still quite fast on my K6-2 450 (yeah I still have one of those). Also, I have noticed that recent versions of Gnome have improved startup times. Faster than KDE on the same machine in my personal experience. (I still use KDE though.)
All I have to so is switch to a lighter destkop (i.e. twm) and the startup time from 'startx' to "ready for use" is dramatically reduced. I see plenty of "X sucks" lately, but I don't see it as being X.
Just my 2
It is a huge directory and you can never tell what libraries go with what programs.
/apps/*/libs/;/shared/*/libs/;/system/*/libs/
/usr/lib.
Would it be possible to have linux search something like search the following:
LD_LIBRARY_PATH =
I would hate having an LD_LIBRARY_PATH 50 miles long even more than the rats nest of libraries in
I'm pretty sure you can't use wildcards, and libtool is just a huge verbose listing, and is black magic compared to a wildcard.
---- Smokin' another sig.
"I'm going to remove a lot of choice from the user, because, to many, it's more a gamble than a choice."
I agree whole-heartedly with that. When your basic desktop user is switching from Microsoft to Windows, all of those choices are guaranteed to blow his mind. Postfix? Sendmail? Qmail? Procmail, mailx, mailutils, maildrop, mailbase, getmail, fetchmail, mutt, elm, squirrelmail, kmail, sylpheed, evolution!? I don't know, I just want to check my mail! Why are there so many choices in the "mail" section!?
What ALL distros lack is sufficient documentation on what all of these packages are and why you would need them. Gentoo's description of fluxbox: "Window manager based on Blackbox -- has tabs." Yeah, that about sums it up. Now I know exactly what it is... uh huh. To anybody who needs a description of fluxbox, that's not enough. Imagine the user coming from Windows and reading that description. What's a window manager? What's blackbox? What are tabs? Do I need this?
The way to fix this isn't to just force the user to take a certain window manager. It's to give real documentation. A page, or two, or three. Better yet: screenshots. A picture is worth a thousand words, right? Each window manager could have 5 or 6 screenshots viewable from the installer, or maybe a little automated tour.. a slideshow or video that demonstrates its features. Every program should be well documented. Those that can't be described completely yet simply should include some sort of a graphical demonstration. Documentation should include who it's targeted at, what it does, and why you would need it. This could include a list of common tasks it is used for.
Similarly, a well-documented installer should have an index where users can search for specific actions like "reading mail" or "web browsing". Under each topic should be a list of available programs to do that task. Current installers allow you to choose pre-defined setups like "workstation" or "server". There should be more than just a few pre-defined choices, and they should explain in great detail what they install and why. Obviously, there are some people who just want to click "install" and have everything setup for them. But those who are really trying to get into Linux won't just want to have a box pre-configured for them. It's MUCH more valuable to have each choice explained. "This is fluxbox. Fluxbox is a window manager. A window manager is... Fluxbox was chosen because you selected the 'fast and lightweight' setup. Fluxbox's competition is:... Fluxbox was chosen instead of its competition because..." Sure, it would take forever. I know I would have preferred to have taken a long time but known exactly what was going on rather than installing in 10 minutes and taking two years to learn what all of my software is for.
Maybe a distro intended solely for introducing linux is in order. Not like Lindows and Lycoris which "introduce" you to linux by isolating you from it, but something that is more of an interactive tutorial.
Scratched Emulsion
i'd distro in the morning ... all over the 'net
i'd distro in the evening
i'd distro out freedom
i'd distro out justice...
...Distro owns you!
Seriously, aren't there too many distros as it is? The more we fragment Linux, the more our efforts are divided and the more work gets duplicated. In the name of what? Vanity?
I think we should pull together more, honestly, and quell the confusion so maybe Linux can finally grow up.
Chris
I agree with you. This is the most retarded idea I have ever seen in my life. I have a much better idea why don't we put everything under programs on the C: drive, this root idea is too old oh wait.... Being hit with sudden realization that the thing I dislike most about windows is that there is no ablility to manage the file system because the layout is stupid. Hmm maybe we should stick with the tried an ture directory heirarchy untill someone comes up with a good idea with obvious usablility benefits beyond "Hey cledus look I don'ts needs to takes no more time to learn what's got to go in what darn place." Why don't ppl think before the come up with dumb crap like this? There are two things software develops should be taught before anything else in school. 1. If it ain't broke don't fix it. 2. Before you try and solve a problem make sure there actually is one. 2b. Before you submit a solution make sure it actually solves a problem. Hey you MHS folks maybe you can see if there is a way to make it so we have to reboot to change our IP address while your at it.
Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
The directory aliasing, is rather trivial. I do something like this as part of my default installs by hand in a few minutes (example /root to /home/root, /tmp to /var/tmp, /var/www to /home/apache, etc...).
As for a repository of rpms that are distribution specific most distributions do do this. So your question about why they don't is moot. The issue with software occur when people try to install rpms from other distributions.
As far as libraries, certainly to a limited extent you could simply install all libraries but then frankly if you are going to do that go whole hog and just the apps as well and have only one software configuration you need to support. In general though you may not resolve all the issues of dependencies. Often apps need libraries compliled with particular settings. So if you are really going in this direction you are not only assuming quite a bit of harddrive space but also 2-3x as much ram. For a newbie distribution that isn't neccesarily that horrible but it should be understood.
Take a simple example. What languages are you going to compile into your interfaces for messages? English only (very limiting). Or maybe English and Spanish (now you have just added a lot because you now have to support some non ascii fonts)? But then are you going to have right to left support so that people can use Arabic and Hebrew? What about cyrillic support for eastern europenas. How about Unicode and if so will all Asian fonts have to use something like UTF8 (i.e. Asian text will be 50% larger than using a 16 bit font)? Most unix code will allow you to complile versions for various font sets, very few support arbitrary font systems and those that do are very complicated (see Oracle's excellent documentation on national language standards for a very good discussion).
Finally on the issue of apps you are showing ignorance here. Either you install one of each major type of app or you give people wildely different experience and install/offer lots of different apps. People always say "why do I need 12 different text editors" but what they forget is:
Emacs -- virtual lisp environment editor
note two choices which are incompatable if you want X support: GNU with X extensions or XEmacs
Also Emacs21 introduced library incompatabilities so you often want to offer 20 and 21 versions.
VI/VIM/Elvis/Viper -- vi environment. BTW often people who use one of these are quite picky
pico -- very simple editor
joe -- full features wordstarish editor
if we are going to offer joe what about jed?
beav -- good hex editor, also useful for people who need EBCDIC
yudit -- better for unicode users
etc... Mainstream Linux distributions on the whole handle this situation quite well:
a) Very nice default choices
b) Wide range of packages for people with specialized needs
c) The ability to install the thousands of other packages which are even more specialized.
The fact that you couldn't even make simple choices:
-- gnome only
-- open office only (though why pick gnome since OO isn't gnome specific)
etc... means you wouldn't be able to go the unified route.
Having a single place, shared library allows you to know exactly what library you have, and how vulnerable you are, in a single location. And if a vulnerability is found, you fix the problem in one shot.
unfinished: (adj.)
I found this thread hilarious. Some parts of the proposal are very iffy, but some parts of the criticisms are even iffier.
...
:-)
.... very much like the horrendous MS registry, although admittedly Unix retains some degree of sanity by keeping those centralized files separate and plain. :-)
Just to highlight a totally nonsensical (but very funny) comment of yours
In particular, spreading configuration files all around with their owners is a great mistake.
Hahahaha. Those files started out all in one place, together with their owner package, and it's you that says that the right thing to do is to spread them out all over the system.
Just to tease you a little more on this, the traditional Unix approach is centralized
There are pros and cons to both approaches, and I think that any reasonable person would have to admit that. Unfortunately, we're not seeing much in the way of a reasoned meeting of minds at all on this topic.
There is a danger here. While Windoze is still primitive compared to even a 15-year old Unix except in surface aesthetics, it will mature eventually, and if attempts to make even small and fairly reasonable improvements to Unix continue to be thwarted by barely-substantiated resistance to change then the future will not be rosey.
"The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
I've scrolled halfway through the posts and haven't seen anyone say it, so I will: He's describing Debian.
/system/commands "idea" is a clunkly thought out version of /etc/alternatives. His "One bog site where you can download packages that are guaranteed to work with your distro" describes the official apt repository nicely. His description of dependancy hell sounds like the experience of a RPM user--I wont say that Debian never has pckage problems, but I will say that I've only ever seen them in Unstable--on my Debian system dependancies are never an issue.
/bin and /usr/bin and /usr/local/bin (and on Debian at least their uses are clearly defined) but one bin directory for users and one for root should be enough. (The argument is (of course) partitioning. Mount /usr ro! /bin is on / so that the system always boots and everything else can be remote! I don't have an answer; maybe the HURD and its fancy merging directory thing will be the solution.) Debian can dictate such a change, if it could be agreed upon.
Okay, not now Debian, but a friendly Debian. His
I don't mean to sound like a Debian-loving zealot (though I probably am...) but 50% of what he wants Debian already does. Of the rest:
The revamped directory structure is a must. I've looked at it every way I can, but as far as I can see the old unix layout (while close to my heart) is not going to make desktop users happy. I've heard all tha counter arguments (and made most of them myself) so don't bother. I dissagree with his names, and I don't like the way MacOSX does it either, but something has to be done. Even if it isn't renaming (people can learn any names, after all) it should be depreciating certain practices and/or not allowing them. I know there are good reasons for
Limiting choice. This is a Very Bad Idea. limited choice is never, ever good--this is my firm conviction. But that doesn't mean there can't be sensible defaults. Make everything work automatically and TOGETHER automatically, and have all of the choices there for those who go looking. Maybe limiting packages on the install CD is worthwhile... but the choice should always be there. Debian limits nothing, and its default setup does not work perfectly... but it has potential. I can see it pulling itself up by its bootstraps and becoming a system that works together with itself.
Graphical installers. I'll say it one more time, I've said it before: screen one of the installer should be DOS/curses style and say "Easy install or Advanced install?" This is not to say everything he said about having the graphical install have advanced buttons isn't true; that's necessary as well. What this means is that the idiots can pick "Easy" while I pick "Advanced" and I get my sure-to-work-on-this-VGA-piece-of-shit installer complete with cfdisk partitioning and all of the gory details. There should never be a total reliance on a fully GUI install. Debian's installer is awful and could use some kind of option like this.
Liscense. BSD-style is nice, but GPL is Free. Non-GPL is not an option.
Kernel. This is another point in favor of Debian. It's (at least potentially) kernel agnostic. Linux today, NetBSD tomorrow, the HURD on Friday. A truly Complete Debian would allow you to pick any (supported) kernel you wanted at install time... be it Linux, or *BSD, or whatever. Doesn't matter.
As far as source goes... the debian way seems good. apt-get source. You can't do it by mistake, and it's not like archive material so few would get it "because it's free". Bandwidth problem largely solved (or at least not seriously aggravated) and you don't piss off zealots like me.
I will close by saying it again: Don't reinvent what Debian already does. Build a debian-based distro (a script could repackage many applications to use any new dir layout you choose). What this guy wants is a Friendly Debian and a little bit of proprietary code.
I want my Cowboyneal
It needs something new, something fresh, something that really rocks the Linux community's world.
The file system is a nightmare for a normal user. This has been covered in exhaustive detail by hundreds of articles, but if I'm going to run my own distribution, I'm going to make a sensible directory structure: /users, /apps, /system, /hardware, /downloads, /logs, /servers, /shared, and more. Then, using symlinks, we're going to recreate the current basic layout of the standard Linux/BSD filesystem to assist developers in porting applications.
If he wants to do something truly revolutionary, this is what he should do: throw away the notion "file system" and introduce the "information store". Let me explain: Although what he proposes (a file system hierarchy that makes sense) is probably the next step, it is widely known that the most important problem for computers today is that there is no uniform way to manage digital information.
Most applications have lots of code in them to save/load information to/from the filesystem. Most code is similar, and I have some experience on this, since in the company I work most apps share some code, but most importantly they share the logic to save/load data.
But the today's filesystems are really dumb. It's up to the applications to manipulate them. As a result, there is no way I can find any special information I like using a search utility. For example, if I wanted to find all the pictures that contain a picture of my child, there is no way to do that using Windows Explorer. And there is no way to formulate complex queries on the file manager level in any O/S of today.
So, in order to do away with all the problems and really innovate, the filesystem must be turned into a database. But a simple RDBMS system may be not enough. Why not turn it into an object-oriented database ?
Most applications have an object model in them. By "object model", I mean about a tree of instances of classes that represent digital information. Most popular apps like Word or Excel reveal their object model to the users through scripting engines (VBA for example) so the app can be extended in run-time without the need to re-compile the application.
If the problem is studied close enough, you will definitely see a pattern: "object model", "tree", "information". So why not code this at the operating system level ? Instead of having files, each file could be an object. And this object could contain other objects, making possible the organization of the information in a tree. Trees is most natural way to represent information, that's why almost every app has a tree (and that's why a tree control is one of the most important controls in gui libraries).
In order to extend this system further, the operating system should define a 'component object model', that is a binary interface to interacting with objects. Each object would be represented by a class, and the class's code could be kept by the file system and invoked when needed. Of course, this means throwing away the concept of "app", since the focus is now on the component.
Each object would manage its storage the way it likes, using the operating system primitives. Each object could contain other objects. Since the whole mechanism is strongly typed and the O/S would keep meta-information about the objects, the most basic problem of the computer is solved in an elegant way. A computer is about information I/O, search and computations on the stored information. This is a part which concerns most applications and it could be assisted by the operating system.
The object-oriented information system paradigm fits nicely with modern object-oriented languages. A programmer could make components using Java, C++, C#, VB, or any other language that supports effectively OO.
Let's see an example: the mail system.
My experience with Debian has been that "sudo apt-get install " will reliably install just about all of the programs I've tried
So will 'sudo urpmi'
RPM is a nice idea, but you have to actually find RPMs, which is a pain.
You're confusing the package format and the tool used by Redhat to manage RPMs.
Don't diss the RPM package format until you've tried a real packaging frontend (urpmi/yum/apt-rpm).
And don't make the mistake all Debian users make in comparing rpm to apt, you should be comparing rpm to dpkg.
When an application wants a web browser, it should run "web-browser [url]"
What about using $BROWSER, which has been in use for over 5 years?
One KDE:
$ echo $BROWSER
kfmclient openProfile webbrowsing
$