Nick Petrely responds to Metcalfe
Aleatoric
writes "In his response to Bob Metcalfe's article, Nick
Petrely says he'll eat his column if Bob doesn't change his
mind about Linux within two years.
" Good column- describes the usual MS FUD tactics
and why it wont' work this time.
First....
Extra bonus points for Mr. Petreley for the Ethernet slam. Classic.
What Metcalfe misses of course is that Linux is powerful, reliable, efficient, getting easy to use, and *evolvable*.
Linux evolves just like science evolves -- just like, ahem, computer science. Despite all the micro vs macro kernel arguments I don't think that microkernels ever "won". They never "won" the way quicksort won vs. bubblesort.
In any case, the Linux POSIX API is UNIX, but the architecture is a significantly evolved version. The wonder of UNIX is that the original idea was elegant enough that a limited number of thoughtful embellishments allowed it to grow into a beautifully crafted, organic thing.
Maybe its not QNX, but maybe its more than good enough.
Jim Burnes
jburnes@iss.net
Quite frankly, I don't want Linux to smash Windows, or the MacOS. I want the various parties to concentrate on themselves, and interoperability. Linux isn't for everyone, neither is Windows, or the MacOS. Making progress on interoperability should be the real goal.
:)
;) everything I want it to, and does it responsively.
/dev/null, I don't war about OSes
After not using Windows for a long time, I decided to install Windows 2k Pro on one of my (linux) laptop partitions. I must say its rather refreshing to use Windows 2k, it's been very fast, abd stable for me. Nice UI, there aren't wizards everywhere (yet they still exist, damnit), and it seems responsive, I have had apps crash a few times, and none have taken down the OS itself. Internet Explorer doesn't constantly crash and disappear when I'm loading a page I didn't get to bookmark. No one can deny the Linux versions of Netscape are very shoddy pieces of work (this has nothing to do with Linux, it has to do with Netscape). When I just need to get stuff done with no BS, I find it refreshing to boot into Windows 2k and just get it done.
What do I think is lacking in Win2k? UNIX! Or rather everything great about it, the powerful scripting, the open programming interfaces, the level of control you have over your computer. To be honest, since Win2k is closed source, I do not know if my computer is sending Microsoft information I don't want it to, I don't know what's REALLY going on, when Microsoft tells my browser to download this nifty new component.
The built-in Encrypted File System in Win2k is 40-bit (upgradable to 128-bit) and shoddy. I don't trust that it's secure, because of the way the EFS works...automatically de/encrypting whenever someone with the right privileges clicks on it. And I could go on and on about this
Using Windows 2k, I am bluntly reminded of how much more work KDE and GNOME have to do, before they can even begin to truly compete with the Windows interface. The downside to such a great interface is bloat...Windows 2k is undoubtedly bloated outrageously, but on my 192mb PII 366 system its not reall noticed, it does (almost, its not UNIX after all
So instead of starting religious wars...{I mean Linux and Windows are JUST OSes after all, there are many more serious things to war about)...let's concentrate on interoperability, and getting our favourite OSes up to snuff. It would be a great world if all OSes could share data and services seamlessly with each other, without much tinkering. Instead of trying to drill the pipedream that KDE is as polished as the Windows UI, start helping the KDE project, give them coherent and useful suggestions.
It must be greatly disheartening for a KDE or GNOME developer to look out into the masses, and seeing users (people who arent even involved in the coding of the respective projects) bickering, and evangelizing their work...
Calm down, concentrate your efforts into improving free software, or on the Windows side, auditing security, etc. To quote a great meth addict/police beat toy: "Can't we all just get along?"
send flames to
Maybe "Polymorphic Software" is the way to go -- just as all science today is built on the shoulders of the giants who came before, so shall all software be built upon a sturdy foundation. We use basic tools to build better tools, which in turn we use to develop better tools. Where else is this concept better illustrated than in the history of Linux (remember what Linux looked like in 1994? I still have nightmares... =) ).
UNIX has a solid, expandible base. Windows does not, unless you think that the autoexec.bat file is a really keen way to get things done.
----
Every year during my review, I just pray the words "slashdot.org" aren't mentioned.
Actually, the Ethernet vs. Token Ring analogy is very useful in the Linux vs. Windows 2000 debate. Ethernet was an open protocol that anybody could license and tweak, while Token Ring was a proprietary standard that only IBM and a chosen few were allowed to sell and tweak. Similarly, Linux is an open OS that anybody can sell or tweak, while WIndows 2000 is a closed proprietary standard that only Microsoft is allowed to sell or tweak. Just as in the VHS vs. Beta war, where the open standard won, the open standard has an inherent advantage here. Unless Microsoft licenses the Windows source code to other companies for them to tweak and sell under their own brand name (Compaq Windows, anybody?), they will inevitably go the same way as Beta no matter how technically superior (or not).
To conclude: Whether or not Linux is technically superior (in some ways it is, in some ways it isn't) is irrelevant, as Petreley was trying to say. What it will come down to, in the end, is a matter of two questions:
a) does it do the job?
b) does it save us money?
Ethernet did the job, and saved money as vs. Token Ring, so it won. Petreley is saying that Linux meets those same criteria.
-E
Send mail here if you want to reach me.
"Anonymous Coward"'s credentials are obvious. His credentials are that he has an office in Redmond on the campus of a large OS vendor and thus is automatically smarter than the rest of us (sarcasm intended).
-E
Send mail here if you want to reach me.
I don't think so. According to benchmarks of MkLinux (the microkernel-based version),it was as much as 30% slower than 'monolithic' Linux. 'Real' BSD-based MACH showed the same kind of performance decrease as compared with 'real' BSD Unix.
What microkernels were supposed to do was not make kernel internals faster (a little thought will tell you that message-passing is more expensive than function calls), but, rather, make them easier to write, more reliable, and easier to write drivers for. Unfortunately their promise there does not seem to have worked. RMS, for example, blames HURD's stability problems on, quote, "a microkernel is harder to debug".
I personally still like a microkernel approach, and believe that if done properly it can get us the promised benefits (said after fighting a buggy device driver in Linux that managed to trash the TCP/IP stack even though it was a serial card driver... ARGH!). On the other hand, speed isn't one of those promised benefits, never has been, and to say so is silly.
-E
Send mail here if you want to reach me.
As a former Multician (University of Southwestern Lousiana, '81-'82), I probably have more insight than the original poster about the origins of Unix as a reaction to Multics. Multics was all about segments. There was no such thing as file i/o in Multics, everything was a segment, though you could query the filesystem database for the address of a segment (give it a name, out pops a segment ID). File I/O was emulated by reading and writing to segmented memory. Incidentally, all of this made process creation overhead so intense that Multics did not have the concept of pipes or of sending the output of one command into the input of another command. The output of Multics commands were meant to be human-readable anyhow, and would not have been useful for doing that. I could sometimes do something useful by outputing to a file and then running the result through TED to get rid of the human-readable stuff before feeding it into another program, but that was hardly a useful normal thing to do, not like "ls -l | more".
Unix, by contrast, was built around two concepts:
1) Everything is a file. Self explanatory.
2) Many small tools, chained together to make bigger tools. This was a direct reaction to the Multics philosophy of "put everything into one big tool".
These principles have been violated many times since the origins of Unix, but the fact remains that Unix had a design philosophy in the beginning, a design philosophy which can be read in the original Unix papers (go to your local library and I think it was what, CACM back in 1974?). Having a coherent design philosophy at the beginning is probably why it is still useful today, so many years later, whereas so many operating systems whose sole design principle was "put in whatever features we think will sell" have come and gone in the meantime.
-E
Send mail here if you want to reach me.
I've read the research paper on L4 (have they put the actual code back up for download?). It states that there is a performance penalty of 2% to 5% running the Linux service as vs. running a monolithic Linux. If the rest of the promised benefits of microkernels pan out, I agree that this is a quite acceptable penalty and not one that I would get uptight about.
On the other hand, to say that microkernels are faster than monolithic kernels is sheer stupidity. Microkernels add another layer, and no matter how efficient (and L4 is pretty darned efficient), they still require code in execution paths within the kernel that monolithic kernels don't require.
As for Mach, you are correct that it was a research project, but it was cancelled not because it was slow, but, rather, because its grant ran out. That is the typical fate of research projects -- they get cancelled because they're old hat and no longer producing research papers, not because they're lousy (and Mach IS lousy -- Linus commented once that Mach was the Emacs of microkernels, with everything but the kitchen sink in there! Linus likes L4, BTW, though not enough to dump the notion of a monolithic kernel).
-E
Send mail here if you want to reach me.
glibc is very very close to POSIX compliance.
True, Linux has never been submitted to a standards committee to certify it, but that means about as much as getting a college degree after you've done the coursework (I was just as smart ten minutes before I was granted my degree, as I was ten minutes afterwards). Linux has done the coursework, just hasn't bothered applying for the certificate.
-E
Send mail here if you want to reach me.
Petreley's comment that Microsoft will try to refocus the argument to something it can win is right on the money. IMHO that's what this Mindcraft thing is about.
We'd do well to avoid raising a specific metric (like serving static web pages) to being somehow more important than all the other aspects of Linux. The advantage that MS (and any Cathedral) has is the ability to throw a lot of coordinated resources at a specific problem. If we buy into the idea that a certain contest defines which platform is better, Microsoft can make sure it wins that particular contest. Imagine: "Linux community devastated as Windows wins web server benchmark five years in a row."
The strength of Linux is thousands of people making incremental improvements in all sorts of areas. The distributions are making things easier to use. Researchers are working on distributed processing. The kernel hackers are working on SMP. Systems administrators everywhere are working on admin tools. It adds up to an operating system that evolves in a million different ways to meet the needs of real users.
That's not to say that we can't beat MS at serving static pages. As long as MS keeps trying to win all the battles they probably won't win any. But if they can succeed in narrowing the debate to "if Windows is better at X then Linux must suck" they WILL do whatever is needed to make Windows better at X.
It is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail. - Abraham Maslow
It's not a simple matter of comparing high load Ethernet versus high load Token Ring and concluding that Token Ring is the superior technology. Both solutions have their pros and cons. Token Ring for example has multiple points of failure - each link in the ring must be up for the entire network to work - something which isn't true for switched Ethernet.
Ethernet is a suitable solution for low to medium bandwidth networks. Token Ring is better for slightly higher bandwidth networks. For extremely low bandwidth and extremely high bandwidth networks you look towards completely different solutions. Ethernet is by no means a "cheap and nasty" solution to the problem. In fact it's a fairly clever design, with the occasional warts that all technology has, based on well known and analysed theoretical networking principles.
I consider Windows 2000 to be an absolutely amazing products cause of it's choke full of features, as well as remaning stable and fast.
Remaning stable and fast? Window hasn't been fast since 3.11 and has never been stable. I have never even heard of a Windows98 machine being up for more than a month.
Speed is something Linux still needs to improve on (I'm talking about scalability here, not on a 386 w/2mb ram).
Speed is something all OSes need to work on, but besides multi-processor machines Linux is faster than Windows across the board. As for multi-processor multi-Intel is a waste. If you're going to foot that sort of cash you should go with a single proc DEC or a multi processor Sparc and if you get the Sparc you should run Solaris, not Windows or Linux on it. Linux is a great OS, but it niether has nor claims to have high availability or high end scalability. Windows doesn't have these either. Face it, you can't even pull a single processor from an Intel machine with out it failing.
Stability, maybe Linux is stable for the moment, X leaves much to be desired tho. Maybe we'll see that in ver4.
I admit that XFree is terrible instable. I rarely keep it up longer than two or three months of reasonable usage, but this is still better than Win98. Maybe 2000 is better, I don't know. I'll believe it when I see it.
-ACPI Power management
-Hibernation mode (dump mem to harddisk)
-On Now (with hibernation mode) (20second boot)
Though I can't vouch for it I think Linux has ACPI managment. It definately does not have hibernation (which both of the second two are, niether would benefit you much with out the other), but I've never found them that useful. I always used either standby or shutdown when I had a laptop that supported hibernation. Maybe it will be a big advantage, if so we'll probably see it in Linux in the future.
-IE5.1 integration. Stable, fast, and NEVER crashes (for me anyway) - some people - interestingly enough, linux users, seem to somehow make it crash.
There are two parts to this: the first (integration) is a mistake, not a feature. I don't want my web browser integrated with my OS, I'd rather have a choice. As to the second part (stability) it is a bugfix, not a feature, and it sounds incomplete. The reason Linux users are the ones who crash IE may be because Linux users aren't used to the way you use IE so they try something it doesn't expect and so it crashes. Regardless, you should not be able to crash an application, period. I admit that I can crash Netscape for Linux, but I think Netscape is a really shoddy product. I hope Mozilla does better.
-IE5 (explorer) lets you view ftp and web sites just like any other folder on your local system of NFS/SMB share.
You mean Win2000 causes you to view your local system and shared drives as web sites. I don't want to. My directory structure is quite different from the WWW and I don't want them supported as the same.
-You can start every explorer (file and web) in a new process now if you wish. Shouldn't have a reason to taken down your task bar with explorer if you decide to terminate it. I've never had that problem with Windows 2000 though.
This also is a bugfix, not a feature.
-Windows Common control open/save dialog enhanced and supports loading & saving from/to URLs (like above). Since almost all apps use Common Controls, including Java ones, it'll work with almost all your apps.
This is a nice feature. Emacs has had it for years hopefully Gnome and KDE will have it soon.
-Offline internet and lan folders. (Network shares remain valid even when you're disconnected).
This means that you are caching content, which you could do with Squid or a similar caching system on Linux. I sure hope you can turn this off, because it's wasting an awful lot of hard drive.
-USB, IEE1394, DVD, Video Capture.
USB is rudimentarily supported by Linux, I'll care more about this when usefull USB devices appear. Firewire is not supported, there are practically no devices on FireWire, and it's slower than SCSI any way. DVD is not supported because HSVs don't release thier stats to Linux, this is a problem that I hope goes away when Linux becomes more popular. Video Capture is supported by Linux.
-Auto personalising menus.
I don't know what this is
-New Management console - control your computer and/or entire network from one console that's 'Pluggable' with COM objects.
You mean like linuxconf?
-Telnet server (for legacy guys).
-Terminal server (for legacy guys).
I bet these are as flexible as their Linux equivelents right? They allow you to modify any system item? They allow exporting of graphical programs to remote servers?
-COM+ and Transaction server integration.
This doesn't affect Linux since it doesn't use COM+, so I'm not sure why you included it.
-Computer manager allows you to tweak every little bit of Windows.
Every bit? I want to turn off IE and the GUI because I don't use them.
-IIS5, ASP support with VB, Java, Perl scripting
Wow it finally comes with a web server. It still isn't as flexible as Apache though.
-Windows Scripting Host for automating windows with scripting languages.
You mean like the shells, Perl, and Python? Windows has a real long way to go before catching up to Linux with regard to scripting
-Extremely refined UI. Right click on anything and you'll get a context menu. Drag and drop anything on everything. (Gnome and KDE still need a lot of work on this).
This is true. Linux does have a lot of catching up to do before it catches Windows GUI in terms of usability and consistency. I give it another year. It has caught up a lot in the last one.
-Semi-Transparent windows support inbuilt into Win32.
Um, Linux had this first.
-SMP suppoirt for up to 32 processors (and they are actually efficiently utilized, unlike linux).
See my comments on SMP at the top. This is not relavent to most users and in fact most likely slows the system down on single processor implementation.
-New Windows 2000 install API - Auto repairing.
...basically you can't destroy your system by deleting or overwriting vital DLLs/vxds etc, they are automatically recovered on deletion.
This is a poor fix to the problem that it's too easy to destroy files in Windows. If they had a decent protection system this would be unneeded.
-New NTFS5 file system supports cluster compression and encryption (and ofcourse security etc).
NT5 is not secure. Linux is not secure. Don't claim they are. If you have specialty FS concerns (encryption or compression) then you should use a specialty FS (GFS, ext2 with compression, Encrypted FS), except that you have no choice in filesystems when it comes to Windows...
-New Kerberos security model (developed early last decade at MIT).
This isn't new and has been in Linux for a while.
-DirectX 7 and OpenGL.
Linux has OpenGL and DirectX is not standard.
-Win32 SoundAPI goes thru DirectX, legacy applications and new applications will all work be able to use the sound card at once - without being aware of DirectX or modification.
This is a change to the soundAPI, not a feature.
;).
-New generation Plug'n'Play support. Literally, just plug and play. Drivers install automatically - no reboots
Where have I heard this before? Oh yeah, Comdex, right before I saw a big blue screen. Even if it does work it still requires a reboot to change hardware information, this shouldn't be needed. I hate the fact that to change my gateway on a Windows machine I have to reboot. There is no excuse for that sort of behavior.
-New indexing with a cut down version of sql sever for fast file searches (which is done from the same IE band as web searches now).
This encumbers the filesystem and isn't really all that useful. I could implement a program that does this on relavent sections of my harddrive if I chose to, but I wouldn't use it enough to justify the expense.
:)).
-Shadowed mouse (ok, ok, but it just looks cool
Wow.... Does it look as cool as gtk+ themes?
And basically, every part of windows is pluginable more than ever because of the nature of Explorer now. Desktop is an ActiveX container, explorer file listings is an ActiveX container etc etc. Ofcourse you have to be a programmer and know what you're doing.
There are a whole lot of things one can do with Linux if one is a programmer and knows what they are doing...
Basically Windows 2000 is your all round OS.
There is no such thing. Windows is not realtime. Windows cannot run in 128k of RAM. Windows doesn't have high-availability. Windows doesn't have a capabilities security model. Windows cannot be used on high end hardward (UE10k anyone), and even if it could you wouldn't want to.
And fit ready for consumer as well as commercial use.
Beta3 IS the final beta - I don't know what all that crap other people were going on about haven't there already been heaps of 'final betas'. MS have always had a 3 beta cycle. And there has only been one beta3 - it took a while, but it's here non the less.
I'll believe that when I see it on shelves. I can't count the times that I've heard "X is the last beta" from Microsoft.
;).
I've prolly missed out heaps of other features but all of this is from the top of my head, and in the order they came out
I count 4 items in that list that are features and aren't in Linux and all of them could be in Linux soon. So Microsoft better hope you missed some...
Windows 2000 has many little bits and pieces which makes it much more productive for the average person than Linux. And even for the advid programmer like me. I like the little bits which make my life easier. Ofcourse I still like command lines, but not for everything. Little time savers in Windows are much appreciated, and I can see where Microsoft put it's millions into GUI research. And I'll look forward to when MS Research's natural language engine gets integrated into Windows. (BTW text to speech is part of Windows 2000, and it reads dialog boxes etc).
Ofcourse, when natural language gets integrated into Windows, people will say "bah", I'd rather type a couple of lines than just "say" "computer, search on the internet for traces of that operating system called linux".
Have you ever used text to speech or natural language? Except in specific cases of blind persons it is useless. They both take forever as you can read and type faster than you can speak. Plus they are completely useless in a buisness environment. As for the GUI, yeah, it does have some nice features, but not enough to make up for it's utter lack of a commandline. And those features will probably be in Linux soon.
You might find Metcalfe's original paper describing Ethernet interesting if you haven't read it. The thing that strikes me after reading it again are its similarities to Linux and its design. It was based on known technology, Aloha radio networks. It was designed to run on inexpensive hardware. And it achieved its reliability from its simplicity. In other words, the same recipe used by nearly every succesfull open source project today, which makes Metcalfe's last column all the more confusing.
Every version of NT (including Win2000) has had both NB-over-TCP/IP and NetBEUI as options.
The advantage of ActiveDirectory and Dyanamic DNS is that you *should* be able to get rid of the NetBIOS broadcast traffic from your network. Of course, that's what they said about WINS, so we will see.
--
Business. Numbers. Money. People. Computer World.
Actually, given enough memory (~128 MB), Windows2000 will run fine on Pentium machines. (As a workstation, it feels faster than NT4, anyhow.)
I wouldn't be took shocked if it came out that the 300Mhz figure is some sort of kickback to Intel.
--
Business. Numbers. Money. People. Computer World.
Companies can afford the memory. Linux makes good use of 128MB too. If you'd rather buy something else, don't worry and run Linux or whatever suits you.
--
Business. Numbers. Money. People. Computer World.
Great closing line!
Software evolves. If we were saying that the UNIXes of 30 years ago were superior to modern day OSs, then somebody should go see a shrink, but UNIX has evolved like every other piece of software. Kernel version 2.2.10 is not 30 year technology, it is a little under two week old technology (having been released on June 14th).
- This post was made by a peice of technology that according to Bob Metcalfe is 4 Billion years old. Seems to me, we're doing just fine.
How about a nice civilized round of "stone, paper, scissors"?