As many of you know from reading my article in TidBITS-370, Apple has announced that Open Transport will enter "maintenance mode" and eventually be replaced in Rhapsody by Unix BSD (Berkeley Standard Distribution) networking code. Open Transport will continue to exist within the "Blue Box," which is the compatibility layer for current Mac OS applications running within Rhapsody.
Response to this announcement from the Internet development community has ranged from confusion to frustration and back to confusion again.
For instance, Amanda Walker, who developed parts of TCP/Connect and InterPPP II for InterCon Systems (now owned by Ascend Communications) said, "I think that not porting Open Transport (which is essentially Mentat Portable Streams - one of the fastest and most flexible Unix networking stacks) to OpenStep (which uses a good, but slower and less flexible 4.3 BSD-based networking stack) is stupid and shortsighted. I will be amused if the classic Mac OS ends up being a better server platform than Rhapsody."
Some Questions -- Other developers voiced similar concerns, but the common theme among them were the numerous questions that came up. Replacing Open Transport with BSD networking (I'll refer to it merely as BSD from now on) is not a trivial decision, and it affects the Mac both at a low level and at a user administration level. Avoiding the truly technical issues, here are a few questions about the future of networking on the Mac whose answers will affect many of us. These questions may not have answers yet; any Mac user who relies heavily on Open Transport should be concerned about the fact that Apple didn't have answers ready when they made the announcement.
Do note that I'm not interested in hearing speculation about the answers - the only people who can answer these questions are the Apple engineers working on the Rhapsody networking transition.
Open Transport deals well with multiple TCP/IP configurations, making it easy for Macintosh users to switch between multiple ISPs and even multiple methods of connecting to the Internet (modem, network, etc.) without rebooting. BSD was designed for Unix workstations that never move and don't have to change their networking configurations multiple times per day. How will BSD deal with, as a friend noted, "the diversity of messed-up network configurations" that Open Transport handles with ease?
Open Transport may not have a perfectly simple interface, but it's pretty easy. Will BSD networking be as easy for a novice user to set up and reconfigure if necessary? Will Rhapsody have to ship with your own personal Unix guru?
Numerous Macintosh developers have invested a great deal of time, energy, and code in developing for Open Transport. Does it make sense to "trade" those developers, all of whom are interested in developing for the Macintosh, for a new set of Unix and Windows developers (BSD comes from Unix, and WinSock in Windows is based on BSD), few of whom have any interest in developing for the Mac? As Amanda Walker says, "If I'd wanted to develop for a niche Unix machine, I'd have been a NeXT developer."
Open Transport supports (of course) AppleTalk. BSD has no built-in support for AppleTalk. How will Apple add support for AppleTalk to BSD? Wouldn't it be ironic if Apple had to buy an AppleTalk stack for Rhapsody from an outside source?
What happens with plug & play networking under BSD? Will you still be able to plug in an Ethernet card and have it work without fuss? For instance, on a PC, if you so much as move an Ethernet card from one PCI slot to another, you have to reinstall the drivers, something that would be laughable on a Macintosh. Also, what about LocalTalk support? Vast numbers of Macs rely on simple LocalTalk networks for sharing files and printing.
How will Open Transport in the Blue Box and BSD in the Yellow Box (which is the layer where native Rhapsody applications run) share networking resources such as modems or Ethernet cards? For instance, if you make a PPP connection using FreePPP in the Blue Box, can you use an Internet application that only runs in the Yellow Box over the same connection?
In Apple's testing on a 10 Mbps Ethernet network, Open Transport could sustain throughput of 9.6 Mbps. In contrast BSD could only sustain 7 Mbps (and the venerable MacTCP could only do 2.3 Mbps). That may not sound like a huge difference, but what about a 100 Mbps Ethernet network? Open Transport has been shown to sustain 40 Mbps on those networks - how well will BSD do? Wouldn't it be ironic if existing applications running on Open Transport in the Blue Box significantly outperform future applications running on BSD in the Yellow Box? (This isn't an Internet issue since throughputs on the Internet are so slow in comparison with Ethernet networks that even users with T1 Internet connections would be unlikely to notice the difference.)