Bob Metcalfe on Open Source, IPv6, IETF
prostoalex writes "The inventor of Ethernet Bob Metcalfe is interviewed by AlwaysOn on current issues. Metcalfe is known for challenging commonly accepted wisdom and this time he's quite confrontational. On open source and operating systems: "If you look at Windows and Linux, both are based on 25-year-old technology. Windows is sort of a GUI version of the Mac's operating system, and Linux is of course Unix, which stems from 1968. These are both old clunkers. So the question is, Where are the new operating systems likely to come from?" On IPv6 adoption and IETF: "Back when you attended the IETF, you all looked down your noses at the ITU (or I guess it was called CCITT at the time)--the entrenched, corporately manipulated, corrupt, competent standards being embodied in IT. We were the IETF--the swashbuckling, institution-oriented, open people, the rebels. That's changed now. The Internet has arrived, and all of those people are now just like ITU: IETF has become the ITU.""
Okay, while I'll agree that the technology and underlying philosophies of design are "old" in technology years, but for something to be an "old clunker" there should be a basis for comparison -- something that is NOT an old clunker. What is that something? Anyone have any examples?
The Army reading list
Before we can ever hope to innovate the OS, we must first innovate software development, i.e. languages.
All the language techniques that we use are rooted in old technologies. Its still just as hard to code today as ever, if not harder.
I've been programming since 1980 and back then you wrote everything yourself. It was a lot of work but at least you controlled the quality of the system because you wrote it all.
Today, systems are so complex (unnecessarily so), and the technology hasn't changed enough to keep up with the demand. We still write for loops like we always have.
The spoon is a fine tool when all you dig are holes in ice cream but when you have to dig a trench in the ground, forget it.
While today's software is good I think some 'old' things from the past should be revived. We just don't make software like we used to. Large amounts of memory and CPU cycles have made us sloppy. Those people that designed software for a few kilobytes of RAM we smart.
UNIX/Linux Consulting
Not a big shock... about 15 years ago, the two power centers in BC Politics were the NDP and the Social Credit Party.. The left wing was in the NDP who had power at the time, and the Socreds had pretty much lost favour as the reigning right-wing party (( yeah that belies their name, but having been decades in power, the right wing had taken them over )). Then an upstart Liberal party maaged to worm their way into the leaders debate and caught fire, becomming the official opposition.
By the next election, the formeer Socred political machine had taken over the Liberal Party and kicked out it's leader. These are the people who now run the province.
The problem with our political/media system is that the only people who tend to end up in positions of power are those who really want it (and are willing to do whatever it takes to get that power). Unfortunately, these are precisely the people you don't want in power.
Sometimes boldness is in fashion. Sometimes only the brave will be bold.
Building a new operating system takes a long time and a lot of money.
Because Windows comes on pretty much every new PC, and Linux is readily available for download, you will probably never get that money back.
OS/2 was a superior operating system to Windows 95, but people didn't buy it. They bought computers with Windows, or they installed Linux from cheap CDs (downloading it wasn't feasible at the time for most people). Now the superior O/S is being folded up and thrown away.
So what about the hardware question? NeXT was a superior operating system on superior hardware. First they stopped making the superior hardware, then they stopped making the superior O/S. Why? No money in it.
Has the world changed? Be was a superior operating system on superior hardware. First they stopped making the superior hardware, then they stopped making the superior O/S. Why? No money in it.
The open source community has some pipe dream that when you can't make money from software, you will contribute your software for free. What actually happens is people stop writing software so they can do something that makes money. And for all the rhetoric about freedom, your scads of users aren't really going to matter when the project has only two developers left working on it... and both of them are investing most of their effort in something profitable.
That's why I believe in the BSD license. Code under the BSD license can still be commercially exploited. That means you can still make money off it. And that means smart people will continue to write and use it.
Microsoft cheerleader, blue flag waving, you got a problem with that?
If networks were configured so that the "general rule" is NOT to be anonymous, then there is no way you can guarantee true anonymity. The reason being that if someone wantred to be "anonymous", they would have to request that privlege from some kind of "anonymity broker" or... own their own network. And even then, with the ability to track the packets, the only guarantee of anonymity is not technical, but social. The owner of the network that the message originated from would have to be the barrier. And as we all know, the current political climates around the world will be unlikely to respect that anonymity if they decide that your activities are "illegal". If someone wants to send e-mail saying they hope that a certain politician gets assainated, in some locations, that would be "illegal". Even though it's really freedom of speech. So, I don't think his suggestion works because it's not true anonymity unless you are in a very powerful position. Every citizen (from beggar to king) should have access to anonymity.
-"...bad old ideas look confusingly fresh when they are packaged as technology" - Jaron Lanier (Digital Maoism on Edge.o
"I guess someone should tell automakers that they should reinvent a mode of transportation from scratch."
Perhaps transport engineers rather than automakers. The automakers have a huge investment in the status quo. You don't need 4 wheels an engine, brakes, throttle or even a driver.
Transport engineers have already designed and built transport systems which don't have any of the above. Starting from scratch in the 1950s they devised a transport system which optimises the mathematics of getting from A -> B. Yes there is mathematics which describe the performance of transport.
It turns out that this is about as close to optimal as you're going to get with current technologies. Computer controlled, linear induction motors, a few rollers rather than wheels and only 16 moving parts. Non stop from A->B, no congestion, no traffic lights, no changing routes, no waiting on schedules.
It's been independantly re-invented a few times over the last few decades but we've now got the computer technology to actually do it.
Deleted
So what about the hardware question? NeXT was a superior operating system on superior hardware. First they stopped making the superior hardware, then they stopped making the superior O/S. Why? No money in it.
Actually, they are still making a superior OS on superior hardware. They didn't go away, they took over Apple from within.
I think it's one of the most fascinating stories of the last 20 years how Steve Jobs somehow managed to steal his old company back.
Information wants to be anthropomorphized.
Reasonable people adapt themselves to the world. Unreasonable people attempt to adapt the world to themselves. All progress, therefore, depends on unreasonable people. -- George Bernard Shaw
I noticed that Bob leaves a large hole in his attack on OSS. It is true in that most companies just want a shiny box and packaging with a guarantee that the vendor will fix everything without having to teach a class on it. However, just because software is OS doesn't mean it was sold by some college CS undergrad who forgot to spellcheck the readme.txt. Novell (for example) doesn't sell you a Novell enterprise desktop package for your business on an unlabeled Staples CD-R wth a note scribbled on the back.
Companies like them use OSS to build enterprise level suites with support that are still usually (but not always) cheaper than an MS or Unix alternative. Then they compete in the market based upon the merits of a system that is 'rigorously tested and constantly updated by the top programmers in the world and maintained by our top-rated staff' as opposed to getting an operating system programmed by a bunch of college CS geeks.
I think Bob needs to realize that companies don't need to know they're using OSS because a company that uses it can be every bit as professional as he thinks Microsoft is. If OSS doesn't work because it doesn't work for the consumer as well as Microsoft does, then why is that so many web servers are running Apache on (likely) some version of Red Hat?
Perfecting Discordia
www.stevenvansickle.com
Where are the new operating systems likely to come from?
Where are the new wheels likely to come from? I mean the wheel was invented by the cave man and tires have been around since the 19th century. So who will make a better wheel?
Maybe Unix is still around because back in 1968 those engineers got it right. Maybe there aren't any revolutionary OSes around the corner -- just evolutionary changes to the ones we have.
Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
Have you actually tried to port anything that was developed on linux to another unix?
/dev/rtc, doesn't exist on my unix :( :(
1. Oops, no linx/blah.h to be found on my non-linux machine.
2. Whoops, can't open
3. cd src-dir; make && make install
make: bad syntax (or some such), right, guess I need gmake
4. Oh, nice in-line assembler that only works with gcc, guess I can't use my optomized compiler
Considering suppliers to the automotive industry, the jobs they provide, the petroleum products required to make them run, and that much freight moves by trucks, the investment by society as a whole is huge.
Which is why it's going to be increasingly traumatic as the oil faucet slowly begins to close. Geopolitics surrounding petroleum is already traumatic enough now, thank you.
"Provided by the management for your protection."
Indeed, Lisp does not suffer from the problems that cause the lion's share of security breaches today. At the same time, Lisp pioneered many concepts of modern programming languages (even if they weren't all invented on Lisp), and then some. Garbage collection, Lisp macros (which allow you to extend the syntax of the language), functional programming, and object-oriented programming are all common practice in Lisp, just to name a few. All of this (maybe not OO - I'm not sure if it had been invented yet) worked very nicely on Lisp machines, and I think they even had some sort of GUI, although it wasn't like the GUIs of today.
Lisp machines failed mostly because Symbolics tried too hard to make money off them. They made them very expensive, so people bought cheaper hardware and lived without Lisp. In the meantime, they protected everything with patents and copyrights, and since Symbolics folded, nobody seems to have been able to re-create the technology.
It is worth knowing that the GNU project was started pretty much as a direct reaction against the Symbolics affair. A certain hacker called Richard Stallman worked at Lisp Machines Inc., the other company that made Lisp machines, and was so upset about the abuse and destruction of this good system for the sake of commercial interests that he decided to build a system that would be Free and remain Free. Indeed, Lisp was mentioned as an official language for the GNU system (the other one being C), although few programs are written in it (Emacs and Sawfish come to mind).
Lisp still survives as a language (I think it's the second oldest programming language), and the community seems to be reviving a bit, although many lispers seem to "make do" with languages like Ruby and Python, that have a somewhat lispy feel to them. And with projects like Movitz, maybe we will have lisp machines again someday.
Please correct me if I got my facts wrong.
I think that systems are complex because of bad design first and bad implementation second. If you have a bad design, no amount of good implementation is going to save you. If you have a good design that's poorly implemented, then there was no point of having a good design.
As far as languages are concerned, you could implement an object oriented approach to a C program (good design, bad implementation), but it is much easier to design a language that embodies that approach, i.e. C++.
I've spent most of my 23 years programming, designing systems. Every time that I go the extra mile to do the best design that I can with the time allotted, the programming is simplified and complexity is reduced.
Good designers see everything the same, good programmers see everything different. The best designs have their complexity in the structure not the code. Most systems have their complexity in the code.
What are the problems today in languages that cause complexity in coding? Inheritance, garbage collection, OO languages that break encapsulation (.NET, Java, any programming language that uses GC), multiple objects being "owned" by more than one other object, multi-threading locks that are defined at programming level instead of structural level, etc.
What I'm tired of seeing in "new" languages is the same old same old. Sure the syntax is different or some esoteric problem that the language designer had implementing a particular system in an existing language has been solved by their "new" language. But the basic concepts are identical to most existing languages.
The only real innovation, (if you can call it that), that's been made in a recent (10 year old language) mainstream language, viz. Java, is by making INTERFACE a language element. Granted, interfaces have been around forever, but Java is the first mainstream language to implement it at the language level.
What is needed is someone to completely throw out everything they thought they knew about languages and start from scratch using everything they know about complex system development.
You may ask yourself, "Why don't I do this?" Because there's no money in it and once I did, I'd have to convince the religious to convert. Not worth it.
You basically have to subsidise it to around about 50% in order to persuade people to use it. The UK subsidises the rail system to the tune of around £4 billion a year (approx $7 billion). This is largely because all current public transit systems are designed to carry groups of people from A->B.
All of the above mean that current public transport is a dreadfully slow and expensive method of travel. Is it any wonder at all that people don't like current public transport and would rather sit in a congested traffic jam?
Personal Rapid Transit should manage to be cheap enough to run at a profit and still attract passengers because it's way faster than the rest, including cars, there's no drivers to pay, the infrastructure is cheaper to build than a road.
Deleted
After reading the web site you sent out about the PRT I realized the prototype is in the back of parking lot 3 at raytheon's site in marlboro MA (where I worked for 3+ years) and I can tell you point blank the project died years ago.
:)
They can't even fire it up because the mice have chewed through most of the wiring. Rumor has it the last time they fired it up (5+ years ago) the PRT actually got stuck on the track and the people where left there for 2 hours while they tried to fix it.
On a side note I actually used to park my car under it
"all the system objects present themselves as named files that are manipulated by read/write operations; second, all these files may exist either locally or remotely, and respond to a standard protocol; third, the file system name space - the set of objects visible to a program - is dynamically and individually adjustable for each of the programs running on a particular machine."
The result of this is that each app or user session can run on a metacomputer. A CPU here, a CPU there, some storage over there and a display and mouse and keyboard here. SMP is automatic, your filesystem contains the entire internet (like you ask for), and "my computer" becomes a text file describing the resources you have acces to. Got a job you don't want to stop, but want to turn off the CPU by your bed?
mv /proc/job /mynetwork/livingroom/proc
(I'm making that up, but that's the idea...)
"A language that doesn't affect the way you think about programming, is not worth knowing" - Alan Perlis