What happens when well-known open source proponent Eric Raymond meets 300 diehard Mac programmers at the annual MacHack developers conference: a butting of the heads or a meeting of the minds? Also this week, Ron Risley relates his experiences in turning a battered PowerBook into a powerful Internet router and server. Finally, the Microsoft antitrust trial might go to the Supreme Court, and we report which MP3 players are most popular.
Microsoft Antitrust Case to Supreme Court — U.S. District Judge Thomas Penfield Jackson – who has been presiding over the Microsoft antitrust trial – has agreed with the Justice Department’s request under the Expediting Act to send Microsoft’s appeal directly to the U.S. Supreme Court, bypassing the U.S. Circuit Court of Appeals. Judge Jackson has already found Microsoft guilty of violating antitrust law and, earlier this month, ordered both a series of restrictions on Microsoft’s business practices and that Microsoft be split into two separate entities. The decision to expedite the case directly to the Supreme Court is a blow to Microsoft, which wanted to proceed to the Appeals Court, which has previously been friendly to the company and (in a controversial move) had already agreed to hear Microsoft’s appeal with a panel of seven judges rather than the usual three. However, Judge Jackson’s decision does have a silver lining for the software giant: the judge’s divestiture order and conduct restrictions on the company are suspended until the ruling is overturned or Microsoft exhausts its appeals. The Supreme Court must now decide whether it will hear the case – a decision which may come quickly or could take months – and it could still cede the case to the Appeals Court. (For more background, see TidBITS’s coverage of Microsoft antitrust issues.) [GD]
Poll Preview: We Live to Serve — Despite Apple’s lack of interest in recent years, the Mac OS makes a stable, inexpensive, and easy-to-administer Internet server platform for moderate-traffic sites (or personal efforts, as you’ll read in Ron Risley’s article below). The question for this week, then, is which common Internet services, if any, do you provide for other people from a Macintosh? If you’ve long been a proponent of Mac OS-based Internet servers, this is your chance to evangelize the approach to users who may not believe the Mac is a viable server platform. Vote today on our home page! [ACE]
Poll Results: I Want My MP3 — The results of last week’s poll asking which MP3 player you preferred rather surprised us. Only about 12 percent of the nearly 900 respondents claimed that they never listened to MP3s, which I expected to be higher. As far as the programs went, SoundJam and Audion finished in almost a dead heat, with 30 percent of the poll respondents voting for each of them. QuickTime Player, SoundApp, and Macast occupied a lower band, with between 5 percent and 9 percent of the votes, and GrayAmp, RealPlayer, MVP, Aqueous, and QuickAmp managed only a handful votes. A mere 21 people voted for Other, with suggestions in TidBITS Talk including AppleSource MP3, MPLAY, Liquid Audio Player, and Amp Radio. See the TidBITS Talk thread for full information and links. [ACE]
I’ve just returned from this year’s MacHack developers conference, where talk of open source was the rule thanks mostly to a challenging keynote from Eric Raymond, open source proponent and the president of the Open Source Initiative. The keynote, which started at the traditional time of midnight, lasted until nearly 6 AM as Eric and the room of Macintosh developers debated the merits of open source in the Macintosh industry. (For a description of MacHack, see "MacHack: The Ultimate Macintosh Event" in TidBITS-487.)
What is Open Source? The basic idea behind open source is that interested developers work together over the Internet on software projects coordinated and maintained by a few core programmers. The resulting software is then distributed for free with its source code, which lets any developer who finds a bug or wants to tweak something do so. If accepted by the coordinators, the modification finds its way into the next release.
This approach tends to provide open source software with both high reliability and a quick response time to bugs and security holes. Add in the price (free!) and you’ll understand the popularity of open source initiatives like the Linux operating system and Apache Web server.
Although the open source model may seem inherently unrelated to money, that’s not actually true. Arguably, Bill Gates’s innovation that enabled the creation of the software industry was not MS-DOS or Windows, but rather the concept that software itself had value and could be sold. The industry then converted to a model where it distributed software like factory-produced widgets, earning money on the sale and providing documentation and support for free. The problem, as Eric pointed out, is that this "factory model" earns a fixed amount of money while creating an essentially unlimited support cost lurking in the future.
Now turn back to open source. There’s nothing wrong with giving away software, but everyone has to earn a living. The open source concept can work as a business model only if you charge for something other than the software. That may be documentation, support, packaging, or secondary products like plug-ins – whatever the specifics, we’re talking about a service model replacing the factory model. That’s how Red Hat and the other open source companies make their money, and even in the realm of traditional commercial software selling support, training, and documentation has become an increasingly popular way for software companies to earn income.
Butting of the Heads — Eric’s talk could initially have been aimed at any audience, and although he made compelling arguments for why open source works better than traditional development models, it was clear that this was the first time he’d interacted with the Macintosh development community. The major disconnect that appeared almost instantly was the open source world’s emphasis on a collaborative developer community versus the Macintosh world’s emphasis on the end user.
In open source, although projects are maintained by a core group of programmers, anyone can contribute code. Mailing lists, Web sites, and other forms of electronic communication connect the programmers, who in large part double as the users of the software. Only recently have open source programs started to bleed into the more mainstream user world – a technically savvy user can get a copy of Linux and install it now, but it’s still utterly unthinkable to give a standard Linux box to someone unschooled in computing.
From the beginning, however, the Macintosh has been "the computer for the rest of us," and that attitude underlies everything. You can give your grandmother an iMac. In addition, the relatively small size and minority status of the Macintosh market generated a strong sense of community that helps programmers identify with "the rest of us." In the early days of the Macintosh, electronic communications weren’t prevalent, so massive user groups enabled Mac users to congregate in person. Plus, the mere fact that there was a market – which has only recently begun to be true in the open source world – also meant that events like Macworld Expo offered even more of a chance for developers to interact with the public. Finally, as became clear watching the frenetic network games of Carmageddon at MacHack, in the Macintosh world, programmers are users too.
This user-centric approach also helps explain one area where open source software – as Eric readily admitted – suffers horribly: user interface. When all the users of a program are extremely technical, an easy-to-use interface is less important. Plus, a little dictatorship can go a long way in easing the task of creating a good interface. Apple’s emphasis on a graphical user interface with a high level of internal consistency worked – virtually all Macintosh programmers work hard on interface, sometimes harder than on the actual code. Since the open source community has no human interface guidelines that must be followed for a program to have the "right" look and feel, programs rely on wildly different interface approaches, many informed by the command line and text-based configuration files of open source’s Unix heritage.
The close connection between software developers and users also generated arguments when Eric claimed that closed source software is inherently unreliable due to the lack of a peer review process. The MacHack attendees felt strongly that they wrote reliable code, because to do otherwise was not only a disservice to users, it was also a source of expensive support calls. But it was easy for Eric to counter by asking how many years Macs generally ran before needing to be rebooted. The reality of the situation is hard to pin down, since MacHack attendees probably write better code than average. Plus, many bugs that seem to happen within programs can be laid at the feet of the Mac OS itself, and no one would argue that the Mac OS is as reliable as Linux. But at the same time, Linux is primarily a server operating system, whereas the Mac OS is primarily used by individuals, who are far more likely to perform actions unanticipated by the programmers.
Finally, the strongest resistance to Eric’s open source ideas came when he criticized the factory model of software. He pointed out that although creating software for sale is the highest profile type of programming job, most programming jobs are for in-house support systems. Though everyone agreed in general, in-house development is relatively uncommon on Macs, and much of the audience earns their living selling software. Passions rose high for a bit, since the audience took Eric’s criticism of the factory model as an attack on their livelihoods. Luckily, cooler heads prevailed, and everyone relaxed as they came to realize that the Macintosh industry is already moving away from the factory model. Secondary products (such as plug-ins for Photoshop), training, documentation, customized programs, fee-based support, and even advertising all supplement or replace the retail price. And if anything, since Macintosh software has long had trouble finding space in retail computer stores, we’re already accustomed to acquiring and distributing our software in non-standard ways, which should only encourage the trend away from the factory model.
Meeting of the Minds — Eric Raymond deserves serious credit for standing on stage from midnight until 6 AM and arguing with a room full of Mac developers. Stubbornness was matched by stubbornness – it’s a trait of most programmers that they firmly believe they are right. But Eric also deserves credit for clearly stating that the open source community needs to learn from the Macintosh world, both in terms of how to create good user interfaces and in learning how to deal with consumer audiences. For their part, the MacHack developers admitted, some wholeheartedly, others more grudgingly, that the open source model could prove extremely useful in the Mac world as well.
The situation improved even more as the conference proceeded, since Eric didn’t just talk and run – he stuck around for the entire conference and found himself caught up in the spirit of things. Leonard Rosenthol, a veteran of all fifteen MacHack conferences and a major supporter of the open source model for Macintosh software, suggested that everyone chip in some money to buy Eric an iBook at the CompUSA next door. A day later, enough bills had accumulated in the "Buy Eric Raymond an iBook" box that he was presented with a blueberry iBook with extra RAM and a selection of software from the companies represented at MacHack. He was blown away when it was presented to him, and he and Maurita Plouff even participated in the Hack Contest with a hack written in the Python scripting language.
By the end, Eric was promising a return trip to MacHack, and proposing an OpenHack conference modeled closely on the approach and culture of MacHack. Both would help cement the ties between the open source and Macintosh communities, ties that can benefit us all.
It has been a year since the seduction began.
I was an early adopter of ISDN, but years later I felt that it never lived up to its promise. Now that DSL is available in my area, and since I can hit the telco central office with a well-aimed pitch from my back yard, I figured I would get excellent results, since bandwidth available via DSL depends in part on the length and condition of the wires from the central office to your site.
My DSL installation was quick and practically flawless, in spite of complications caused by the conversion from ISDN. To keep the DSL line isolated from the rest of my network, Pacific Bell provided a PCI Ethernet card for my Mac. My downlink speed reached 1.5 megabits per second (Mbps), although PacBell throttled my uplink bandwidth down to 128 Kbps.
Spreading the Joy — I couldn’t be happier, except that this new instant-on, super-fast connection worked only for my main computer. My wife Kim’s iMac, barely two meters away, was still chained to a 56 Kbps analog modem (and since our voice line uses the same pair of wires as the DSL connection, she could no longer surf and talk at the same time). Other derelict machines scattered around the house had no Internet access at all. We needed a way to share this prodigious new bandwidth resource.
A quick search of the Web turned up some DSL routers. These devices connect to both the DSL line and an Ethernet network, and optionally share a single IP address among several machines using Network Address Translation (NAT). Just what I needed, except that both Kim and I are resident doctors, which means we make just over minimum wage. The $200 installation fee for the DSL line had already decimated my computer budget for a few months, and DSL routers from companies like Netopia start at about $500.
It occurred to me that there must be a software-based solution. Another search turned up SurfDoubler by Vicomsoft and IPNetRouter from Sustainable Softworks.
The Vicomsoft product looked friendly and polished, but it limited the number of simultaneous users to two or three. I liked IPNetRouter’s approach of leveraging the considerable power already present in Open Transport. The interface was geekier and more flexible, and since I’m a geeky kind of guy, I downloaded the free demo.
IPNetRouter did everything its author, Peter Sichel, promised. I went seriously over budget by registering the $89 program (generous educational and competitive upgrade prices are available), and within minutes my wife’s iMac was enjoying the same unfettered Internet access that I had. Unfettered, that is, as long as my machine was running. That presented a problem: I like to write low-level software, which means that I crash and/or restart my machine frequently while testing. I also hate fan noise and I hate wasting electricity. Leaving my SuperMac S-900 with dual fans and dual monitors continuously running when I wasn’t using it was troublesome.
Full-Time Service — IPNetRouter, I’m told, doesn’t use a whole lot of processor power. I had an old PowerBook 5300cs sitting around that had both a malfunctioning display and a broken trackpad. It wasn’t worth the trouble and expense to fix it, but the processor still worked fine. It was fanless, sipped power, and even had built-in backup power in the form of its built-in battery. Could it be pressed into service as a router?
Indeed it could. I hooked up an external monitor and a mouse long enough to load AT&T’s Virtual Network Computing (VNC) software onto it, which allows a remote machine to mirror the screen and send keyboard and mouse commands over the Internet. (See Kevin Savetz’s look at earlier versions of VNC in TidBITS-441.) It isn’t as stable or feature-filled as Netopia’s Timbuktu, but it would do the job and, being free, it fit my budget. I bought a Ethernet PC Card from TidBITS sponsor Small Dog Electronics for $19, loaded IPNetRouter onto the PowerBook, and connected it to my Ethernet hub.
What had started as a simple switch from ISDN to DSL had grown into a small but significant LAN construction project. I now had a stable, fast, 24/7 Internet connection that could be shared by all the computers in my home. You would think I’d be satisfied.
But another problem quickly presented itself.
A Web of One’s Own — I’ve had a Web presence for a long time, but I’d always been content to have my site served by my ISP. Why should I take on the hassle of keeping a server up constantly, when server space is included with most ISP accounts? The ISP I used for my old ISDN connection, however, didn’t support DSL. That meant moving my site, which meant rewriting all of the pages that used server-specific resources (mostly CGI scripts to handle email forms) to be compatible with PacBell’s servers. PacBell also limits DSL accounts to three megabytes of server space, which would be a tight squeeze for my site. Free server sites exist, but usually on the condition that you display ads, and I take pride in the fact that my site is free of advertising. I could buy more server space from PacBell or elsewhere, but there was that pesky overextended budget problem again.
I stared balefully at the 5300cs under my desk. Always on. Always connected. Static IP address. Hundreds of megabytes of free disk space. Why, it was the perfect candidate for a server!
With no previous need for a Web server, I had never paid much attention to the server software that was out there. I knew about StarNine’s WebSTAR, but it violated the Prime Budget Directive. My brief search for a very low cost server was rewarded when I was reminded that Apple’s Personal Web Sharing has been bundled with the Mac OS since version 8.0, and runs under Mac OS 7.6. [Another option is NetPresenz, the venerable shareware application which offers Web, FTP, and even Gopher servers, but its $75 price is higher than that of the free Personal Web Sharing. Ron eventually switched his server to NetPresenz, but later in his server odyssey than what’s covered in this article. -Geoff]
I activated Personal Web Sharing, copied my Web site files onto the 5300cs, and I was hosting my own site! I was surprised to find that Personal Web Sharing even uses File Sharing to support basic authentication (password-protected Web pages) and CGI scripts. I soon discovered a wealth of AppleScript CGIs on the Web, and installed the venerable Email CGI to support my basic forms.
Why Not Email? High-speed access for all my machines, a local Web server with hundreds of megabytes to play with, freedom to write my own CGI scripts… that should have been enough, but I’d been bitten by the server bug. I have always wanted to host some mailing lists to help my fellow residents communicate better, but never had access to a list server. I remembered Macjordomo, an long-standing mailing list server, and was surprised to find out that it was still free.
Macjordomo doesn’t require your own mail server, but as I configured it I realized that I would need several addresses for each list, since I was thinking along the guidelines published in TidBITS for mailing list management (though I haven’t set up all the headers yet).
Sure, I could get extra mailboxes from PacBell, but then that budget thing reared its ugly head again. The Macjordomo documentation, though, listed a couple of free Mac POP and SMTP mail servers. Those would provide me with all the mailboxes I wanted. First, I evaluated Eudora Internet Mail Server (EIMS) since I’m a big Eudora fan. The commercial version looks nice, but is way out of my price range. The freeware version also seems to work well, and has its adherents, but I couldn’t get the anti-relay features to work as well as I wanted. I couldn’t live with myself if someone were using my site to relay spam. So instead I adopted Stalker Internet Mail Server (SIMS), a flexible server with excellent anti-spam features.
Now I could create whatever email boxes I wanted, and in the process I had solved another problem: many of my patients prefer to communicate with me by email. Some encrypt their mail using PGP, but for others that is too complicated. I worried about their messages sitting, unencrypted, on someone else’s POP server. Though messages can still be intercepted in transit, at least now they go directly to a computer under my control.
What’s in a Name? Surely that would be the end of things. I now had a server for email and the Web, a mailing list manager, and NAT-equipped router. I had done it all for about $200. The only problem was that the "friendly" DNS name PacBell had given my PowerBook 5300 was hideous – it was more than 40 characters long and contained a mishmash of letters, numbers, and hyphens. How was anyone going to remember an email address at a site with a name which looked like a random slap on the keyboard?
I admit it: I have always lusted after a vanity Internet address. Now I had my excuse, and with the opening up of the domain-name registration process, prices were falling. It would mean spending a little bit more money, but by then I had saved a bit by skipping meals while trying to get all this server software running. I registered with Network Solutions at $70 for two years.
Another catch, though: in order to register a domain name, you have to have two separate domain name servers (DNS) – ideally on topologically distant parts of the Internet. Again, these services can be purchased from any number of vendors, but I needed a more budget-friendly solution.
Fortunately, there are two free name servers available for the Mac OS. But first a word of warning. With some perseverance and patience, most people could probably get this far. The free Web, email, and mailing list server software is of generally high quality, well-supported, and more-or-less easy to use. The DNS system, however, does not excel at user-friendliness. Understanding the arcana associated with DNS servers and their zone files can be a monumental challenge. If you’re going to break down and pay somebody else to administer part of your site, or plunk down serious bucks for a friendly and supported commercial product (such as the $290 QuickDNS Pro from Men & Mice), DNS is where I’d start.
To their credit, Apple attempted to put a friendly face on DNS back in 1995 when they flirted with the idea of supporting Internet servers on the Mac. MacDNS makes it possible to get a domain name server online in minutes, though its capabilities are limited, its performance poor, and its stability is highly questionable (although some report using it without problems). It is still available as a free download from Apple, but has not been updated since 1996.
NonSequitur is an alternative for Unix geeks and others willing to tackle the mysteries of BIND-format zone files. It is a small, fast, streamlined name server that seems extremely stable. It is also free, and is my name server of choice. Since MacDNS’s and NonSequitur’s zone files both use BIND format, you could conceivably use the MacDNS front end to create a zone file for NonSequitur, though I haven’t actually tried it.
Providing a secondary DNS proved more problematic. I only had one IP address, so my secondary service would have to be hosted elsewhere. For the short term, I solved this problem by recruiting a temporarily unused computer at my work. DNS is generally low bandwidth and can run in the background virtually unnoticed for low-volume sites, but this solution wasn’t really satisfactory – even the scant few cycles I was using weren’t really mine.
Ideally, now that high-speed access is becoming more commonplace, we could create simple DNS hosting partnerships: you provide secondary DNS for me and I’ll provide it for you. Unfortunately, neither of the free Mac OS DNS programs support this concept. Most DNS programs can act as secondary servers by querying the primary, so zone files don’t have to be manually synchronized between the two machines. MacDNS and NonSequitur will act as primaries, but do not support secondary DNS. A clever AppleScript could probably circumvent this limitation, but that project is currently languishing on my good intentions pile. The commercial QuickDNS Pro does offer secondary service, but when the budget had recovered a bit, I ended up buying secondary DNS service. Several providers offer secondary DNS for a dollar or two a month.
Share and Share Alike — Enough certainly should be enough, but there was just one more piece I wanted to put in place. I was involved in another project that needed some hosting services. Now that I had all the pieces in place, how hard could it be to add another domain to my server?
I soon became discouraged. There are well-established standards for sharing a single IP address among multiple Web sites as a way of conserving scarce IP address space – a practice called virtual hosting. Alas, virtual hosting implementations for the Mac OS seemed to be limited to WebSTAR plug-ins. I mulled over the idea for a few days before it occurred to me that a CGI script could do the job. When I went to create the script, I discovered that it was frighteningly simple. In its most basic form, Web server multihoming can be accomplished with just three lines of AppleScript! Even after I added some error checking and refinement, the script is less than a screen’s length and supports an unlimited number of Web sites all hosted from the same IP address.
Mastering the Web Universe — We’ve all heard the A.J. Liebling witticism, "Freedom of the press is guaranteed only to those who own one." What is remarkable, to me, is the dramatic way in which the Internet has decreased the cost of press ownership. The one major piece of the puzzle was full-time access to the Internet, but the rest of the job of building a full-fledged Internet presence required little money, a scrap computer, and a chunk of spare time.
When I’d considered setting up my own server in the past, I’d always assumed I would run it under Linux. In retrospect, I am glad I took the Mac OS approach, unplanned though it was. It convinced me as nothing else could how viable Macintosh is as an Internet platform.
More information about setting up Internet services under the Mac OS can be found in the book Providing Internet Services via the Mac OS, by Carl Steadman and Jason Snell, available online. Although the book was published in mid-1996 and is now quite dated in places, it was comprehensive at the time and the basics remain as true as ever.
[Ron Risley could have been a dot-com. Instead, he closed his communications consulting practice in 1986 to pursue a new career as a psychiatrist and family doctor.]