This is a copy of my November/December 2004 VON Magazine Column
Concerning IP and the Internet, a little pragmatism has gone a long way.
I'm not much of a visionary. I look at the Internet and don't see great policy issues--just a system in need of some debugging.
I first learned to program in 1963 (9th Grade) and by 1966 I had a job with a
group building an online financial service. With a terminal in my dorm room I saw
programming as a means of expression, not just a trade. I was fortunate in getting
into MIT (on my second try) and joining a community building the systems and networks
we use today. It's interesting to look back and see how ideas worked out.
The Internet is one example.
At MIT I worked on the Multics project (Unix was a spin-off). In 1969 we got connected to the Arpanet. In 1973 Bob Metcalfe presented his Ethernet as a class project. It emulated earlier radio packet networks and accepted the idea of an unreliable transport. The client computers had to take responsibility for assuring their packets got delivered. The Arpanet's successor: today's inter-networked LANs. As with Ethernets, the Internet offered only "best effort" packet transport at the IP layer. TCP and UDP are part of the applications, not network services.
The Internet was viewed as "just a prototype." Instead of the Ethernet's 48-bit address, the Internet used 32-bit addresses. An Ethernet address is unique--an Internet address is only temporary. If you move your computer you get a different address. The DNS (Domain Name Server) was created in an attempt to provide stable identifiers.
It all worked far better than anyone could have expected. The flexible approach allowed the use of inexpensive transports. There was enough value in low-impact applications (such as transferring files) to create a market for more capacity which, in turn, created opportunities for new applications. Eventually there was enough capacity to support a demanding application like voice at no additional cost!
I say "we" -- I contributed to the community but was mostly an observer. By writing code (and, for some, building hardware) we created our own capabilities. Exchanging files evolved to become email and then network mail once we had interconnected our computers.
The capabilities we created for ourselves have become available to everyone thanks to the web and the businesses that built upon the technologies. People using the new services didn't have to understand the underlying protocols. This isn't very different from what techies do--what is different is that we know we have the option of rethinking the underlying design. Those lacking a technical background had to rely on their common sense and assumed that the protocols were very complex and immutable. Problems had to be solved by social and political processes--technology couldn't be trusted with vital infrastructure and technology tended to frustrate the naive and often contradictory requirements of the users.
The web started to become significant in 1993. At that time anyone could get an IP address and thereby possess an Internet presence. A web server can be a very simple program. We learned by experimenting and sometimes not failing. The web's success pushed the prototype Internet over the edge and the IP addresses had to be rationed. In doing home networking I had to make do with a single address for an entire network--interior machines could only browse but not contribute! The commercial value of the DNS names meant they could only be leased and thus were no longer stable! ICANN was created to manage this scarcity. The inability of the interior machines to participate in the Internet became a virtue--they weren't lame, they were safe. The technologists themselves seem to have bought into the idea the Internet could be, indeed should be, driven by social policy. Rather than questioning whether the net could survive governance, the debate is limited to the choice of governors.The P2P community was created by outsiders who just had to accept the Internet as-is. Instead of petitioning for fixing the net, they just worked around the problems. This is just like the old days when the Internet worked around the limitations of the phone network! Very pragmatic and easier this time around--at least we have an existing packet network to build on. We also know how to generate our own addresses locally! This time we know we must encrypt traffic. No need for the DNS or ICANN. In fact, the current Internet is no longer very special. And no place for governors to perch! We can and must build upon the prototype.
Just by being pragmatic