

If I Had My Own Distro... 823
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: (Score:5, Funny)
Prediction: (Score:4, Funny)
Uhm... (Score:2, Interesting)
This is probably linked to my own incompetence and not to the fact that it isn't feasible.
Re:Uhm... (Score:4, Interesting)
Re:Uhm... (Score:3, Funny)
no he can't, everybody knows that excessive use of static and sym links to work around crappy filesystem layout is IP of SCO, and they'll sue you for a gizillion schamolies if you don't have a liciense and a NDA on file Just ask the rabbit next thing you know the Weezles and Judge Doom will busting down his door with a barrel of dip in the paddy wagon
Re:Uhm... (Score:4, Insightful)
Re:Uhm... (Score:3, Funny)
NetBSD rules! Anyway, Gentoo Linux is an interesting new distribution with some great features. Unfortunately, it has attracted a large number of clueless wannabes who absolutely MUST advocate Gentoo at every opportunity. Let's look at the language of these zealots, and find out what it really means...
"Gentoo makes me so much more productive."
"Although I can't use the box at the moment because it's compiling something, as it will be for the next five day
Re:Uhm... (Score:4, Interesting)
NetBSD rules! Anyway, Gentoo Linux is an interesting new distribution with some great features. Unfortunately, it has attracted a large number of clueless wannabes who absolutely MUST advocate Gentoo at every opportunity. Let's look at the language of these zealots, and find out what it really means...
NetBSD is not my preference, Gentoo is simply an easier way of going about a linux from scratch source-approach than the actual LFS system is, and has a thriving community willing to help the less knowledgeable.
"Although I can't use the box at the moment because it's compiling something, as it will be for the next five days, it gives me more time to check out the latest USE flags and potentially unstable optimisation settings."
I rarely update my system. I do it whenever I either have some downtime, or will be away from my computer for a significant amount of time, like if I have a busy weekend coming up. (yes, I do actually do things other than use my computer.)
"Apart from Hello World in Pascal at school, I've never written a single program in my life or contributed to an open source project, yet staring at endless streams of GCC output whizzing by somehow helps me contribute to international freedom."
Idealism doesn't even enter into it. Yes, I program. No, I haven't contributed to any released opensource projects yet but I do have some things in the works. Nothing earth-shattering, as most of those are either in the works or I am not at that level of skill yet. I do not proclaim l33tness before the n00bs, nor do I consider myself to be particularly knowledgeable apart from areas I have worked on myself.
"Last month I tried to install FreeBSD on a well-supported machine, but the text-based installer scared me off. I've never used a BSD, but the guys on Slashdot say that it's l33t though, so surely I must be for using Gentoo."
Not a sentence of this applied to me. I have used Debian, Red Flag, Red Hat, Mandrake, Slackware, tinfoil hat, hal99 or whatever, and core linux. I found Gentoo to be a better fit for my needs, and also was better at handling dependency checks than the alternatives.
"I've spent hours recompiling Fetchmail, X-Chat, gEdit and thousands of other programs which spend 99% of their time waiting for user input. Even though only the kernel and glibc make a significant difference with optimisations, and RPMs and
Perhaps my machine spends more time compiling, but I spend more time not having to deal with it compiling. Portage does it for me, when I am not at my computer anyhow. I don't see how this is a logical arguement at all. You must use Windows XP. And I do use FluxBox, but its a matter of preference.
"...my overclocked AMD eMachines box from PC World, and apart from the third-grade made-to-break components and dodgy fan..."
Actually I roll my own. hand picked parts, good fans, good quality power supplies and drives, and yes I run AMD but no it's not out of Intel hatred. Also, I don't overclock.
"I'm too stupid to understand that circular dependencies can be resolved by specifying BOTH
Not true. I successfully used Red Hat without such problems for about a year. I found its defaults wanting. The best part of Gentoo for me is customization from the start at low l
Drop X (Score:3, Insightful)
Re:Drop X (Score:5, Insightful)
(sarcasm)
Yes lets just start over from scratch and abandon 15 years of gui development. I am sure in ten years the new system will be much better than the old system.
(/sarcasm)
BTW it is GNOME and KDE that are dog slow but that is the new "modern" stuff while "old" X and fvwm still runs fast and light (and looks better too).
It amazes me how quickly some people are willing to just abandon something because it has flaws. Almost all software of any real complexity has flaws but developers should not be so quick to abandon what works.
To the credit of the Mozilla developers, they did eventually provide a very good browser but when they started over, they nievely thought they would have a solid product by the end of one year! Mozilla is very simple in comparison to all the infrastructure and design used with and by X.
The lesson of "Easier said than done" seems to be ignored all too often. It is not fast or easy to replace a sophisticated working system. Many projects have been started to replace X but none of them have ever made it all that far because amazingly X works better and supports more software. If you want to use something else, go ahead. Nobody is stopping you.
Re:Drop X (Score:3, Interesting)
You might be interested in combining IceWM [icewm.org] with ROX [sourceforge.net] to get a good looking "desktop environment" without the bloat. (You will have to play around with text config files for IceWM, though, which is not everyone's cup of tea) ... but I actually find IceWM runs faster than twm or fvwm* - and it has many of the features of KDE.
Two Things (Score:5, Insightful)
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.
No! (Score:3, Insightful)
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. F
Re:Drop X (Score:3, Interesting)
In reality, I think you'll find that we're fairly much stuck with X. And while ever there's gtk+ and qt, w
if i had a distro.... (Score:5, Funny)
Re:if i had a distro.... (Score:3, Funny)
"If I had my own distro..." (Score:5, Funny)
Re:"If I had my own distro..." (Score:5, Funny)
Re:"If I had my own distro..." (Score:5, Informative)
Apple indeed quit working on Linux, but it did at one time distribute a linux system called mklinux [mklinux.org]. It was based on RedHat and had a mach kernel rather than the normal Linux kernel. Whether that makes it not Linux anymore is certainly an interesting academic question. Of course, Darwin ended up taking away a lot of the development that used to happen on mkLinux. Apparently work has gone slowly, as in the 5 years or more I have been looking at this project off and on there still has not been a "release" though it appears the site is being updated and release candidates being released.
If I Had My Own Distro... (Score:3, Funny)
;-)
Hmm... (Score:3, Insightful)
Thois guy has a lot of ideas but most are just opinions on what's wrong with Linux. If he was a developer and knew what was actually entailed in running a distro, I might listen. But most of his opinion seem to be: "let's make Linux btter by making it more like Windows."
Re:Hmm... (Score:5, Insightful)
Yes, it indicates that he doesn't have a distro. Good job on putting that together.
Thois guy has a lot of ideas but most are just opinions on what's wrong with Linux.
Hang on there, slappy. And idea and an opinion are two different things. He does have an opinion about what things are broken. In addition to that he has ideas that he feels will correct said things.
If he was a developer and knew what was actually entailed in running a distro, I might listen.
Do developers have a monopoly on creating a good user experience? I'd say just the opposite is true.
But most of his opinion seem to be: "let's make Linux btter by making it more like Windows."
Linux does a LOT of things better than Windows. And Windows does a LOT of things better than Linux. So what's wrong with wanting to incorperate some of the ideas of gates and putting them into Linux? You can bet your ass billy is adding Linux features to Windows.
Re:Hmm... (Score:5, Insightful)
No, but I've worked on products where the techies made all of the choices. They generally came out crap, and the users complained a lot. There is a definate balance that needs to be struck when it comes to requirements gathering and design, I certainly won't deny that.
Some ideas look good on paper but when it comes to trying to pratically implement them (something developers have a lot of experience in doing) that's a whole different ball game.
Of course, and there are a lot of reasons for that. Requirements were not properly comminicated (created a cool sounding feature that doesn't do exactly what it's requestor THOUGHT it was going to do), Developers lacking the skill and/or to properly implement, or any other number of things. Most of these things can be caught before coding time is ever spent, though, given a competent team.
I'd also like to add that my post above was in no way an endorsement of ANY of his ideas. Only a defense to the concept of actually providing them. If you'll look at the fellow who I was replying to he pretty much tells us that since the guy was not a developer/had not released a disto that his opinion in matters of what can make software better were worthless.
But a lot of his ideas seem to be: we should do something such and such a way without having any idea what actually getting it to do it that way actually entails.
I'm going to go out on a limb and assume that you are a developer yourself, or at least familiar enough with the process to recognize this:
Customer comes up with idea. Customer comes up with GOOD idea. Yes, it happens
The fact that he doesn't have a distro indicates that he may have good opinions(and ideas) but they are not tempered by any actual experience.
Ah, that's where you are dead wrong. He may have a lot of experience as a USER of a system. And this experience could put him in even a BETTER position to have ideas that will positively impact HIS experience.
An example: Let's say I spend 8 hours a day writing software so research departments in banks can retrieve microfiche images of checks that customers request. Mitzi Lowiq spends 8 hours a day using the software actually fulfilling those customer requests. Don't you think she is equally (if not moreso) likely to have ideas for the product that will make it better for HER as a user?
As for making Linux more like Windows? Just becuase Bill Gates adds our good stuff to his crap doesn't mean we should add his crap to our good stuff.
Nope, you most certainly should not. And I didn't say that. I said that there are good parts. If you fail to see *anything* worthwhile in Windows, then...
There's a reason (Score:5, Insightful)
But do you know why? It's because windows has it right. Windows is a really good operating system -- in theory, at least. Like the article suggests, it has a way of launching one browser anytime you load a URL from any program. It has a way to install/uninstall programs (well, kinda). Microsoft has already figured out the way to setup the interface.
It's just that their implementation sucks, and half the times things break / don't work properly.
Re:Hmm... (Score:3, Funny)
Yes, it means that he has come to the realisation that you don't need to make another distribution to make Linux better.
Ximian [ximian.com] have exactly the right idea. Their product practically revolutionised your desktop in the GNOME 1 days; with things like OpenOffice.org for GTK2, I imagine Ximian Desktop 2 will have a similar impact. Not a distribution, but an add-on for others.
The next best thing is building on top of Debian [debian.org] - then yo
If I had my own distro... (Score:5, Funny)
Leave it be! (Score:3, Insightful)
Just Buy OS X and get it over with. (Score:3, Insightful)
Comment removed (Score:5, Insightful)
Re:Just Buy OS X and get it over with. (Score:4, Insightful)
I simply cannot afford the outlay on an Apple machine capable of running OSX at a good pace.
I think its a wonderful OS, and I think the Apple hardware is ace.. but I can only afford either a PC or an Apple. Right now, the Apple doesn't do the things that I need from my Wintel PC so I won't be switching any time soon.
If Apple released OSX on x86, then I would be a happy happy man
Re:Just Buy OS X and get it over with. (Score:4, Funny)
It saves you money :)
(Note: I was once hardcore pro-mac. I like to think of myself as reformed now. ;)
"What Linux Needs," my reiteration. (Score:5, Insightful)
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
Re:"What Linux Needs," my reiteration. (Score:5, Insightful)
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?
I fully agree with you. The Windows UI might be nice, but if you don't offer full Windows functionality it can get confusing. In fact, one of the first things I get after installing KDE was change everything around until I found a style that suits me, which happens to be a hybrid of OS X and Windows, with a little bit of BeOS thrown in, and some of my own special magic.
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.
Except for the fact that Gentoo is really only for "advanced users", it fits the bill pretty well. By forcing you to manually install everything you want, it cuts WAY down on bloat.
Re:"What Linux Needs," my reiteration. (Score:3, Insightful)
I don't think the person was commenting on bloat, but confusion. More choice causes most people to be confused on topics they're not familiar with or may feel uneasy about. Some people don't want more choices.
I don't want to have to decide between 5 guys to fix my car. I don't know who to trust or what I'm getting into.
Re:"What Linux Needs," my reiteration. (Score:5, Interesting)
First of all, I would like to say that I have no objections on multiple pieces of software that do the same thing, after all, variety is good. Whether they should be included in a distro, well, that's up to the distro.
There's different Linux distributions out there that have different purposes. RedHat seems to be going after the office market, Mandrake, the home user, Debian, the person who wants complete freedom (as in speech), Slackware, the tinkerer, etc.
I've actually had visions of making my own distro, similar to the article author - I've gotten so far as to building my own program (on Freshmeat) that parses the Linux From Scratch XML file, to generate scripts to do an (fairly) automated build. From there, I would then decide on which packages I'd like to standardize on (KDE probably), and build them, make a nice installer, and there's my homebrew Linux.
Personally, I don't care if Linux ever gets complete mainstream acceptance, and I get the feeling that many of the core developers of the kernel and other bug projects feel the same way. However, I would love to see a good distro that:
1. Does not use RPM for package management (I've had RPM screw up way too many times in the past).
2. Has a decent GUI installer
3. Can configure all of my hardware without me tewaking it (I'll understand for some of the latest/greatest hardware, like my AIW 9700 Pro, but for instance, getting wireless setup on my laptop with both RedHat 8.0 and Slackware 9.0-pre was a pain)
4. Very configurable
The biggest obstacle to a lot of this is that writing programs (or frontends) that are easy to use is a pain. It takes a lot of work to design a GUI, and a lot of programming, and sanity checking, and for most of these developers who are working for free, it's just not worth the time (unless the program absolutely requires a GUI).
Until then, I keep dreaming of my magical Linux distro... What keeps me from doing it is my full-time job as a programmer, which gives me little incentive to code at night.
-- Joe
Re:"What Linux Needs," my reiteration. (Score:5, Interesting)
1. Does not use RPM for package management (I've had RPM screw up way too many times in the past).
2. Has a decent GUI installer
3. Can configure all of my hardware without me tewaking it (I'll understand for some of the latest/greatest hardware, like my AIW 9700 Pro, but for instance, getting wireless setup on my laptop with both RedHat 8.0 and Slackware 9.0-pre was a pain)
4. Very configurable
Knoppix? [freenet.org.nz]
Seriously, Knoppix seems to have everything but a ``push me to repartition the hard drive and install automagically'' button. That link makes it look as if getting that magic button wouldn't take much effort.
Re:"What Linux Needs," my reiteration. (Score:5, Interesting)
It could really use a nice index (not a list; an index, where you could look up "Web Browsers, m-something") of available packages. It could also use a nice index of the packages you have installed.
For that matter, it would be nice to be able to type "apt-get install some clock" and get a nice clock. Not a particular clock, since the user obviously doesn't care, but one that some maintainer likes. And it should appear in menus as "clock", not as whatever the clock package is actually called, because the user doesn't want to know. If somebody wants "xclock", that's available to, as "xclock".
When an application wants a web browser, it should run "web-browser [url]". That's a symlink in ~/bin to the user's current favorite web browser, or a symlink in
Re:"What Linux Needs," my reiteration. (Score:5, Insightful)
Re: "What Linux Needs," my reiteration. (Score:4, Insightful)
> If you want Windows people to use Linux, we need distributions to do a few things:
Maybe we should start by questioning some assumptions, such as: Do we want to roll Linux to appeal to Windows users, or do we want to let it seek its own niche?
The GNOME 2 "less is more" mantra may appeal to Windows users, but it makes some of us wonder how to get the missing functionality back. Let's not drag the whole game off in that direction.
Re:"What Linux Needs," my reiteration. (Score:3, Interesting)
I know a lot of distros are going this way (RH 8.0 and the unified desktop was a step in the right direction and they ditched a lot of apps from the menus, just leaving one of each; MDK 9.0 and 9.1 have the right installer for any newbie to use, perhap
Re:"What Linux Needs," my reiteration. (Score:3, Insightful)
The problem with making Linux not just a clone of Windows is that it's always (from the X perspective) been a clone of Windows. Motif was designed to offer the functionality of the HP VUE system and the visual elegance of Windows 3.1. I kid you not. Motif still remains as the single biggest influence on Linux desktops today. QT 1.x offered just two styles - Windows and Motif, Motif being a clone of Windows. GTK was always a blatant Motif clone. Other styles changed th
Re:"What Linux Needs," my reiteration. (Score:3, Informative)
http://slicker.sourceforge.net/
Cloning Windows? the screenshots I've seen of latest Windows betas seem to suggest they've lifted a few ideas from the Unix desktop as well.
Re:"What Linux Needs," my reiteration. (Score:4, Interesting)
If you're a power user, then you know what you're looking for and how to go find it. When you're a new user, these little interruptions slow Linux's adoption.
That was one of the first things that slowed me down when using Linux. That and everything began with K. Yeah, real Kute. Kwhen Keverything Kbegins Kwith K Kit's Konfusing.
MY DISTRO!! (Score:4, Funny)
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
Linux Distro .. umm wait ... (Score:4, Insightful)
Ok
We're a company first and foremost, and so our goal is to stay in business and make money. We'd have to achieve this in two ways:
a) first off, we should probably base our distribution on the FreeBSD system. FreeBSD has many drivers, boots much quicker than Linux, is very clean code, and most importantly, has a much more liberal license.
Wait a second
Hu?
You should know better... (Score:3, Insightful)
Here, I put the quotes into the ManagementSpeak part of Babelfish:
So I'm in charge of my own personal Linux distribution, DistroX, and here's what I'm telling my staff and engineers
I make sure people show up to work and have unreasonable project milestone deadlines. Here is what I'm saying when our employees are asleep during meetings.
We're a company first and foremost, and so our goal is to stay in business and make money. We'd have to achieve
Re:Linux Distro .. umm wait ... (Score:3, Insightful)
Well (Score:2, Informative)
He asks for a website where he can go download things that will automatically work on his distro, pretty much every distro has that.
He asks for automatic dependancy solving, that's not a distro problem, that's a packager problem. There is apt for Red Hat and debian, or up2date on Red Hat if you want to pay, there is no reason to put all deps in every package, that would make some packages three or four times l
Re:Well (Score:3, Informative)
urpmi
Being a Mandrake 9.1 user, he should know about that...
My wish (Score:4, Interesting)
Re:My wish (Score:5, Informative)
apt-get install it in Debian; all of a sudden your system will load whatever modules it needs at boot! No more adding your network card to
(Note for stable users: get the latest discover-data source from unstable and rebuild the package for stable; it's just a PCI ids list - no software - and it detects a lot of newer hardware, and has better support for 2.4 kernels.)
Alternatively, check out a list of other interesting hardware detection information at debian-devel [debian.org], and you can even find a link to a Mandrake script to port databases between the systems.
I've always wondered... (Score:5, Interesting)
* Use a filesystem layout like he describes, with long, verbose, friendly names.
* Use a centralized configuration storage system like LDAP (or NetInfo if netinfo didn't stink).
* Use buzzword-compliant technology throughout
* Come up with a modern window system like X on weight-loss pills that doesn't need a hack or add-on module to do the stuff that most PCs do today.
* Use a virtual machine like
Now you might be thinking, well that's just OS X. Well, in a way. But OS X is still too unix-y. I mean rip out ALL the unix stuff and start over with OS X as inspiration.
I dunno, I used to think about this a lot between the time NeXT disappeared and Mac OS X appeared. But OS X is "plenty good enough" so I don't think about it much anymore.
But the question is, what would we get if we took the Linux kernel and put a new OS around it?
Re:I've always wondered... (Score:4, Interesting)
LinuxSTEP, for instance, has reworked the filesystem layout a fair bit, towards a more NeXT/OS X-ish layout. The Simply GNUstep project was working on an alternate, light-weight windowing system, NuVu [sf.net]. Both use Objective-C, as the GNUstep [gnustep.org] framework is an integeral component of each.
While they might not offer a very usable system at the current time, they might be more viable options in the future, and perhaps might be worth following or contributing to.
(MHS) Modern Hierarchy Standard (Score:4, Informative)
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.
Re:(MHS) Modern Hierarchy Standard (Score:5, Insightful)
One of the things I like about Unix is that it helps power users and programmers get done what they need to get done, simply making everything more verbose and harder to type won't be of help to anyone, expert or novice, IMHO, anymore than COBOL is more friendly to programmers than C.
Re:(MHS) Modern Hierarchy Standard (Score:5, Insightful)
Example: "/var => mostly placed under /System" The /var directory exists to collect the stuff that programs have to have write access to, like logs, spools, locks. There is some advantage to mounting e.g. /usr/bin read-only on production systems while mounting /var read-write.
Example: "/bin => /System/Commands.../usr/bin => /System/Executables" The stuff in /bin (and /sbin) consists of programs you need to rescue a system that has gone nuts, e.g. ps belongs in /bin and pstree goes in /usr/bin. It makes no sense to call one of these a "Command" and one an "Executable".
Example: "/opt => /Apps" What is the difference between a "Command", an "Executable", and an "App"? Is mozilla an executable or an application? This is very like metaphor shear. These three different names seem to mean three different things, but really they are essentially synonymous, so all this will do is create confusion as people try to understand the difference when the categorization is in fact utterly arbitrary.
The goals: "100% Application Directory Oriented" which means what? "Internationalization of Directory Names" has nothing to do with moving around /bin etc. "More Intuitive Directory Names" Demonstrably false--see above. "Fewer Root Directories" so what? What value is there in have fewer root directories, when all you are doing is creating more subdirectories? "Increased System Flexibility" how is flexibility increased? "Applications would no longer need to hard code directory names." Any hardcoded directory compiled into an app is probably a bug (unless it is easily over-ridden with an environment variable). "Set of environmental variables pointing the location of major system directories." What is the difference between hardcoding a directory name like /tmp and hardcoding an environment variable like $TEMP? NOTHING. (As I said, a decent program will do something like use $TEMP if it exists and fall back on /tmp.)
This is the best: "The standard will not be finalized until a Linux distribution ships based upon it." I have a good idea when that will happen.
"Keeping files together" all over the place :-) (Score:3, Insightful)
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 mo
Re:"Keeping files together" all over the place :-) (Score:3, Insightful)
What you said doesn't even pass as meaningful English. You are claiming that I want config files spread "all over the system" by putting them all together in /etc.
I will explain, since the point of this escapes you. A system may have hundreds or thousands of configuration files. If every config file is off hiding with its associate
Re:(MHS) Modern Hierarchy Standard (Score:4, Insightful)
All of the problems you see are UI problems and should be taken care of in the UI layer. I believe the best thing about *NIX is its seperation of duties and layers. No need to make *NIX more like windows in the respect of mixing layers. Fix UI problems in the UI and let the fs be the best FS it can be. Oh, and there is support for FAT16/32 and other case-insensitive FSes in *NIX. I believe the driver converts all of the paths to upper case. Maybe tab-completion in your shell doesn't work the way you want, but then you should fix the shell.
Others have pointed out most of the other flaws in your proposal. Hard-coding should be considered a bug, etc. People will ignore your suggestion for environemnt varibles just as much as they ignore good design practice now.
You should look at Plan9. Each user has a custom view of the filesystem, kind of like chrooting every user, but much more elegant. You could implement your proposal that way if you wanted and it would indeed be more elegant than the *NIX single-rooted fs. However, your proposal makes changes at the wrong layer. Move up or two in the layers of abstraction. You're too used to windows where it's painfully obvious which "drive" your files are on. Under *NIX, if you care you can type "df" and see what's mounted where, butoterwise you don't know which physical volume your data is on, nor should you. Think abstraction layers. They make things cleaner and more flexible.
Drag + Drop installs (Score:5, Insightful)
--
Yes, I posted this on OSnews.
Re:Drag + Drop installs (Score:5, Insightful)
It is superior to have differnet applications calling on the same library, as this reduces bloat on the HD, reduces RAM-usage, and creates a single point from which stability and performance issues can be addressed accross different applications.
The problem is managing these things well so that you don't get into . hell. Gentoo does a pretty damn good job; RedHat does a pretty damn bad job.
Why should every application have it's own private version of said library (say GTK)? This just means that lots of space is wasted on the HD, and the user has to spend more time downloading stuff. Furthermore, if the user wants any performance improvments to be gained from libraries that multiple applications use, (s)he will have to do this for every single application individually.
Re:Drag + Drop installs (Score:3, Insightful)
3 years ago, I paid $200 for a 10G hard drive. Today, I paid $200 for a 100G hard drive. RAM's pretty cheap too.
Unless you're telling me that the Earth's rotation has slowed (I haven't noticed) to the point that you now have 240 hours a day to work out library interdependencies, I say it's time to fuck dynamic libraries and the horse
there's more to it (Score:3, Insightful)
Re:Drag + Drop installs (Score:3, Insightful)
This leads to rather frustrating scalability problems - if you upgrade from RH7.3 to RH8, or even 9, you have to find new packages, the old ones are, well, risky. As Redhat (and many other distros) rev approximately every 6 months, and there's a bit of lead
While We're At It... (Score:5, Funny)
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!
Choice == Good, Too Much Choice == Bad (Score:5, Insightful)
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
Re:Choice == Good, Too Much Choice == Bad (Score:3, Insightful)
If only.... (Score:3, Insightful)
I used to have my own distro (Score:3, Insightful)
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 I Had My Own Distro" (Score:3, Insightful)
"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.
please (Score:4, Informative)
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.
How about somebody else's distro? (Score:5, Insightful)
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.
Try Knoppix (Score:4, Interesting)
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.
Re:How about somebody else's distro? (Score:3, Interesting)
A couple more. . . (Score:5, Insightful)
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.
Mac OS X (Score:4, Interesting)
I'd rewrite a song (Score:3, Funny)
(If I had my own distro)
I'd buy you a red hat
(but not a real red hat thats cruel)
Fewer, Better Apps & Tools (Score:3, Insightful)
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.
Better help facility (Score:4, Insightful)
What I've been saying for the last year.... (Score:4, Interesting)
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.
The masses are being trolled! (Score:3, Interesting)
Re:The masses are being trolled! (Score:3, Insightful)
Maybe I'm thinking wrong but is this not a violation of the GPL. I seem to recall that you *have* to make source available in the same format that you make the binaries. This guy comes off
My #1 desire--- (Score:4, Interesting)
Drag 'n drop installation! Think of the possibilities! Of course if you have OS X anywhere you don't have to imagine it...
Choice/No Choice (Score:3, Interesting)
Interesting article. Some thoughts.
All that aside, I think a Distro should emphasize the following, in order:
With apologies to the BareNaked Ladies (Score:5, Funny)
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.
He sounds like the former BeOS CEO. Still at it. (Score:3, Interesting)
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....
symlinks (Score:3, Insightful)
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.
Re:symlinks (Score:3, Informative)
You have no understanding of how symbolic links work.
If you really think this is such a problem, use hard links!
You're making claims out of your ass that "kernel filesystem" needs to be rewritten simply because you don't understand the difference between hard links and soft links.
Congradulations, your stupidity has caused me to no longer read comments on slashdot.
I can't believe how bad it's gotten...
nutz (Score:5, Interesting)
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
My distro would have... (Score:3, Insightful)
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.
Re:My distro would have... (Score:5, Insightful)
1) Yes we DO need to have every little command line utility. While you may not directly use them - the underlying scripts very well might. Besides they are small... and some of us actually DO use them.
2) Yes we DO need to see those 50,000,000,000 kernel messages on startup. I would NEVER have been able to get my soundcard working without them. I don't like being stuffed in a closet and treated like a Mushroom the way M$ does it.
Suppose your boot hangs. Where would you be then?
3) Linux will NEVER pick one thing and stick with it. No operating system ever did. Look at M$. NT contains the OS/2 character mode libraries. That means I can run the OS/2 version of Breif. It has since been removed from w2k or XP thus - I will NEVER upgrade.
NT, w2k and XP still contain DOS and win16. Talk about crap eh? But people need it.
The thing is - were we to ask 100 people in a room what they needed - we'd get close to 100 different answers.
4) I agree with the man comments. Man needs to be re-written. We maybe need to look at a wikiman.
5) so how would you elimiate the 30 programming languages? Would you discard the perl stuff? how about bash or csh? Maybe discard tcl or gtk eh? What about python?
Each of these languages is there for a reason. Each is doing a job and removing any one of them would leave a rather big hole.
I do agree mind you that the learning curve is rather horendous. We can do a much better job of documentation I think. That would really help matters.
DOS was the cut down version of linux that only did some things one way. So if you suggest going in that direction - then the question comes down to what parts you'd like to throw away.
Maybe you should look at OpenBSD. For servers it is lean mean and clean. I love OpenBSD on my servers. But on my desktop - I like Linux.
Problems from the start (Score:5, Insightful)
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.
What about no install program at all? (Score:4, Interesting)
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.
-Waynefreedom of choice (Score:5, Insightful)
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.
Re:freedom of choice (Score:3, Interesting)
Your post got me thinking... and that's sometimes hard to do.
People hate tutorials. If they actually liked learning stuff they'd read all of the documentation that abounds before they went through the install. I know I sure as heck didn't know what the differences were between AfterStep/WindowMaker/E
My reply to adam on OSNews (Score:4, Insightful)
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.
In summary: A friendly Debian (Score:5, Interesting)
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.
What Linux truly needs is: (Score:3, Interesting)
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.
Re:FHS-MHS (Score:3, Funny)
Re:FHS-MHS (Score:3, Insightful)