Linus Torvalds Releases Linux 1.2.0

by Phil Hughes

Tuesday, March 7, 1995, Linus Torvalds released Linux 1.2.0, also called “Linux '95”, little less than a year after his release of the ground-breaking Linux 1.0. In his announcement, Linus pointed out an important difference—the license—between the two operating systems, with an elaborate spoof on Microsoft's license explanation. Here's a short sample from Linus's spoof:

Linux '95 has several types of licenses, including, but not limited to:

  • End-User License Agreement—Applications:This is an application-specific license, which is intended for a single application running on your Linux '95-authorized computer. The license agreement rules differ depending on the application. See appendix `H'.

  • End-User License Agreement—Systems:This agreement is intended for single system product use, such as the Linux '95 kernel license. It's important to note that the Systems product licenses do not permit concurrent, or second copies. There is a special Multi-License upgrade program for those that want to start out with a single license but later expand their setup.

  • Multi-License Pak:This agreement is intended for sites with multiple systems, which want to run multiple copies of the Linux '95 system concurrently and/or on several machines. This license is available as a 10, 50 or 100-unit license depending on the size of your installation.

  • [...]

  • The “I've got too much money” License: Contact us for details on this exclusive licensing deal, we'll work something out. Please contact “[email protected]” directly.

Large institutions that want to possibly combine several licenses can do so with a standard licensing fee reduction. Please contact our licensing department for further details.

[...]

We thank you for using Linux '95,

Linus

Of course, Linux 1.2 is still freely available under the GNU public license, just as Linux 1.0 was, and just as future versions will continue to be, and so all the licensing fees mentioned above are $0 per copy...except maybe the “I've got too much money” license.

Figure

Here is a list of a few of the new features that version 1.2 has, compared to version 1.0:

  • Highly improved networking.

  • Faster disk I/O.

  • EIDE, multiple-IDE controllers, and ATA-CD-ROM support.

  • Supports more kinds of floppies, including 2.88 MB.

  • More CD-ROM devices supported.

  • Improved SCSI support, support for new SCSI adapter drivers.

  • Support for more network adapters.

  • New, improved memory management.

  • Multi-platform support underway.

  • UMSDOS filesystem: install Linux on DOS filesystem.

  • New sound driver supports Linux DOOM

  • Much, much more.

Most Linux vendors are expected to release new versions of their distributions containing Linux 1.2 soon.

If you have Internet access, you can download the source code for the new kernel via ftp from ftp.funet.fi, in the directory /pub/OS/Linux/PEOPLE/Linus/v1.2/. Version 1.2.0 is in the file linux-1.2.0.tar.gz; by the time you read this, it is likely that a few bug fixes will have been released, so look for the newest version there. If you do not have internet access, a local BBS may have the source code, and any one of the vendors advertising in Linux Journal will be happy to sell you a CD-ROM with the source included as soon as they have them available.

Linus has indicated that further testing, and bug fixing as necessary, will be done for approximately another month, leading to an even more stable Linux 1.2.x release. He has indicated that he will probably begin work on a new development series, Linux 1.3.x, sometime in early April.

Some utilities will need to be upgraded if you upgrade from Linux 1.0 to Linux 1.2, including networking utilities like ifconfig. The update program and the module utilities will also need to be updated. An article in the next issue of Linux Journal will cover the process of updating from 1.0 to 1.2 in detail.

What Does 1.2.x Mean?

Since Linux version 1.0 was released, the version number has been used to distinguish between “production” or “stable” releases of Linux and “experimental” or “development” versions. Each version number has three parts: the major release number, the minor release number, and the patchlevel. Version 1.1.95, is major version 1, minor version 1, patchlevel 95. Version 1.2.0 is major version 1, minor version 2, patchlevel 0. All version numbers with even minor version numbers are considered production versions, and official patches to production versions only include bug fixes, so for instance, between version 1.0.0 and 1.0.9 there were only bug fixes. All version numbers with odd minor version numbers are development versions, which (although they usually work fine) are not expected to be stable—all sorts of changes might have happened during their development.

Linux 1.2 is the second production release of Linux, and follows the first production release, Linux 1.0, by just under a year.

What Is Left to Do?

Linus and others are working on support for multiple platforms, including DEC's Alpha, Sun's Sparc, MIPS' R3000 and R4000 series, and IBM and Motorola's PowerPC. Support for Amigas and Ataris with the Motorola 680x0 CPU has become relatively stable recently, and work is progressing on merging that work into the standard development kernel. DEC has funded a small team of programmers to work on porting Linux to the Alpha, and has loaned an Alpha machine to Linus. They are working in parallel. The DEC team has already released a 32-bit version of Linux that can run some programs, and Linus has released a 64-bit version that can run some Alpha OSF/1 binaries, and has successfully run GNU Bash.

Many Linux developers have been working behind the scenes on more performance enhancements and additional functionality that they would like to add to Linux 1.3.x. Linus has indicated that disk-space quotas, considered essential by many people who use Linux to run public-access systems, will probably be added during 1.3.x development. Further improvements to networking are being designed by Alan Cox, the main networking developer. Donald Becker, the developer of most of the Linux ethernet drivers, is working on some 100MB/s ethernet drivers that are likely to be added to 1.3.x. Work on wide SCSI support has already been started. More “intelligent” (or co-processing) serial adaptor drivers will be added. New hardware devices are being added all the time, and it is reasonable to expect that quite a few new supported devices will be added during 1.3.x development.

Not necessarily in version 1.3.x, but at some point in the not-yet-determined future, Linus has mentioned support for systems with multiple CPU's, such as the dual Pentiums being sold by many vendors now.

Of course, all the exact predictions here are the predictions of the author, and should be “taken with a grain of salt”. We can expect that the Linux developers have more nice surprises in store for us, some of which they haven't yet thought of.

In Mostly Unrelated News...

The Linux dosemu development team reported that their current development version of dosemu (runs DOS, and DOS programs, from within Linux) runs the 32-bit Borland C/C++ compilers. They also report being able to run several 32-bit DOS-only games that they had been told would be impossible to run in dosemu. The list of games posted included: DOOM, DOOM2, Mortal Kombat, Mortal Kombat 2, OMF 2097, Raptor, Wacky Wheels, and Rise of the Triad. (Note that Id software has also made native versions of Doom available for Linux.) Of course, common DOS applications like WordPerfect still run, too.

The team intends to have a public release of dosemu ready within a month or so; hopefully dosemu 0.60 will be available for ftp from tsx-11.mit.edu in /pub/linux/ALPHA/dosemu/ by the time you read this. They are currently looking for volunteers to help them write documentation, and they will probably still be looking for volunteers to help with this large task by the time you read this; if you are interested, download dosemu and contact the team leader, James MacLean, [email protected].

—Phil Hughes, Publisher

Load Disqus comments