Originally posted by: cleverhandle
Originally posted by: Mindflux
Yes, the kernel has a relatively close eye kept on it. But what's comprised of the 'userland', is just a bunch of packages cobbled together.
Not disagreeing with you, but I do think there's been
tremendous improvement along these lines over the last 2 years or so. At least as far as the desktop user is concerned, the whole experience is much more "cohesive" now than it was before. I'm not comparing it to OSX or anything, but there's definitely been a lot of progress. To what extent that's an effect of greater corporate involvement, the effective reduction of the desktop space to GNOME/KDE, the work of independent groups (e.g. freedesktop.org), or just individual coders being more cooperative and thoughtful I couldn't say. All of the above to some degree, obviously...
Ha. Maybe I should go to channel9 (Microsoft astroturf website) and find the video were some top developers were complaining (in a sort of upbeat corporate way) about how much of a pain in the ass figuring out dependances was while they were working on Vista. And people say that Linux is difficult!
Windows is 10x more complicated, with a much more sophisticated kernel and a whole host of just realy insane stuff going on.
They specificly talked about how increadably badly the registry was designed... Or basicly complete lack of design. They've had (I am sure that it's ongoing to this day) figure out some logical way to divide up the registry for maintainability and security. Take something that was monolythic with people just funnelling all sorts of stuff into it without any real regard to protocol or logic since 1995 and then try to force logic into it without breaking backward compatability with 7 year old binary-only applications whose original developers have long since dissapeared.
That's just some insane stuff there and it's taking millions of dollars and many of the top programmers in the world in order to get it to a usable point for Vista even after many months of delays and setbacks.
Compared to that the dependancy issues that Linux users have to deal with are simplicity in itself. Each part is a little logical lego peice fitting into a cohesive whole... Which is entirely untrue, it just seems that way in comparision.
It's a very different mindset.
Linux being made up of little bits and peices is why I am happily typing this out on the browser of my choice, on the desktop of my choice, on a comptuer that boots up over iscsi (open-iscsi still needs some work before this is a realy workable solution).
I didn't even need to compile a custom kernel or use special hardware or anything like that. I had to just whip up some bash scripts/hooks for mkinitramfs and viola! custom network boot system. No floppy boot, no usb boot, no cdrom boot, just using the pxe boot built into my onboard nic card. But there are a dozen different ways I could of done it.
Setup pxelinux bootloader and a dhcpd and tftpd server and that's it. Nobody else realy does this. This isn't a tested configuration or anything like that were the Gnome developers muck around with to make sure it works.. but everything still works because each little peice of the OS does it's own little job and if it works then everything else works irregardless of what is going on.
Have full desktop search and indexing with just the normal everyday setup of programs and games.
Then on my laptop I use a simple rsync script to sync up my browser's settings and thunderbird email and scripts and high scores of some types of games and that just works to. Full desktop environment like I have on my desktop, just smaller. And even though it's a PPC laptop and my desktop is x86, it's still fine. I didn't have to use any special apps or figured out registry hacks or work out my own special vb scripts or anything to find specific ways I could match registry settings. I just found out which file did what for which apps and basicly do little more then a fancy copy from one machine to the next and it just works.
People take all these peices and they stick them on a cdrom.
Hell one group of people have setup a full desktop operating system.. a FULL desktop operating system with over 3 gigs worth of applications and such and have it so you just need to burn 4.7 MB worth of data to a cdrom.
It's bizzare. Over 3 GIGABYTES of applications on a 4 MEGABYTE cdrom.
And that's 3 gigs of heavily compressed data on a read-only file system. In actuality it's more like 6 gigs or maybe even more then that.
It just pulls down your operating system block by block by block from Coral cache websites. You can cache it to your harddrive if you like, but that's not required. You don't need 3 gigs worth or RAM to hold it either. And the fun part is that if you setup a generic http cache'ng proxy you can cache your operating system on a central server.
In other words it's a http-server based file system. Very bizzare stuff.
It's just a generic knoppix dvd image that their using also. Knoppix didn't know people were going to use it like that. They didn't have to recompile anything or realy modify a whole lot of the OS.. 2 or 3 bash scripts a most... if that. Just mostly they made a custom mini-root image for bootstrapping the system. They just changed out one peice (or added a peice: HTTP-FUSE), and it just works.
http://unit.aist.go.jp/itri/knoppix/http-fuse/DVD-KNOPPIX40.PNG
vs
http://unit.aist.go.jp/itri/knoppix/http-fuse/HTTP-FUSE-KNOPPIX40.PNG
It's ability to do bizzare stuff like that fairly easily, especially with access to the code makes it even more flexible, is one of the reasons linux is gaining rapidly in popularity with things like handheld devices, or industrial equipment, or phones, or servers, or super computer clusters, or high-end midi master controller keyboards, or mainframe operating systems, or whatever the hell else people use computers for.
Of course this doesn't help any with desktop systems. Flexibility comes with a price and being able to do custom stuff easily isn't that usefull to a person that requires strict uniformity in order to understand and use a computer effectively.. Which is generally what your going to see on Desktop Systems. Also it doesn't lend itself to binary compatability when it comes to drivers and applications... which is required if your users need to use closed source software for their day to day lives.
That's not the only reason why Linux isn't 'mainstream' in the desktop yet, but it's a big one.