musings
by Rik Farrow
Rik Farrow provides UNIX and Internet security consulting and
training. He is the author of UNIX System Security and System
Administrator's Guide to System V.
I found out about the rumor from some email that pointed me to an article at Linux Today. Matt Michie, a student at New Mexico State University, muses about the future of Linux, BSD, and Microsoft (<http://linuxtoday.com/stories/6960.html>). I was very impressed, even to the point of turning over this column to him. Matt did not appear interested in writing for a medium that travels at less than the speed of light, so I am safe for now. In his article, Matt mentioned that a Win32 layer that will run on top of UNIX already exists. According to Matt (and other sources), this library was created for the ports of Internet Explorer to Solaris and HP-UX, but is now in the hands of Microsoft. While Microsoft has officially denied having a Linux Office project underway, they also denied having a Java version of Office in the works until they decided to abandon the project, which did get announced. Matt's prognostications included the notion of Windows over UNIX specifically on top of FreeBSD. In Matt's vision, Microsoft would work with a version of FreeBSD, adding the Win32 library so that it would run Windows 9x/NT applications without modifications (well, theoretically at least). They would choose FreeBSD over Linux because the licensing is less restrictive they would not have to post modifications to the open-source community. Then Microsoft could modify FreeBSD to its own satisfaction, making it different enough that you could not simply put the Win32 library on top of the original FreeBSD and expect it to work. Diabolical?! Would they do this? I personally doubt it, but it is a reasonable potential counter-strategy for handling the open-source movement. And I would bet that they are actually working on it, just in case. Microsoft will appear angelic as it releases an open-source version of BSD UNIX, gets good press, and perhaps pulls the wool over the eyes of the Department of Justice in the process. Once everyone is impressed, Microsoft goes about mucking up their "open-source" UNIX, making it just as proprietary as anything else they have ever done. Free *NIX My pleas for some insight into why there are three different versions of BSD (and one commercial one, BSDI) around have not fallen on deaf ears. A reader of ;login: who preferred to remain anonymous explained it to me. You can also read an insider's (Jordan K. Hubbard's) version of some of the history at <http://www.freebsd.org/handbook/history.html>. So why are there several versions of BSD? In a word, personalities. Everyone just didn't get along, so in the spirit of true anarchy, they fissioned into different groups. In a democracy, the majority would force the minority to accept its view, and in a dictatorship, the leader's view (or the boss's) would prevail. Anarchy does have something going for it. Bill Jolitz had started the 386BSD project, an attempt to produce an unencumbered version of BSD UNIX. In those days, you could get the source to BSD only if you had a source license from UNIX Software Labs, part of AT&T. While most of UNIX had been completely rewritten, there were still some portions that had not. Jolitz set about writing one of the key pieces, memory management for an Intel 80386. Memory management is critical to any port of any multitasking operating system, as well as being a bear to write. Jolitz (who later joined BSDI), had published the source of his memory management modules in issues of Dr. Dobbs back in the early '90s. Coincidentally, this happened about the same time that Linus Torvalds was writing memory management for what would become Linux. Jolitz managed to produce two versions, .0 and .1. Neither version worked very well, but there were many patchkits floating around that moved the .1 release toward a truly functioning UNIX system. Jolitz had never been easy to work with and withdrew his sanction for the patchkits in 1993, leading to the founding of the FreeBSD project by Nate Williams, Rod Grimes, and Jordan Hubbard. Hubbard negotiated with Walnut Creek CDROM for both CD publication and a fast Internet connection, and in December of 1993, FreeBSD 1.0 was released. FreeBSD 1.0 was based upon 4.3BSD-Lite ("Net/2"), as well as software from 386BSD and the Free Software Foundation. But Net/2 was considered encumbered by Novell, which had bought the license for UNIX from AT&T by this time. Keep in mind that this was after AT&T failed in its lawsuit to prevent any of this from happening arguing, in part, that anyone who had ever seen UNIX source code was "contaminated" and could not participate in writing another operating system. If you think this is weird, Microsoft has vaguely similar arrangements in its source-code license. Also, BSDI, which was preparing its version of BSD around this time, was forced to change the last four digits of its phone number. (8649 spells UNIX, as well as TOIZ, on your touch-tone dial.) Note that USENIX was not forced to change its offices' phone numbers ending in 8649. An "unencumbered" 4.4BSD-LITE version became the basis for FreeBSD 2.0 in November of 1994. Today, FreeBSD is the most popular version of *BSD in use on Intel platforms, although it pales in comparison with the number of Linux users. So far, the personalities, with the exception of Bill Jolitz, appeared to get along pretty well. But there had already been a pair of schisms. Theo de Raadt had his own ideas about the direction of FreeBSD and allegedly conflicts were developing with other members of the team. But Theo had an edge by being a Canadian citizen. After moving to Canada, Theo founded OpenBSD, which specializes in security. Canadian laws regarding encryption are much looser than US laws, permitting OpenBSD to include strong encryption in its product, as well as to focus on security fixes in general. The NetBSD group, I am told, is more interested in experimentation than in having a rock-stable version of BSD. So the group of programmers who wanted a version of BSD for experimentation and research headed off in that direction. The three versions are pretty compatible outside of the kernel. OpenBSD and NetBSD have support for more CPU architectures than FreeBSD, as well as support for obsolete protocols like XNS and OSI. Other differences include different virtual-memory systems, small differences in the IP stacks, device drivers, kernel configuration, console driver, and timekeeping. My anonymous informant quipped that if NetBSD didn't exist, it would have to be created for those who want to experiment with BSD or run it on a Mac Quadra 600. Personally, I believe that the diversity is important. Programmers working on each version can compete to have the fastest file systems or IP stack, support for the most architectures, and/or the most stable system. Since these are open-source systems, the improvements may be copied or cloned, leading to improvements in operating systems in general. For those of you who missed the USENIX conference in Monterey this summer, all attendees were given four different CD cases, containing: OpenBSD 2.5, NetBSD 1.4, FreeBSD 3.2, and Debian GNU/Linux 2.1. USENIX provided grants to each group to support the production of new-release CDs. I have installed a couple of versions and would be interested in comments from someone who has installed all of them (at least once) but who is not already in the Linux or a particular *BSD camp. Diversity A couple of alternatives to the Microsoft hegemony have appeared and deserve mention. Many of you may already be aware of them. The first is StarOffice, which I think almost everyone will already know about (<http://www.stardivision.com/>). StarOffice runs on Solaris (both SPARC and x86 versions) and Linux, and it can read MS Office documents. It's free for personal use (and their definition of such use does fit my home office), or $40 for an individual license. Of course, by the time you read this, Sun may have purchased StarOffice (look at <http://www.sun.com/software/>). I followed the registration procedures and found I needed to enable cookies from anywhere to get through it. I was a bit miffed to discover that the download, 70MB, was not gzipped, but found out later that gzipping reduced the size by a total of 3MB. On Linux, you will need about 250MB of free disk space to install StarOffice (the original tar file, the untarred version, and 100+ MB for the minimal install). When I was done, I had something that not only can create PowerPoint-like presentations, but can read email or act as a newsreader as well. I was, er, overwhelmed. This might fit the bill for a lot of people, and it makes a welcome alternative to being forced to use NT and MS Office on your desktop. There is also VMware (<http://www.vmware.com/>), a virtual 386 architecture machine that can run under Linux or NT. VMware permits you to install NT so that it runs within the virtual machine, so you can be running Linux and have a window on your desktop where you run Windows applications. I have heard various reports about VMware (some good and some about crashes), but have yet to run it myself, as I keep several dual-boot PCs around and have them all connected using a four-port monitor switch. No cutting-and-pasting between windows, but for testing firewalls, for example, a "virtual machine" just doesn't cut it. Furthermore, the file systems are not yet shared.
Finally, there is PHP3 (<http://www.php.net/>). I ran across this
while wandering around SlashDot.org, and wondered what the heck it was.
PHP3 is a replacement for CGI scripts that specializes in database
queries. Of course, you can do much more with it than access the
fourteen different types of databases supported, but this looks like
something more than yet-another-language. I suggest that you check it
out (if you haven't already).
|
|
Last changed: 29 Nov. 1999 mc |
|