So, let me get this: If Microsoft made a OS with a kernel kinda like WinNT's and a Win32 server kinda like WinNT's, they would be making something exactly like MacOS X?... Just checking.
>>>>>>
I said if MS made an OS with a kernel kinda like Linux, and a Win32 server kinda like NT's, then it would be similar to MacOS X. Let me break this down for you...
In this analogy, Linux is the OSS kernel. This is similar to BSD and Mach.
The Win32 server is the proprietory API and graphics layer for applications, this is analagous to Cocoa/Carbon and Quartz.
English's a bitch, aint it?
Everyone here is babbling about MS Office, but the real issue is things like Exchange and SQL Server which are also considerable profit centers for Microsoft. Any attempt to get these to run on a Unix-dervative would either require a considerable rewrite, or a emulation layer -
>>>>>>>>>>>
No it wouldn't. It would require a server layer, and it has already been done before. Its been done before with NT. NT doesn't run Win32 applications, it uses something called the NT Native API. Win32 is simply a server that provides Win32 services to Win32 apps. This is how they get OS/2 apps to run on NT without recompilation. Apple is doing the same thing with OS X, they have a set of libraries that provides MacOS-type services above the BSD-layer. Hell, even WINE and BSD do this to provide the Win32 and Linux (respectivly) APIs on non-native platforms. There was a big hubub over this 5 or 6 years ago over things called personalites.
which is exactly what MS FUDs Oracle and IBM about for their WinNT software. Furthermore performance would go into the toliet, leaving open the question whether Unix is really "better" >>>>>>>>>>
WINE (if coded by MS) doesn't lose any performance running Win32 apps, NT doesn't lose any performance running Win32 apps, so what's your point? NT looks nothing like Windows, it looks like VMS (did look like VMS at least) This is simply Win32 on top of UNIX instead of VMS.
I prefer the BSD license to the GPL. I do not think BSD is losing anything from this. All I'm saying is that a lot of BSD people think that a surge of new apps are going to arrive for BSD, and the truth of the matter is that it is not. As for the improvements to the BSD base code, I'm not terribly sure, but as far as I can see, no new technologies have been put into Darwin. The most BSD might get from Apple is the XML config stuff. As for BSDi, I wasn't aware that they had anything to do with the Apple deal. If they don't and you just think that I am a crazed Linux weenie pushing GPL over BSD-license because of freedom issues, rest easy that I don't think at all that BSDi is stealing from BSD, and I must give them congratulations for the work they are doing on FreeBSD.
If they used Linux as the base for a microkernel/macrokernel hybrid OS (kinda like NT), they could layer Win32 as a server on top of it. Its EXACTLY what Apple is doing with MacOS X. It's not like BSD is going to get any new software from the deal, and if MS put a Win32 server on top of Linux, it would just be a better Windows, nothing more.
The two software paradigms of open source and proprietary closed source are fundamentally irreconcilable
>>>>>>>>>>>
Idealistic bullshit. Its called MacOS X.
The whole power of the open source movement is to build massive endeavors based on the contributions of many, many developers. It is crucial to note that these armies of developers are often motivated by non-tangible reasons -- often the primary motivation is the challenge of the task
>>>>>>>>>
Which explains all the developer (ie. non-customer) oriented software.
which will benefit a wide community of like-minded individuals
>>>>>>>>>
You're not in hacker-land anymore. RedHat, Mandrake, Corel, etc are all trying to get into the mainstream. Its a different market entirely, driven by different demands.
In Eric Raymond's terminology -- the open source community is fundamentally based on "gift-giving". I would doubt that these same developers would suddenly leap onto a MS toolkit ported to Linux if it were proprietary, which it will be in all likelihood.
>>>>>>
What ERS says may be applicable to OSS developers, but there is a whole new group of commercial developers trying to join the Linux bandwagon. They are not motivated by "gift-giving" but by gaining an advantage by being the first developers on a promising new platform.
Moreover, the less that MS complies with the open source philosophy, the fewer applications and utilities will be available for the hypothetical MS/Linux hybrid OS. Throwing away X, for instance, would throw away an enormous volume of X applications, which MS could never afford to replace. Which OS would you choose to install : a bare-bones MS/Linux hybrid OS, or a full-featured "classic" linux distro with hoardes of available software.
>>>>>>>>
There are few people that would trade the Win32 GUI software base for the L*UNIX one. Most people would switch from the Linux software base to the Windows one in a heartbeat. Remember, Win32 has a whole lot of OSS ports.
The GPL doesn't really prevent MS from taking Linux over. Think about it, the GPL only prevents linking, not message passing. MS could simply use Linux as a "microkernel," put some fast messeging support in there, and then layer WIn32 services on top (like it did with NT) It would be required to OSS the changes to the kernel, but everything else remains MS. Linux gets a kernel with hooks for the GDI and all that, MS gets a more stable OS core, and users get a stable OS with all the MS goodies like fast OpenGL and sweet multimedia. In short, everyone is happy except the OSS community.
Either way, I doubt that they would do that. Its not like Linux has anything that BSD doesn't, and if MS wanted a UNIX-cored OS, they would have just stolen code from FreeBSD.
No, it would scare people off. If you come from NT, the graphics performance of X is scary. Second, its not like that much *NIX GUI software is better than their Windows counterparts. Nope, concentrate on making a quality OS, and let people adjust to the poorer software library. Don't try to use a poor(er) software library to bring people to the OS.
I'm not sure why you need Konqueror since you assert later on that you need Netscape 6. XFree86 4 is, in my experience, slimmer and faster than it's
ancestors. You do not need it for 3D support, but it makes it a lot easier. I don't see why it is a negative in the first place though. Anyway, why do you
need 3d support on a server? You don't use 3dfx administration tools do you?
>>>>>>>
I'm talking about the desktop.
If you never use them, then why do you need them?
>>>>>>
Because Linux kernel config required TK.
My servers don't need Tk, they don't even need X11. Additionally, if you are not using them, they only
take up disk space, and minimal disk space at that. The Ncurses library takes up less than 500k on my installation. Even if you have Tk 8.0, 8.2, and 8.3
installed for backwards compatability it still only takes up under 6 megabytes of disk space. If you don't use them, they do not consume RAM at all.
>>>>>>
But it's ugly. Having a library around just for one program is ass-ugly.
Another good example would be my workstation at work. It runs Gnome libraries, KDE libraries, everything you listed and more. The total running RAM
usage of that machine hovers around 20-30 megabytes, and that is using Enlightenment as my windowmanager, hardly a slim example! I figure why not,
everything else is using such a small amount of memory and I have 128 floating around to use.
>>>>>>
I have no clue how. According to ktop, my memory usage hovers at 50MB while I'm in KDE 2.0, just after having run a GNOME app.
It sounds like you are trying to compare NT 4 with Linux as a desktop solution.
>>>>
Yea, I thought I made that sufficiantly clear!
Interesting comparison, using server operating systems to do so. Why not throw OS/390 in there, why not IRIX, why stop with those two. Why not Solaris? It would be ridiculous to try and compare these for how well they play Unreal Tournament, don't you think? So why are you comparing NT4 with Linux on those grounds?
>>>>>>>
Linux IS a server OS, but I get flamed whenever I say that. Linux is a wanabee desktop OS that just isn't there yet. Have you taken a look outside slackware land lately? Everyone is trying to cram Linux into the desktop.
But even given that your entire premise has some sort of twisted merit, a lot of your generalizations and assumptions are faulty. Such as needing bleeding
edge browsers and extensive component architectures. For some setups sure, they might be a necessity, but most of those setups would be better placed on
entirely different operatings systems than either NT4 or Linux.
>>>>>>>>>>
Desktop OSs are incredibly unifrom in many of their needs. A component architecture is nice because it encourages reuse of binary code. If implemented correctly (ie NOT by Microsoft) the idea has a lot of merit. And bleeding edge browsers are an absolute necessity for desktop use, ask any BeOS user.
Just because a feature exists and looks nice, does not mean that you need that feature. Lots of ignorant people point out that MS Word has way more features than any Linux word processor.
>>>>>>
Funny, I always seem to need those features. The problem is, that feature poor stuff is usually aimed at one group of people, and people who have limited, but different needs, are left out.
I would like to ask those people to personally take a survey of everybody in the office, with a checklist on how many of those features are used. Not very many. So what if it has crazy features if you do not need them. The same goes for operating systems, desktop
setups, server setups. Install only what you need! That is what makes Linux nice.
>>>>>>>
I don't need Perl, ZSH, CSH, TK, Python, and 90% of the other stuff that the average Linux distro forces me to install. The problem is that the utility developers think that they are writing applications (they're not, utilities are OS-level apps), and indescriminantly use non-standard libraries.
Here are the things I can see wrong with Linux's in userspace.
1) The kernel development model is flawed. What they have right now, a major kernel release every two years or so is fine, two years isn't terribly bad in dealing with SW incompatiblity. However, there are scads of changes in the patch releases. That should not happen. The interfaces between minor versions should be set in stone. That's going to take some actual *architecturing*on the part of kernel developers, but hey, the BSD guys do it, so should the Linux guys. Several improvements I can see in this area:
a) Constant interface between patch releases. Even requiring a recompile is unacceptable. You're not in hacker-land anymore, deal with it.
b) Seperate the drivers *completely* from the kernel. Totally modularized, not even part of the same source tree. The kernel should have a well defined API for drivers (like the VFS layer, or a network driver layer) and stick to that API until the next x.y release comes along. The kernel already has these to some extent, but too many important things are dependant on the kernel source, and the interfaces are not written out and strictly enforced. Having the source can be a blessing, but it leads people to access stuff in ways that they shouldn't.
c) Prep the kernel for commercial space. That means a consistant way to configure EVERYTHING. (Seperate methods like some parameters in modules.conf and others via/proc, and some in source is unacceptable.) Somebody on another discussion pointed out how Sun has a consistant config accessible from/proc that applies to everything on the system. If that works, then copy it. If it doesn't then invent one that does.
2) Then there is the issue of distro. Standards are absolutely necessary. Standards != lack of choice. Take 3D cards. There are many different 3D architectures out there, but they all follow a standard API. The only person who should care about the specific distro is the user, who chooses that based on things he likes about it. The app maker should just code to "Linux" and be done with it. KDE and GNOME are only exacerbating the problem. At least when all you had was X and a window manager, you could use 99% of the features of the windowing system without caring what the user is running. KDE and GNOME aren't even source, much less binary, compatible. Sure you can install multiple libraries, but that leads to both bloat and support headaches. Same thing for extraneous libraries. I am furious that urpmi uses Python? Why the hell? You've already got Perl don't you? I don't care which scripting language the system uses (and stuff like urpmi is not an application, it is part of the overall OS) but pick ONE and stick with it. Then there are the miscellaneous libraries that people seem to like using. Don't. Release quality apps should not use TK, XForms, FLTK, or any other non-core API. I have already talked about how the LSB should publish a strict set of guidelines and distro makers should voluntarily adopt them, and about how GNOME and KDE should become binary compatible before their userbase gets too large (see my other posts.) None of this takes away freedom from anyone. Distro makers are free not to obey the standards, users are free to use neither GNOME nor KDE, and developers are free to use miscellaneous APIs. What it prevents however, are distro makers being non-standard for no good reason (like Mandrake and its idotic desicion to symlink the contents of rc.d to/etc and a non-standard script wrapper to the SysV initscripts), developers being non-standard for no good reason ("but I like TK better!") and it gives the users the freedom to just install "Linux" without dealing with the bloat, the headaches, and the incompatibilities that they have to deal with today.
That's details, and UNIX programs fail here too. At least MS Windows widgets LOOK the same, that can't be said for NIX programs. Also, I think the ideal way to handle this is to take the issue out of the developers hands entirely. Developers have no rights, they should not decide shortcut keys for apps. They should simply register various events, and allow the user to pick the shortcuts. There could even be a standard set of events so "shortcut maps" could be installed on the system.
I don't know. Embedded Qt has some merit (it does alpha blending as well!) and Berlin is always there. But seriously, I see Linux and I am happy. I see X, and I reboot into BeOS.
How am I exaggerating? Comparing NT 4.0 to Blackbox or FVWM is stupid. When people say Linux doesn't have XXX feature, they point to KDE2 or GNOME and say, "but it DOES!" when someone points out that Linux is bloated, they say, "so use Blackbox or FVWM!" KDE 2.0, GNOME 1.2 (both, because I need, say, gnometoaster and Konqueror or whatever, mainly because I use apps from both) are necessary because NT already includes component technolgies and other tech found in KDE2 and GNOME. XFree86 4.0 is needed for 3D support, Netscape 6 is needed to compete with IE 5.5, and you need various other libs such as TK and ncurses (which I never use, but exactly ONE important app on the system does) and when you add all these together, you've got a system that easily rivals Win2K in memory usage.
My vid card is a mere 16MB, but I use ktop. With KDE 1.2-only, it gives me around 19-22MB, which is about right. Load Netscape and GNOME (running all popular GUI applications is a critereon here), and switch to KDE 2.0 (for the network and component stuff NT already includes) and it bumps about to 45+MB, which is way beyond NT's 30-something MB, and about on par with Win2K.
That's not the point. In Windows integrated components help consistancy. The user learns how to use, say Adobe Acrobat, and when they browse a PDF file with Acrobat they're like "hey, I've seen this before" and can use it.
Under either system if the hardware writes a random chunck of physical memory, you are hosed. Putting the device driver code in its own address space doesn't make any difference.
>>>>>>>>>>
How often is hardware the cause of crashes? Much more often it is flakey OS code. Take BeOS's (soon to be replaced) net_server for example. When I ran it as a NAT server, it used to crash on me twice a day. However, since the whole thing was in user-space, I had a shell script that would restart it. I think you're missing some of the benifets of microkernels. QNX and BeOS have used them to great effect, and in order to get a balanced view, I suggest you read some of the docs that come with each (www.be.com/developer, qdn.qnx.com)
You are, in a word, stupid. While you may have it nice and all with your high end 133ppi display, we mere mortals are stuck at 80ppi, and for us, anti-aliased text beats the hell out of anything else out there. If you want to send me one of these 200ppi displays, I'll recant all my statements in favor of anti-aliasing.
Mod this up, he has a point. If the render extension uses hardware acceleration to do the alpha blit, then performance is no worse then it would be with regular TrueType fonts.
What ARE you talking about? A Linux environment comparable to NT4.0 (Linux 2.4, KDE2, GNOME 1.2, and Netscape 6) takes up more RAM than does NT4. Linux may have a lot of advantages but RAM usage (at least from the GUI POV) ain't one of them.
Uh, no. BeOS anti-aliases all its fonts, and from two feet away on my 1152x864 display, even the size 10 fonts (which are a little smaller as BeOS tends to render on the small side) are perfectly legible. Its nothing special, QNX does it too.
Another reason why attributes should be integrated into the file system;) I say let it program install and issue a warning allowing the user to check for the correct version.
RPM blows goats when it comes to dependencies. For example, if you compile XFree86 from source, then ever after you'll get missing dependencies. Deping on packages isn't a better idea, but a lazy one. Developers take the lazy way out and say they need XFree86 instead of each individual library. That's just the truth of it.
Is it just me, or is X the most horribly outdated POS on the face of the planet? I'm not talking about rendering, protocols, or anything like that. I'm talking about something simple. Hardware. Every other windowing system I have ever used recognizes my RivaTNT. X doesn't. Every other windowing system I've ever used allows me to set my refresh rate, X doesn't. Recently, I switched my monitor from 1024x768 to 1152x864. BeOS, Windows, and QNX made no fuss over it. Set me res, set my refresh rate, and after correcting the image a bit, off I went. X, however, didn't like it. It thought my monitor should only do 1152x864 at 75Hz. Given the fact that this thing runs 1600x1200 at 77Hz, I found this odd. I tried to configure it, but it wouldn't let me set the refresh rate, it asked for something called a "modline." I went to search on the internet about a "modline" and I got back an FAQ filled with math. Lovely. I finally just screwed it, wrote a 100line BeOS program that returned the clock values for my favoriate mode, and used those for the clock line. My question is, why, when every other windowing system in the world has some semblance of common sense, X continues to do stupid stuff like require you to tell it what kind of hardware you have, and what you monitor can do. Good god, even the pre-PnP days weren't this bad!
Ha ha, talking about X and anti-aliased fonts. I just set up Netscape 6 (god its bloated. My 500MHz 64MB wouldn't run it well, I had to use my 300MHz 128MB comp) and started to browse, and my head already hurts. These are the most god-awful fonts I've ever seen.
It's sad that X is so far behind though. One one hand you have OS-X and its fully anti-aliased, alpha-blended primative model, and X is struggling to get anti-aliased fonts to work. I don't care what the sysadmins and UNIX grognards say, X is holding Linux back.
So, let me get this: If Microsoft made a OS with a kernel kinda like WinNT's and a Win32 server kinda like WinNT's, they would be making something exactly like MacOS X? ... Just checking.
>>>>>>
I said if MS made an OS with a kernel kinda like Linux, and a Win32 server kinda like NT's, then it would be similar to MacOS X. Let me break this down for you...
In this analogy, Linux is the OSS kernel. This is similar to BSD and Mach.
The Win32 server is the proprietory API and graphics layer for applications, this is analagous to Cocoa/Carbon and Quartz.
English's a bitch, aint it?
Everyone here is babbling about MS Office, but the real issue is things like Exchange and SQL Server which are also considerable profit centers for Microsoft. Any attempt to get these to run on a Unix-dervative would either require a considerable rewrite, or a emulation layer -
>>>>>>>>>>>
No it wouldn't. It would require a server layer, and it has already been done before. Its been done before with NT. NT doesn't run Win32 applications, it uses something called the NT Native API. Win32 is simply a server that provides Win32 services to Win32 apps. This is how they get OS/2 apps to run on NT without recompilation. Apple is doing the same thing with OS X, they have a set of libraries that provides MacOS-type services above the BSD-layer. Hell, even WINE and BSD do this to provide the Win32 and Linux (respectivly) APIs on non-native platforms. There was a big hubub over this 5 or 6 years ago over things called personalites.
which is exactly what MS FUDs Oracle and IBM about for their WinNT software. Furthermore performance would go into the toliet, leaving open the question whether Unix is really "better" >>>>>>>>>>
WINE (if coded by MS) doesn't lose any performance running Win32 apps, NT doesn't lose any performance running Win32 apps, so what's your point? NT looks nothing like Windows, it looks like VMS (did look like VMS at least) This is simply Win32 on top of UNIX instead of VMS.
I prefer the BSD license to the GPL. I do not think BSD is losing anything from this. All I'm saying is that a lot of BSD people think that a surge of new apps are going to arrive for BSD, and the truth of the matter is that it is not. As for the improvements to the BSD base code, I'm not terribly sure, but as far as I can see, no new technologies have been put into Darwin. The most BSD might get from Apple is the XML config stuff. As for BSDi, I wasn't aware that they had anything to do with the Apple deal. If they don't and you just think that I am a crazed Linux weenie pushing GPL over BSD-license because of freedom issues, rest easy that I don't think at all that BSDi is stealing from BSD, and I must give them congratulations for the work they are doing on FreeBSD.
If they used Linux as the base for a microkernel/macrokernel hybrid OS (kinda like NT), they could layer Win32 as a server on top of it. Its EXACTLY what Apple is doing with MacOS X. It's not like BSD is going to get any new software from the deal, and if MS put a Win32 server on top of Linux, it would just be a better Windows, nothing more.
The two software paradigms of open source and proprietary closed source are fundamentally irreconcilable
>>>>>>>>>>>
Idealistic bullshit. Its called MacOS X.
The whole power of the open source movement is to build massive endeavors based on the contributions of many, many developers. It is crucial to note that these armies of developers are often motivated by non-tangible reasons -- often the primary motivation is the challenge of the task
>>>>>>>>>
Which explains all the developer (ie. non-customer) oriented software.
which will benefit a wide community of like-minded individuals
>>>>>>>>>
You're not in hacker-land anymore. RedHat, Mandrake, Corel, etc are all trying to get into the mainstream. Its a different market entirely, driven by different demands.
In Eric Raymond's terminology -- the open source community is fundamentally based on "gift-giving". I would doubt that these same developers would suddenly leap onto a MS toolkit ported to Linux if it were proprietary, which it will be in all likelihood.
>>>>>>
What ERS says may be applicable to OSS developers, but there is a whole new group of commercial developers trying to join the Linux bandwagon. They are not motivated by "gift-giving" but by gaining an advantage by being the first developers on a promising new platform.
Moreover, the less that MS complies with the open source philosophy, the fewer applications and utilities will be available for the hypothetical MS/Linux hybrid OS. Throwing away X, for instance, would throw away an enormous volume of X applications, which MS could never afford to replace. Which OS would you choose to install : a bare-bones MS/Linux hybrid OS, or a full-featured "classic" linux distro with hoardes of available software.
>>>>>>>>
There are few people that would trade the Win32 GUI software base for the L*UNIX one. Most people would switch from the Linux software base to the Windows one in a heartbeat. Remember, Win32 has a whole lot of OSS ports.
The GPL doesn't really prevent MS from taking Linux over. Think about it, the GPL only prevents linking, not message passing. MS could simply use Linux as a "microkernel," put some fast messeging support in there, and then layer WIn32 services on top (like it did with NT) It would be required to OSS the changes to the kernel, but everything else remains MS. Linux gets a kernel with hooks for the GDI and all that, MS gets a more stable OS core, and users get a stable OS with all the MS goodies like fast OpenGL and sweet multimedia. In short, everyone is happy except the OSS community.
Either way, I doubt that they would do that. Its not like Linux has anything that BSD doesn't, and if MS wanted a UNIX-cored OS, they would have just stolen code from FreeBSD.
I'm pretty sure that GDI only applies to the graphics system, not to the Window manager itself. (Kinda like X)
No, it would scare people off. If you come from NT, the graphics performance of X is scary. Second, its not like that much *NIX GUI software is better than their Windows counterparts. Nope, concentrate on making a quality OS, and let people adjust to the poorer software library. Don't try to use a poor(er) software library to bring people to the OS.
Geez, I feel bad. Sorry for being a jackass, I guess I was persnickity that day.
I'm not sure why you need Konqueror since you assert later on that you need Netscape 6. XFree86 4 is, in my experience, slimmer and faster than it's
ancestors. You do not need it for 3D support, but it makes it a lot easier. I don't see why it is a negative in the first place though. Anyway, why do you
need 3d support on a server? You don't use 3dfx administration tools do you?
>>>>>>>
I'm talking about the desktop.
If you never use them, then why do you need them?
>>>>>>
Because Linux kernel config required TK.
My servers don't need Tk, they don't even need X11. Additionally, if you are not using them, they only
take up disk space, and minimal disk space at that. The Ncurses library takes up less than 500k on my installation. Even if you have Tk 8.0, 8.2, and 8.3
installed for backwards compatability it still only takes up under 6 megabytes of disk space. If you don't use them, they do not consume RAM at all.
>>>>>>
But it's ugly. Having a library around just for one program is ass-ugly.
Another good example would be my workstation at work. It runs Gnome libraries, KDE libraries, everything you listed and more. The total running RAM
usage of that machine hovers around 20-30 megabytes, and that is using Enlightenment as my windowmanager, hardly a slim example! I figure why not,
everything else is using such a small amount of memory and I have 128 floating around to use.
>>>>>>
I have no clue how. According to ktop, my memory usage hovers at 50MB while I'm in KDE 2.0, just after having run a GNOME app.
It sounds like you are trying to compare NT 4 with Linux as a desktop solution.
>>>>
Yea, I thought I made that sufficiantly clear!
Interesting comparison, using server operating systems to do so. Why not throw OS/390 in there, why not IRIX, why stop with those two. Why not Solaris? It would be ridiculous to try and compare these for how well they play Unreal Tournament, don't you think? So why are you comparing NT4 with Linux on those grounds?
>>>>>>>
Linux IS a server OS, but I get flamed whenever I say that. Linux is a wanabee desktop OS that just isn't there yet. Have you taken a look outside slackware land lately? Everyone is trying to cram Linux into the desktop.
But even given that your entire premise has some sort of twisted merit, a lot of your generalizations and assumptions are faulty. Such as needing bleeding
edge browsers and extensive component architectures. For some setups sure, they might be a necessity, but most of those setups would be better placed on
entirely different operatings systems than either NT4 or Linux.
>>>>>>>>>>
Desktop OSs are incredibly unifrom in many of their needs. A component architecture is nice because it encourages reuse of binary code. If implemented correctly (ie NOT by Microsoft) the idea has a lot of merit. And bleeding edge browsers are an absolute necessity for desktop use, ask any BeOS user.
Just because a feature exists and looks nice, does not mean that you need that feature. Lots of ignorant people point out that MS Word has way more features than any Linux word processor.
>>>>>>
Funny, I always seem to need those features. The problem is, that feature poor stuff is usually aimed at one group of people, and people who have limited, but different needs, are left out.
I would like to ask those people to personally take a survey of everybody in the office, with a checklist on how many of those features are used. Not very many. So what if it has crazy features if you do not need them. The same goes for operating systems, desktop
setups, server setups. Install only what you need! That is what makes Linux nice.
>>>>>>>
I don't need Perl, ZSH, CSH, TK, Python, and 90% of the other stuff that the average Linux distro forces me to install. The problem is that the utility developers think that they are writing applications (they're not, utilities are OS-level apps), and indescriminantly use non-standard libraries.
Here are the things I can see wrong with Linux's in userspace.
/proc, and some in source is unacceptable.) Somebody on another discussion pointed out how Sun has a consistant config accessible from /proc that applies to everything on the system. If that works, then copy it. If it doesn't then invent one that does.
/etc and a non-standard script wrapper to the SysV initscripts), developers being non-standard for no good reason ("but I like TK better!") and it gives the users the freedom to just install "Linux" without dealing with the bloat, the headaches, and the incompatibilities that they have to deal with today.
1) The kernel development model is flawed. What they have right now, a major kernel release every two years or so is fine, two years isn't terribly bad in dealing with SW incompatiblity. However, there are scads of changes in the patch releases. That should not happen. The interfaces between minor versions should be set in stone. That's going to take some actual *architecturing*on the part of kernel developers, but hey, the BSD guys do it, so should the Linux guys. Several improvements I can see in this area:
a) Constant interface between patch releases. Even requiring a recompile is unacceptable. You're not in hacker-land anymore, deal with it.
b) Seperate the drivers *completely* from the kernel. Totally modularized, not even part of the same source tree. The kernel should have a well defined API for drivers (like the VFS layer, or a network driver layer) and stick to that API until the next x.y release comes along. The kernel already has these to some extent, but too many important things are dependant on the kernel source, and the interfaces are not written out and strictly enforced. Having the source can be a blessing, but it leads people to access stuff in ways that they shouldn't.
c) Prep the kernel for commercial space. That means a consistant way to configure EVERYTHING. (Seperate methods like some parameters in modules.conf and others via
2) Then there is the issue of distro. Standards are absolutely necessary. Standards != lack of choice. Take 3D cards. There are many different 3D architectures out there, but they all follow a standard API. The only person who should care about the specific distro is the user, who chooses that based on things he likes about it. The app maker should just code to "Linux" and be done with it. KDE and GNOME are only exacerbating the problem. At least when all you had was X and a window manager, you could use 99% of the features of the windowing system without caring what the user is running. KDE and GNOME aren't even source, much less binary, compatible. Sure you can install multiple libraries, but that leads to both bloat and support headaches. Same thing for extraneous libraries. I am furious that urpmi uses Python? Why the hell? You've already got Perl don't you? I don't care which scripting language the system uses (and stuff like urpmi is not an application, it is part of the overall OS) but pick ONE and stick with it. Then there are the miscellaneous libraries that people seem to like using. Don't. Release quality apps should not use TK, XForms, FLTK, or any other non-core API. I have already talked about how the LSB should publish a strict set of guidelines and distro makers should voluntarily adopt them, and about how GNOME and KDE should become binary compatible before their userbase gets too large (see my other posts.) None of this takes away freedom from anyone. Distro makers are free not to obey the standards, users are free to use neither GNOME nor KDE, and developers are free to use miscellaneous APIs. What it prevents however, are distro makers being non-standard for no good reason (like Mandrake and its idotic desicion to symlink the contents of rc.d to
That's details, and UNIX programs fail here too. At least MS Windows widgets LOOK the same, that can't be said for NIX programs. Also, I think the ideal way to handle this is to take the issue out of the developers hands entirely. Developers have no rights, they should not decide shortcut keys for apps. They should simply register various events, and allow the user to pick the shortcuts. There could even be a standard set of events so "shortcut maps" could be installed on the system.
"If I'm wrong, and the [MS] guys have managed to make [GDI] jump through a hoop that high, kudos to
them." - George Hoffman, Be Inc.
(Paraphrased, replace MS with E, and GDI with X)
I don't know. Embedded Qt has some merit (it does alpha blending as well!) and Berlin is always there. But seriously, I see Linux and I am happy. I see X, and I reboot into BeOS.
How am I exaggerating? Comparing NT 4.0 to Blackbox or FVWM is stupid. When people say Linux doesn't have XXX feature, they point to KDE2 or GNOME and say, "but it DOES!" when someone points out that Linux is bloated, they say, "so use Blackbox or FVWM!" KDE 2.0, GNOME 1.2 (both, because I need, say, gnometoaster and Konqueror or whatever, mainly because I use apps from both) are necessary because NT already includes component technolgies and other tech found in KDE2 and GNOME. XFree86 4.0 is needed for 3D support, Netscape 6 is needed to compete with IE 5.5, and you need various other libs such as TK and ncurses (which I never use, but exactly ONE important app on the system does) and when you add all these together, you've got a system that easily rivals Win2K in memory usage.
My vid card is a mere 16MB, but I use ktop. With KDE 1.2-only, it gives me around 19-22MB, which is about right. Load Netscape and GNOME (running all popular GUI applications is a critereon here), and switch to KDE 2.0 (for the network and component stuff NT already includes) and it bumps about to 45+MB, which is way beyond NT's 30-something MB, and about on par with Win2K.
That's not the point. In Windows integrated components help consistancy. The user learns how to use, say Adobe Acrobat, and when they browse a PDF file with Acrobat they're like "hey, I've seen this before" and can use it.
Under either system if the hardware writes a random chunck of physical memory, you are hosed. Putting the device driver code in its own address space doesn't make any difference.
>>>>>>>>>>
How often is hardware the cause of crashes? Much more often it is flakey OS code. Take BeOS's (soon to be replaced) net_server for example. When I ran it as a NAT server, it used to crash on me twice a day. However, since the whole thing was in user-space, I had a shell script that would restart it. I think you're missing some of the benifets of microkernels. QNX and BeOS have used them to great effect, and in order to get a balanced view, I suggest you read some of the docs that come with each (www.be.com/developer, qdn.qnx.com)
You are, in a word, stupid. While you may have it nice and all with your high end 133ppi display, we mere mortals are stuck at 80ppi, and for us, anti-aliased text beats the hell out of anything else out there. If you want to send me one of these 200ppi displays, I'll recant all my statements in favor of anti-aliasing.
Mod this up, he has a point. If the render extension uses hardware acceleration to do the alpha blit, then performance is no worse then it would be with regular TrueType fonts.
What ARE you talking about? A Linux environment comparable to NT4.0 (Linux 2.4, KDE2, GNOME 1.2, and Netscape 6) takes up more RAM than does NT4. Linux may have a lot of advantages but RAM usage (at least from the GUI POV) ain't one of them.
Uh, no. BeOS anti-aliases all its fonts, and from two feet away on my 1152x864 display, even the size 10 fonts (which are a little smaller as BeOS tends to render on the small side) are perfectly legible. Its nothing special, QNX does it too.
Another reason why attributes should be integrated into the file system ;) I say let it program install and issue a warning allowing the user to check for the correct version.
RPM blows goats when it comes to dependencies. For example, if you compile XFree86 from source, then ever after you'll get missing dependencies. Deping on packages isn't a better idea, but a lazy one. Developers take the lazy way out and say they need XFree86 instead of each individual library. That's just the truth of it.
Is it just me, or is X the most horribly outdated POS on the face of the planet? I'm not talking about rendering, protocols, or anything like that. I'm talking about something simple. Hardware. Every other windowing system I have ever used recognizes my RivaTNT. X doesn't. Every other windowing system I've ever used allows me to set my refresh rate, X doesn't. Recently, I switched my monitor from 1024x768 to 1152x864. BeOS, Windows, and QNX made no fuss over it. Set me res, set my refresh rate, and after correcting the image a bit, off I went. X, however, didn't like it. It thought my monitor should only do 1152x864 at 75Hz. Given the fact that this thing runs 1600x1200 at 77Hz, I found this odd. I tried to configure it, but it wouldn't let me set the refresh rate, it asked for something called a "modline." I went to search on the internet about a "modline" and I got back an FAQ filled with math. Lovely. I finally just screwed it, wrote a 100line BeOS program that returned the clock values for my favoriate mode, and used those for the clock line. My question is, why, when every other windowing system in the world has some semblance of common sense, X continues to do stupid stuff like require you to tell it what kind of hardware you have, and what you monitor can do. Good god, even the pre-PnP days weren't this bad!
Ha ha, talking about X and anti-aliased fonts. I just set up Netscape 6 (god its bloated. My 500MHz 64MB wouldn't run it well, I had to use my 300MHz 128MB comp) and started to browse, and my head already hurts. These are the most god-awful fonts I've ever seen.
It's sad that X is so far behind though. One one hand you have OS-X and its fully anti-aliased, alpha-blended primative model, and X is struggling to get anti-aliased fonts to work. I don't care what the sysadmins and UNIX grognards say, X is holding Linux back.