UserLinux Proposal (And Analysis) Now Available
Lucky writes "Bruce Peren's idea for UserLinux was much discussed on Slashdot some weeks ago; however, there was no formal proposal. Linuxworld is running an analysis of the proposal and links to the first draft."
Which one is more likely to grow the most mindshare in the future? I'd be interested to hear some opinions.
Personally I think UserLinux or something like it will prevail in the end. Red Hat exercizes too much control over Fedora IMHO.
UnitedLinux to date seems to have had very little impact on the Linux user community - due to SCO's participation and the lack of unilateral support by Linux distribution vendors, most notably Red Hat.
...
Yes, having SCO and RedHat as organizations supporting your Linux project is a bit of a handicap
"A door is what a dog is perpetually on the wrong side of" - Ogden Nash
Why not a linux-games CD, for example?
There are tons of games on freshmeat.
Generally linux distributions are too scared and following the SYS-V standards: init scripts, a compiler, a shell, GNU shell utils and that's it. No innovation man!
I'm not stuck on the UserLinux name, and would listen to alternatives. I proposed gnUserLinux, but RMS didn't like it! He feels that having the GNU up front would signify that it's an FSF official project. UserGNULinux doesn't roll off of the tongue quite as easily.
I'm wondering why these ideas just can't be incorporated by the Debian project itself. They have a desktop subproject, why not just rally around the Debian banner ?
"Based on Debian" is great, but why not convince the project itself that this is the direction to go? Wouldn't this do nothing but improve the distribution? Who would be against that?
* GUI everything: If it's not a system crash, the desktop PC should be able to handle everything in GUI. Perhaps console programs that have a GUI counterpart (you run guiFdisk and you get a pretty "partition magic" type interface, but the real work is done by fdisk). Both parts would probably need to be written together for this to work seemlessly.
* Look to Windows. I hate to use them as a Linux standard, but seriously! If Microsofts 'Distribution' can do it, UserLinux needs to at least take note of it. Where Microsoft is criticized, Linux in general needs to be careful. I'm not just talking about critisism FROM the Linux comunity, but major distributions need to keep tabs on what excites/displeases regular win23 users.
* I don't know enough to comment on how the system should keep tabs on packages, but it would be nice to be able to make sense of dependancies. This isn't a specific recomendation, just a general thought: remember the "device manager" tree in Windows, something like that with at least two tabs. One would have at the top level only packages that have no dependancies. The next level would be packages that directly rely on them, and then the packeges that rely on them, and so on. The other tab would work the opposite direction, starting with a list of all packages and branching into the packages that they rely on. Perhaps the user would even be able to click on a package and get more detail. Something of this nature would allow users to get a sense of 'whos who' among their packages.
* Shoot for the next generation Linux, but do it while aiming at a more distant target. It would be very nice if 20 years from now UserLinux was not a hack upon a hack to keep it up to date (not suggesting that anyone else is).
* Don't lose track of all the user input. This is probably reduntant for me to say, but I'll say it anyway. Michael Collins who rode Apollo 11 wrote in his book "Carrying the Fire" that he kept a notebook and everytime something ocurred to him about the mission he would write it down. If he was in a resturaunt, he would write it down on a napkin, take it home, and copy it into his notebook. He refuse to launch until every concern in his notebook was checked off. Keep track of all good user input in one place.
Finally,
GOOD LUCK!!!
("You're going to need it.")
There's already tons of distributions that are focused on end users -- It's really unclear what the point of another one is. It seems like this is just an attempt to make Debian more popular by packaging it better, but it's not clear why a that can't be done by the existing Debian project.
Also, the idea that YA distro could become some sort of "standard" reminds one of SCO's "UnitedLinux" plan.
I think part of the point of UserLinux, and standards in general, is just to tip the scales when less involved developers make choices.
When I'm developing software I frequently come to a decision point where there's multiple protocols, implementations, or standards I can support. I often (usually!) don't care about which one I use, so long as it's not insanely bad. For example, I don't care where my program's files go, so long as I can find them. I don't care what port I use, so long as it doesn't conflict with other programs. I don't care about the file format, but it would be nice if other tools could handle it. And so on.
Standards make it easy to make a decision in these cases. Because lots of decisions are important but not useful. Let a standard committee figure it out for me -- whatever important details there are that I don't understand, they can think about those. And when they are done, they don't have to present a justification of why they are right -- they just have to tell me, the developer, what I'm supposed to do.
Competition can be useful. But only when it's interesting. I know, things that are interesting to one person aren't interesting to another. I don't care about exim vs. postfix vs. qmail, but I'm sure there are people who care very much. I guess part of a standard is a way of making both of those possible -- making it so I don't have to care (because they all talk SMTP) while another person can make decisions that are useful to them. Of course, SMTP is only a start -- I like /etc/aliases too, because it's easy to understand, but it's also limited. A growing standard might extend that -- and well it should, because having a single way to express aliases would be very useful. In this way a standard can grow, and slowly pick off the pieces where useful diversity doesn't exist (only annoying diversity).
I think UserLinux could be successful if it finds low hanging fruit first -- standardizing boring things, where the participants are easy to convince. There might be things that are more useful to standardize (like a GUI toolkit), but down that road leads certain failure.
I'd prefer a formal analysis of a normal proposal rather than a normal analysis of a formal proposal.
I'd rather have
a bottle in front of me
than a frontal lobotomy.
-kgj
-kgj
I am also more than a little dubious about the announced Sun-China deal and how it will really play out.
Bruce
Bruce Perens.
Don't throw every application into it. As a counter-part to the "gui everything" I think its important that we at some point have a distribution that's is fully and transparently integrated. No more merely cobbling great products together. Success will mean true consistency, maybe then the rest of us will see that its not all that bad.
Quack, quack.
Bruce
Bruce Perens.
I am all for an Enterprise Debian, I think most companies would also prefer a professinal open solution to RedHat/Novell/Sun. Most developers would.
This project will obviously address the needs of it's sponsors, reading the paper it sounds like this is a for a desktop replacement for Windows, why not be more specific about your sponsors needs. As for KDE/GNOME didn't FreeDesktop address this? What is the future plans for your sponsors? How often do they wish to patch, how often do they wish to upgrade etc etc. More info.
What happens when other orgs want their version of Debian Enterprise, say an LTSP version or a MOSIX cluster? Do we have multiple Enterprise Debians?
I think you will need to be far more strict than you imagine to cut down the packages used. I'm sorta thinking a new release of debian that things from Debian-Stable get promoted from. Or indeed a subset of debian-Stable.
Why not build a testing framework as your version of Linux? Take Debian-Stable, reduce the package count to a minimum. Write the AUTOMATED test. Then anybody can write software for your system. The validation is that after they've installed their software your test framework still executes correctly. Test early, test often.
Cerifitcation will have to happen on many levels. Hardware players IBM,Sun etc need to certify your code. Infrastructure software needs to certify your code. Apps software needs to certify your code. Developer/Admin/User certification will need to be available.
Make no mistake $1m a year is not a lot of change and this is a _HUGE_ undertaking.
Click Here if you want to hear it.
Help fight continental drift.
Although we're all getting comfortable with it, I'd like to see the name UserLinux go bye-bye. In fact, "Linux" is getting to be scary word to a lot of execs, especially as Red Hat and Sun announce their pricing, which is getting up there.
I like names like MorphOS, which are much more friendly. Frankly, I'd love to see a catchy name withOUT the word Linux in the title and have th tagline be "Built On Linux" or "Based on Linux."
Does anyone else agree with that?
Well, I don't agree with your criticism of Debian.
Therein lies the downfall I think Bruce.
Reading through your white paper, I agreee entirely with your analysis and proposals. We desperately need something like this, but a Debian base and iterative development with that project is not going to fly. I think that you have a tendancy to overlook the shortcomings of Debian and that you don't appreciate that the corporate market has little use for Debian-obsolete and Debian-broken.
Further, to get buy-in from the current Linux install base, you need to be offering a viable alternative to the distributions most are accustomed to. Current Redhat users are ripe for conversion, but not if it means a step backwards to Debian-by-another-name.
It strikes me that one of your unstated objectives is to revitalised Debian. If Debian is suitable for your stated objectives out of the box, why is it that you are proposing a new project, as opposed to working inside the existing Debian framework?
Occam's Razor. Kiss (keep it simple stupid)
/..... and makes it simple to use. However it is intellegent, setting up the right parameters correctly, and CONSISTANTLY.
Simple is better than complex. The parent post makes this point about 5 different ways, but not quite getting to the point.
Simplify Everything. Don't make it DUMB, just simple. I will give an example of simple not dumb.
DHCP. It takes a complicated job, IP / DNS / WINS / Gateway
In the words of my dad, "Pick a lane and go!"
* KDE or Gnome Pick one
* commandlines are for geeks, not users
* Consistant AND Easy Versioning
* Pick the best in class client/app
* User Manuals in the style of "Dummies series"
* Want to do THIS, use THAT app.
* commandlines are for geeks, not users.
If LuserLinux is going to be sucessful, the GEEKS and Zealots have got to get out of the way. So what if RMS wants to call everything GNU/linux. Users don't care about such stuff. So what if Perens wants to compile his own kernel. Users don't care. The point is, USERS don't WANT to care about such things. And it doesn't matter to them what RMS, BP or whoever thinks. (and don't get me started on Emacs vs Vim, neither one are usable by users).
Users want easy to use, unbreakable, solid applications that get stuff done. Use simple defaults; default the best options MOST people need, and then hide them.
Put stuff in the background that the average user doesn't need or want to see. Translate things from GEEKSPEAK to Natural Language. "Automate tasks" instead of "Cron Job".
Providing something simple to use, yet powerful takes intellegence. Simple doesn't mean Dumbing down.
Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
"Hey Grandma! There's a new program I think you might enjoy called 'Foobar'. Type 'sudo apt-get install foobar', enter your password at the prompt, and tell me how you like the new program!"
"Gee Sonny.. that was swell. And I didn't even have to reboot! Here's a nice apple pie for you to take home to your mother..."
I have something in common with Stephen Hawking...
Toy Story character names are trademarked by Pixar and Disney. Disney is especially known for its legal department. We can't really make commercial use of those trademarks.
Bruce
Bruce Perens.
From LinuxWorld: This is an interesting proposal because Debian has as good a technology as anyone (arguably better by many).... The difficulty of installation of applications across distributions due to conflicts and lack of supporting libraries could be solved by Debian's apt tools, which are quite superior for the installation and resolution of dependencies in comparison to rpm.
.deb package, and they really are functionally equivalent.
:-)
Can we stop being so ignorant about RPM, please!!! RPM is a packaging standard, not a delivery/dependency resolving mechanism. Please don't tell me that RPM is worse than apt-get, because you're comparing a package to a delivery mechanism. RPM is the equivalent of a
If you want to compare delivery and dependency resolution mechanisms, try comparing Mandrake's urpmi or RedHat's up2date to apt. And urpmi is arguably better than apt:
$ urpmi evolution
takes less characters to type than:
$ apt-get evolution
...and vice versa
"Have only ONE GUI. No KDE vs Gnome, just standardize on one, but keep compatibllity libraries for leagacy gtk apps until they are replaced by modern QT apps"
I really wish someone could mod the KDE control center down to "-1, troll" for using that terminology. This pointless sniping makes both desktops look bad. It's just as valid to claim that QT libraries are for keeping compatibility with legacy GPL-violating apps, while GTK2 is the free toolkit to code future apps with. (I'm not saying that QT is still a GPL violator, just that calling GTK2 "legacy" is inaccurate in the same way as calling QT "un-free")
0 1 - just my two bits
A good example would not use SourceForge, which is a giant and overwhelming repository. But I understand that your example would work with your personal web site as well.
There are really only two choices when resolving dependencies. Either package all dependencies along with the desired software, a la Windows and (I'm told) Mac, or have some sort of repository of the current package pool, whether it's a DVD or an FTP site, from which you can pull required software to resolve a dependency.
I don't really like the all-in-one-file method, becuase it makes it nearly impossible for library makers to fix their libraries. Unless, of course, the one-big-files are all coming from one central place that does active release management on them, replacing packages whenever libraries change, in which case you are back to one big repository. It also makes it more difficult for shared libraries to help you conserve memory if there are lots of different point releases of the library being used by different applications, rather than one periodicaly-updated copy of the library.
Monolithic repositories can't contain all useful software, but it is easy with apt to load from multiple repositories, where one may be specific to an application and the other is the main repository and resolves all of the dependencies of that application.
I think this is one of the things we got right with apt.
Thanks
Bruce
Bruce Perens.
Here.
I hear you can get a native, Trolltech-provided Qt 3.2 Windows free edition on the CD-ROM that comes with the upcoming re-edition of the Qt book, too, if you can't want for the above project to reach completion.
Otherwise, a decent alternative is wxWindows (not as clean and elegant as Qt, and thus requires a bit more code for a given task, but still very decent, don't worry).
Thank you.
-- B.
This sig does in fact not have the property it claims not to have.
No, in windows you ship your program with everything it needs in a whole bunch of .DLLs that will cause havoc if messed with. This is all dumped together in a directory so that you end up with the same dlls all over the place a couple times. Now ask yourself:
- Does that matter to grandma? no.
- Does it fill grandma's hard-drive? no
- Does it work as expected? yes
- Is it easy? yes
It's not perfect but it's better that sudo'ing to install stuff you've hand-compiled....
We need to make it as easy but less evil (no libraries sitting everywhere!)
apt-get install --file
Sometimes you want to install a .deb that doesn't exist in any repository, but depends on packages in Debian. apt-get won't help you, so you use dpkg --install. But dpkg doesn't satisfy dependencies so you have to do it yourself.
It seems to me that apt-get is missing a simple and useful feature. Am I missing something?
Fuck the system? Nah, you might catch something.