After Microsoft released Windows NT, its sales soared so rapidly it looked like it would bump Unix off the sales charts. And why shouldn't it? Unix is fragmented into about seven competing versions which makes it a support headache for software developers. And it is comparatively expensive and often requires annual licensing fees.
Windows NT, on the other hand, can do the heavy lifting frequently required by analysis and solid-modeling software. And if you are familiar with Windows, you already know a good chunk of any new NT program. Plus, NT carries no annual licensing fees.
PLAY IT AGAIN
It looks like the stage is set for this drama to play it-self out again, this time with the Linux operating system (OS) as the fresh newcomer and Windows NT as the grizzled old timer. Linux advocates are making almost the same arguments for dethroning the reigning program. First of all, Linux costs less than NT. The Linux kernel can be down-loaded at no charge from several Internet sites, or it costs $30 to $80 from several developers, complete with a user's manual, boot disks, source code, and additional programs. In contrast, one software catalog lists Windows 2000 (the new NT name) at $249 a copy.
Linux is also a multitasking code so it will run on dual-processor computers. Being an open system means technicians can tinker with it to fix bugs or add features, but only to their source code. It's reportedly as reliable as Unix. "I have a Web server at home running Linux," says David Miyares, an IT worker with Penton Media, Cleveland. "It has been running without a crash since a brief power outage almost 80 days ago. Linux servers are almost crashproof if they are setup right. My Windows box, however, has to be rebooted almost everyday." Linux fans also point out it runs on a range of platforms, including Macintoshs, 386-based computers, workstations, and mainframes.
Despite the newness of Linux, its user base is quite large. One estimate puts it at the same size as the Unix community, about 12 million, and growing. "Almost 4% of sales for our 2D-drawing program, ME 10, in the last two months of 1999 have been for Linux," says Geoff Hedges, a spokesman for CoCreate Inc., Ft. Collins, Colo. "That's a considerable ramp up for so short a period," he adds. Linux has garnered enough devotees to warrant its own trade show. The OS even has a mascot, the penguin, selected by developer Linus Trovalds himself.
People who attend Linux shows are mostly in the IT arena. They seem eager to put Linux on their company servers and write a little code to tweak their networks. The reliability Miyares mentioned is one attraction for the IT crowd. Cost is another. For example, a Windows 2000 Advanced Server with 25 client licenses goes for about $3,299. Linux has essentially no cost and when teamed with server software called Apache, also open sourced at no cost, handles an unlimited number of users. When a company's IT people are planning upgrades, it's not hard to see the advantages of the newer OS.
"Linux is on the edge of the enterprise," says Daniel Fry, program director, IBM Linux technology center. "That means it is working on LAN, e-mail, and appliance servers in companies." Fry says most Fortune 500 companies have Linux in their shops handling mundane workaday tasks.
ENGINEERING ON LINUX?
The view from the engineering desktop presents a different picture. If you've tried loading the Linux kernel you know it's not as easy as loading Windows. Many peripherals have no drivers. And support from the companies selling the OS can be spotty and unre-liable. For example, both the phone number and e-mail address for user support in the Corel Linux manual are inoperative.
And when the package requirements say 24-Mbytes RAM are needed, they mean it. Loading Linux onto a five-year-old portable computer (100-MHz Pentium, 16-Mbytes RAM, and 500-Mbyte hard drive) halted without explanation. "If the box says 24-Mbytes RAM, it's got to have 24," says Miyares.
The determined, however, will succeed. Miyares was able to load Red Hat Linux from Red Hat Software, Research Triangle Park, N.C., onto the formerly unreceptive portable. He did it through a network card in the PCMCIA slot and by downloading the OS from a source CD in a computer working as a Web server. "This method may soon become folklore because the big push in the Linux community is to write the needed drivers and simplify installation procedures," says Miyares.
Reducing complexity in the software surrounding the OS will also make it simpler to run programs in it. Nonprogrammers who have worked with a recent commercial release of Linux can appreciate Windows' ease of use. Linux is not yet as user friendly. For example, the graphic user inter-face does not start automatically on the portable mentioned earlier. One must type the command startx to kick it off a GUI called Gnome. However, Penton's Miyares says that minor deficiency is easily corrected.
What's not so easily corrected and potentially harmful are the multiple commercial sources for the OS. The Linux community could fragment as the Unix community did. Fortunately, all releases of Linux run the same kernel because what goes into it is carefully guarded by its primary developer, Linus Torvalds, and a few others. The different GUIs intended to work with the OS may cause difficulty. The big question users should ask before making a software purchase is: Will this particular program for Linux run on the version I'm using?
The Unix community fragmented when developers promoted several enhanced versions of the OS. The Unix kernels had similar source code but it was not protected from modifications. Developers tweaked and modified the kernel so much that software for one version of Unix does not run on another.
To guard against a similar Balkanization, a group called the Linux Standard Base will soon issue a specification for writing programs for Linux. "We are
working on an operability standard," says Dan Quinlen, a spokesman for a team of specification developers. "It will ensure that third-party applications run on the different Linux distributions." Standardization work centers mostly on specifications for libraries used by applications. "We want to make sure programs are easy to install and that everyone uses the same application programmer's interface," he adds.
The Linux kernel 2.2 is in commercial releases now. Kernel 2.3 is in development and will be released as Version 2.4 by the end of summer. Many hardware vendors already support the new OS with computers preloaded with Linux. IBM, for example, provides a Netfinity computer set up with Linux and ready for Web work. An Intellistation will also soon be available preloaded with Linux. Compaq offers a similar arrangement for its AlphaS-tation XP 1000 computer, as does Hewlett-Packard Co. for their Visualize workstations. MSC.Software is a bit more advanced. They offer a Dell computer running MSC.Nastran on Linux with a user interface modified for engineering operations.
Microsoft has little to worry about despite the growing use of the new OS. There are just too many good programs that run only on Windows 95, 98, and NT. But by the end of this year, we will see the first few solid-modeling systems for Linux and more 2D programs that run on it. And then the flood gates will open.
A LITTLE LINUX HISTORY
Common knowledge already credits Linus Torvalds with inventing Linux. Jack Dennon, an observer of the era and software developer of Warrenton, Oreg., supplies these additional details that surround the brief history of the OS.
"Ken Thompson in the early 1970s invented an operating system he called Unix long before Microsoft existed," says Dennon. "Because he worked at Bell Labs, the system became AT&T property. Thompson designed Unix from the ground up to be a multiuser system." It was expensive and needed memory-protection hardware not present on first generation PCs. Its multiuser features were unattractive and unnecessary on PCs. So Unix was unusable by the first couple generations of PC computers.
Meanwhile, AT&T had been selling Unix and its source code at low cost to colleges and universities. "By 1990, Intel was producing a fourth-generation microprocessor called the 386 that ran in the type of hardware Unix requires," says Dennon. By coincidence, a desktop computer equipped with one of these new chips came into the possession of Linus Torvalds, a college student in Finland who was familiar with Unix.
Andrew Tanenbaum, a college professor in Amsterdam, had already created a Unix clone called Minix that would run on desktop computers. "Minix was distributed as source code so students could study it in detail," says Dennon. "Focusing on the 386 and harnessing Minix, Torvalds set out to create his own Unix. It was an opportune moment because back in Massachusetts another youngster named Richard Stallman had been pouring over the Unix sources." When "the suits" decided to take up the slack on unrestricted distribution of source code, Stallman rebelled. He realized that innovation depends on mastery, and restrictions on source code distribution and innovation do not mix. Stallman set out to create a world in which computer users would always have access to the source code on which their systems were dependent.
"The story needs a flashback here because the C programming language is fundamental," says Dennon. "Like Unix, the C language was the invention of one man. When Thompson got Unix running on a castaway PDP-7, Dennis Ritchie used it to develop his first compiler for his programming language, named C because it comes after B, which was the name of a previous language." A few people at Bell Labs liked Unix well enough that management put up $10,000 to buy a PDP-II computer that would support more users. Using Ritchie's new compiler, Thompson and Ritchie rewrote Unix almost entirely in C with just a few hardware-interface routines in assembler. A requirement of the time was that an OS had to be written entirely in assembler. With most logic of an OS expressed in a compiled language, programmers need only a cross-assembler and cross-compiler to move the operating system to newer or different computer hardware. This was a new idea. Heretofore, OSs almost had to be a part of the hardware. New hardware meant a new OS. The ideas behind Unix and C changed that. Now one could "port" Unix to a new computer by rewriting maybe about a tenth of the code.
"In addition to his C compiler, Stallman created and distributed other tools essential for development of large software projects. Into this merry mix steps Torvalds and his astonishing ability to read Intel documentation, a 386 computer, and the gift to make sense of it.
When Torvalds completed his OS kernel, he posted its source code on the Internet, another gadget based on Unix and already widely available at universities and colleges in the early 1990s. "Other youngsters, also conversant with the inner sanctum of Unix, took notice and added to what Torvalds had done, and integrated the stuff created by Stallman and associates," says Dennon. Meantime, Torvalds continues to improve and develop the kernel. "The process continues mainly with the original actors," he adds.
The software industry, however, is undergoing a metamorphosis that will change its nature forever. Software secrecy such as promoted by yesterday's wizards will become a thing of the past. Now and in the future, to be recognized as a computer expert, you will have to let people see what you have done.
WHO'S GOT SOFTWARE?
The paucity of engineering software for the Linux OS may be the only fly in its ointment. At present, the European community is going bonkers over Linux they see it as one of theirs because it was written by Linus Torvalds when still a student. Consequently, a lot of software for the OS comes from Europe. The KDE and Gnome GUIs, both the work of open-system communities, come from Germany and the U.K. The OS will really take off in the engineering community when one CAD developer releases a solid-modeling system for the OS. Both Unigraphic Solutions and Spatial Technology, developers for Parasolid and ACIS modeling kernels, have released them for Linux. And you can bet most software developers are experimenting with it although few are willing to make their effort public. Here's a few of the engineering programs available.
MSC.Linux is a recent division added to MSC.Software, the FEA developer most noted for MSC.Nastran and Patran. "MSC.Nastran is available now and Patran will be soon," says Gregory Sikes, a spokesman for the MSC.Linux division.
ParaHOOPS 3D Application Framework is based on both Parasolid and HOOPS, and available to Linux developers looking for an advanced architecture for commercial-grade engineering and manufacturing applications.
Maple 6, a mathematics program, has applications for scientific and engineering users in industry, research, and education. The new math engine delivers an integrated suite of symbolic and numerical solvers. Algorithms from the Numerical Algorithm Group, provides matrix computation capability adapted for Maple's inter-active environment.
ME 10, a 2D CAD program from CoCreate Software Inc., Boulder, Colo., has been ported to Red Hat Linux. ME10 software is also available for Unix and Windows.
Java Viewer for Linux, from SolidWorks Corp., Concord, Mass., is compatible with the Linux kernel 2.0x from Red Hat Software. The viewer lets users examine native Solid-Works parts, drawings, and assembly files locally or over the Internet using the Java virtual machine V1.2 and the Java 3D API from The Blackdown Organization. SolidWorks says the viewer is the same product that runs on Solaris and Windows 95 and NT.
Parasolid, the modeling kernel from Unigraphics Solutions, is available on Linux. Engineering programs such as SolidWorks and Solid Edge are Parasolid based. The company says they will support the version offered by Red Hat Software Inc.
ACIS 6.0 modeling kernel, from Spatial Technology, Boulder, Colo., has improvements in surfacing and tolerant modeling operations, along with increased sophistication in Husks such as Deformable Modeling and Healing. Modeling systems such as Cadkey, and AutoCAD's Mechanical Desk-top and Inventor are ACIS based.
Linux Macsyma 421, a mathematics package, boasts features not available in its Windows version, such as reexecutable scientific notebooks with animated graphics, extensive text and graphics editing, and a number of preformatted text and graphic styles. The developer says its online help includes hypertext descriptions of 2,900 topics.
Here are a few Web sites and what they hold for the Linux fan:
www.LinuxFool.com calls itself the everyday guide to using Linux. The front page holds sections that answers questions on general topics, programming issues, and news. In the Microsoft versus Linux chat column, readers provide good balance of how they think the next couple years look with regard to the giant in Redmond. Windows 2000 will survive easily, they say, because there are too many point-and-clickers in IT organizations who are easily scared by command lines. Others cringe at the thought of a product called Microsoft Linux.
www.linuxcad.com promotes the 2D CAD program of the same name.
www.gnome.orgserves the Gnome open source graphic user interface effort. Gnome (GNU's Not Unix, Network Object Modeling Environment) is intended to be a free and complete set of user friendly applications and desktop tools.
www.Linux.orgprovides general information about the OS. It also serves as a jumping off point to several Linux sites for distributions including LinuxPPC for the Power PC or Mac computers. One section called Linux on a Laptop lists brands and models and related support documents. Another section lists hardware compatibility issues and suggestions for solving problems.
www.Linuxmall.comhas contests (Win a GPU PC), and presents news and resources for the OS. For instance, a Linux document project carries a list of Howto questions and FAQs. A Linux manual for "newbies" assists new users adjusting to the sometimes arcane command-line requirements. One news item says Sony's Playstation development system, due in 2002, will be Linux based.
www.Linuxbase.org is for programmers.
www.kde.orgis the site for the KDE open desktop effort. A team of KDE developers is currently working on Koffice, the Corba based KDE office suite consisting of a word processor, spreadsheet, presentation program, and drawing software.