|Contents||Bulletin||Scripting in shell and Perl||Network troubleshooting||History||Humor|
Nikolai Bezroukov. Portraits of Open Source Pioneers
For readers with high sensitivity to grammar errors access to this page is not recommended :-)
"Microsoft announces Microsoft Xenix OS, a portable operating
system for 16-bit microprocessors. It is an interactive, multiuser,
multitasking system that will run on Intel 8086, Zilog Z8000,
Motorola M68000, and DEC PDP-11 series. All of Microsoft's existing
system software (Cobol, Pascal, Basic, and DBMS) will be adapted
to run under the Xenix system, and all existing software written
for Unix OS will be compatible as well. "
--from a Microsoft press release, 1980
Long before Linus Torvalds was able to write anything useful in C, there was a version of Unix from Microsoft called XENIX that was based on the seventh edition and BSD 4.1 with some interesting enhancements (multiple virtual consoles accessible via Alt-F1, Alt-F2,... Alt-F10 -- later inherited by Linux, record-locking facilities for database programming, etc) and an amazing level of PC friendliness that Linus will try emulate much later by essentially replicating all major design decisions that Microsoft put into XENIX for PC but using an independent codebase.
Microsoft licensed UNIX from AT&T in 1979. That was an interesting year in Unix history: at the June 1979 USENIX meeting in Toronto, AT&T announced an big price hike ( from $1000 to $7500 for educational institutions; from $5000 to $40,000 for full commercial open source; license was per CPU, which at the time meant per each computer in the orgnization that runs Unix). Essentially AT&T decided to commercialize Unix using simple "make money fast" approach, which quite predictably backfired.
Bill Gates instantly realized that such move opens the door for third party Unix distributors and jumped on this opportunity. There were rumors that licensing of Unix from AT&T by Microsoft was partially stimulated by behavior of Digital Research which in 1979 broke implicit agreement with Microsoft to concentrate on OS and moved into compiler space by packaging CP/M with CBasic developed by one of Kildall student Gordon Eubanks (future founder of Symantec). This was the area which Microsoft considered its own: at this time Microsoft was the languages compiler/interpreter development company, selling mainly several compilers and first of all Microsoft Basic which was microcomputer standard of the time. At the same time Microsoft behaved in quite gentleman matter with Digital Research. Not only there was no attempt to encroach into Digital Research turf, Microsoft served as a powerful implicit marketing agent for Digital Research. As for the language company supporting multiple operating systems was a nightmare, Microsoft was strong promoter of CP/M, helping Digital Research to generate revenue by sending to them the customers of their compilers and interpreters. So Microsoft rightly considered this move of Digital Research as a knife in his back. It was after that unfortunate episode Bill Gates turned to AT&T and in February 1980 licensed Unix operating system.
So when in September 1980 Gill Gates picked up the phone and called Kindall to inform him that IBM want to talk to him about creating OS for their new microcomputer, it was more then a gesture of good will -- he was sending business to the competitor to tried to steal his share of Basic interpreters market. This historical meeting happened just six month after Microsoft got into Xenix business so in a way Microsoft hands were full. The same year SCO was founded and Microsoft XENIX development was outsourced to SCO (which at a time was a two man operation) expecting them to perform the bulk of technical work connected with porting of AT&T codebase to various microprocessors:
XENIX was originally developed on a DEC Virtual Address Extension (VAX) running the Virtual Memory System (VMS) and a PDP-11 running UNIX V7, albeit now using Microsoft's own in-house minicomputers, and then converted into assembly language specific to the new 16-bit Motorola 68000 and Intel 8086 microprocessors. This put XENIX at the high end of the microcomputer market, which was still dominated by 8-bit machines, but well below the lowest end of the minicomputer market.
In 1979, brothers Doug and Larry Michels [ they were actually father and son -- NNB] founded the Santa Cruz Operation (SCO) as a UNIX porting and consulting company using venture capital from Microsoft, which handed over all further development of Microsoft XENIX to SCO. Doug Michels recalled that the company’s name was a bit of “social engineering” to obscure the fact that it was essentially a two-man operation. “I’d call up and say, ‘This is Doug from the Santa Cruz Operation’ and be pretty sure they wouldn’t catch that the ‘O’ was capitalized and think I was from another branch of their company.”
By 1980, the UNIX family tree had split into three distinct major branches:
- AT&T UNIX System III from Bell Labs’ UNIX Support Group (USG).
- Berkeley Standard Distribution 4.1 from UCB.
- XENIX 3.0 from Microsoft and SCO.
Microsoft XENIX was initially an Intel 8086 port of AT&T UNIX Version 7 with some BSD-like enhancements. This became Microsoft/SCO XENIX 3.0 a year or so later. SCO XENIX 5.0 was updated to conform to AT&T UNIX System V Release 0 (SVR0) in 1983, for which SCO brought its own rights to the UNIX source code. By then, XENIX had the largest installed base of any UNIX system during the early 1980s.
Microsoft acquired a 25 percent share of SCO, which at the time gave it a controlling interest. While SCO handled the actual development and added some enhancements of its own, Microsoft handled the marketing of the product, which it touted as the “Microcomputer Operating System of the Future!”
A 1980 issue of Microsoft Quarterly stated, “The XENIX system’s inherent flexibility … will make the XENIX OS the standard operating system for the computers of the ’80s.” The 1983 XENIX Users’ Manual declared, “Microsoft announces the XENIX Operating System, a 16 bit adaptation of Bell Laboratories UNIX™ Operating System. We have enhanced the UNIX software for our commercial customer base, and ported it to popular 16-bit microprocessors. We’ve put the XENIX OS on the DEC® PDP-11™, Intel® 8086, Zilog® Z8000 and Motorola® 68000.” It went on to warn against “so-called UNIX-like” products. Similar sentiments were echoed in ads for Microsoft XENIX in the UNIX Review and UNIX World magazines as late as 1984. That’s when Microsoft and SCO had a parting of the ways.
On August 12, 1981, the IBM Model 5150 Personal Computer changed everything. Then, on January 24, 1984, the Apple Macintosh changed everything … again!
In August 1980, ten years before Linus was even a idea in Linux in his head, Microsoft announced XENIX OS: its port of Unix for various 16-bit microprocessors. with Zilog as the major platform. Here is how Surviving the Solaris x86 Wars 2004 - 2006 recollected the events:
Xenix - there was a lot of excitement in the market in the mid 1980s when 16 bit processors got enough disk space and memory to start running Unix. Systems based on Motorola's 68020 32 bit processor got a head start in the market because they were binary compatible with the 16 bit 68000 - which already had a bigger memory addressing range than the Intel chips at the time. And the 68020 also had hardware support for virtual memory management. Sun Microsystems' own Sun-3 workstations originally used Motorola chips. But most IHVs had big investments in Intel. So where could they turn to source a multi-user operating system? The surprising answer was Microsoft. I joined an ISV and VAR called Databix in 1986 which was using Zilog boxes running Xenix as its main Unix development platform. That was a problem because the Zilog Z8000 was a hardware dead end. (Within a year I had switched our Unix platform to Sun. But not the Sun platform you might think - see later.) Microsoft stopped developing and supporting Xenix which later got transferred to SCO.
BTW one of the first Microsoft customers for Xenix was 3COM Corporation which had been founded in 1979 by Bob Metcalfe in Santa Clara. He wanted to use Xenix for the development of TCP stack.
Soon after the initial port to Zilog, Microsoft started warming to Xenix port to 8086. That was also outsourced to SCO and proved to be very shrewd decision like many other moves of Bill Gates made. PC 286 was around the corner and it provided real opportunity to Unix on microcomputer. 386 was a little bit father but was pretty adequate microprocessor for full Unix implementation. Historically Microsoft XENIX became the first successful, in certain aspects groundbreaking, PC-based Unix. At the time it was the only PC-friendly Unix in existence and can be considered to be the first Unix with a decent customer support service ;-). Here is an interesting XENIX timeline from a Usenet post:
1979 or 1980: Microsoft 'begs' Western Digital for a high-volume commercial license (binary license refused, source license bought) http://www.microsoft.com/billgates/speeches/industry&tech/uexpo.asp
1979? Microsoft may have bought HCR's PDP-11 port?
1980: Feb: MS starts development of 8086 Xenix?
1980: 25 Aug: MS pre-announces Xenix for 8086, Z8000, 68000, PDP-11
1981: Jan: 1st Xenix release co-developed by MS and HCR?
1981: winter: MS claims Xenix will be ported to TI9900, IBM Series/1, and Point 4 Data Corp systems [Byte Feb81]
1981: MS's Bob Greenberg ports PDP-11 v7 (from HCR or AT&T?) to Codata Z8000
Later in 1980 I drove up to Bellevue with the Codata box with a Z8000 processor board in it for MicroSoft to port Version 7 onto. To the best of my knowledge, that was MicroSoft's first port of Xenix off of the PDP-11 to any microprocessor.
This all took place around middle to end of 1980, when MC68000 processors were not exactly ubiquitous. You'll maybe recall that the first outfit to announce MC68000 processor boards were MicroDaSys, and they went bankrupt [taking a lot of forward financing with them] without ever shipping anything. Onyx also failed to produce an MC68000 based system. And Sage microcomputers had a MC68000 based system that didn't last long, as did Fortune Systems and the rest of the herd.
After I'd delivered the Codata/Z8000 box to MicroSoft, Clint Hurd, who was on the spot up there, supported the MicroSoft people who were porting. I got out of the loop and lost track of what happened to the Xenix port.
1981: Feb: TriData announces SST will run MS Xenix on Z8001 [Byte Feb81]
1981: Jun: Byte magazine article on Xenix by Bob Greenberg
1981: Xenix-11 on PDP-11?
1981: Oct: MS *expects* to deliver 8086 Xenix first, then Z8000, no 68000 until April 1982 due to hardware problems w/68000 development platform: http://rlab.cs.nyu.edu/ultra/reports/proton/01
[This article seems the most credible to me.]
1981: 08 Dec: MS and SCO sign letter of intent for SCO to be 2nd-source of Xenix: http://minnie.tuhs.org/pipermail/pups/1997-October/000020.html
1981 ??? Xenix 2.0 by MS/SCO? [not very credible]
1982: Jun: XENIX 2.2 v7 for 68000? http://groups.google.com/groups?th=4716e2c816a7a6e1
1982: Aug: Altos claims to be shipping XENIX for 8086
1982: 15 Sep: MS brochure claims XENIX is shipping
1982: Oct? MS trying to sell XENIX to Tandy for Model 16 (68000)
1982: date on Tandy's XENIX Development System http://home.iae.nl/users/pb0aia/cm/m2gazlst.html
1983: Tandy ports MS XENIX 2.3 (from Apple Lisa?) to Model 16, calling it TRS-Xenix 1.0
then releases to fix bugs in 1983
1983: Feb: Xenix-86 and -286 mentioned on netnews http://groups.google.com/groups?th=da83c12bea5dfc9f
1983: May: Apple Lisa will run 68000 MS XENIX?
1983: Jun: Unix Review doesn't include XENIX in pc-Unixes article!?
1983: summer: SCO Xenix-86 released?
1983: autumn: MS turns over 68k XENIX development to SCO
1984: IBM AT causes MS to resume interest in Xenix-286
Microsoft didn't sell XENIX directly to end users. Instead, it licensed XENIX trademark and codebase to companies such as SCO, Tandy, and Intel, who sold a branded XENIX to users. The most closely associated with XENIX was SCO -- an offshoot of TRW/Vidar (a telecom company). MS owned a controlling part of SCO during the mid 80's (25%) and had a single seat (out of 5) on the board of directors (correction [Mar 9, 2003], thanks to Steve Finney - NNB). So SCO served two distinct roles:
PC DOS saga of Microsoft was by-and large parallel development to Xenix saga: one year after Microsoft licensed Xenix from AT&T, it purchased all rights to 86-DOS. That happened in July 1981. Microsoft's "IBM Personal Computer DOS 1.0" was ready for the introduction of the IBM PC in October 1981. That means that DOS happened just one year after Microsoft licensed XENIX from AT&T..
Initially, Microsoft had big plans for XENIX and tried to insure DOS compatibility. That has tremendously positive influence on MS DOS which in versions 2 and 3 acquired several Unix based innovations like hierarchical file system, pipes, redirections, etc, moving father and father from original CP/M.
Please remember that in 1981 Microsoft was young, ambitious and innovative company. Here is a quote from the 3rd issue of PC Magazine, June/July 1982 from Paul Allen, Microsoft co-founder:
"It's important to realize that MS-DOS is part of a family of operating systems....Providing the user with a family of operating system capabilities means a clear migration path from MS-DOS to XENIX. That means compatibility for both the terminal end user and the systems programmer.
A standard library for XENIX-86 C will allow compilation of a program on XENIX system and then execution on MS-DOS....XENIX systems will be able to function as network file servers."
There were rumors that Gates even tried to sell XENIX to IBM in 1981 as the ultimate PC OS but unfortunately IBM brass was afraid of what a post-breakup AT&T could do to their markets. Because of that IBM wanted nothing to do with Unix. Later they were more accommodating and, in fact, IBM had planned to offer Xenix as an option for its AT computers in 1984 with Dumb Terminals hooked up to it for multi-user access. Six year later (1986) they realized that this was a blunder and introduced AIX (which, as the most bastardatized flavor of Unix, was another blunder ;-).
From the timeline above its clear that work on XENIX and DOS proceed largely in parallel and some cross-pollination: XENIX greatly influenced DOS design. For example Microsoft Press' "MS-DOS Encyclopedia" shows a reproduction of a late DOS 1.25 OEM brochure which mention such future enhancements to DOS 1.25 as XENIX-compatible pipes, process forks, and multitasking, as well as "graphics and cursor positioning". That shows that Microsoft certainly tried to bring those two OSes closer, but the forks, multitasking, and multi-user support never materialized. Oddly, the flyer claims:
"MS-DOS has no practical limit on disk size. MS-DOS uses 4-byte XENIX OS compatible pointers for file and disk capacity up to 4 gigabytes."
Later XENIX became dominant Unix for Intel 286 PCs and was widely used in the industry, including of course Microsoft itself. In July 1982 Microsoft's Local Area Network (MILAN), is up and running. MILAN linked many computers running XENIX and made the transfer of e-mail easier. People who worked in Microsoft back in the mid 80's can attest that everybody in the company from Bill Gates down to the secretaries had a access to XENIX and used it daily for email. That also means that everybody used vi and should know vi before they could request vacation time. That lasted until early 90th.
The last XENIX server on the MS corporate backbone was removed in late 96 -- early 1997. Primarily, they were used as Internet gateways, running Sendmail. Also, they functioned as internal gateways between MSMail and Exchange while the company converted everyone over to having personal mailboxes on an Exchange server:
what developers at Microsoft ran (Score:5, Informative)
by AdamBa (64128) on Saturday March 23, @11:38AM (#3212973)
When I arrived in early 1990 people were using OS/2 for development. For example the early development work for NT was done on OS/2 and then cross-compiled for NT. Keep in mind that up until September 1990, NT *was* the next version of OS/2 so this made perfect sense...even after the "divorce" with IBM, OS/2 1.2 was still the best development environment.
There was a push to self-host on NT which I recall became feasible in early 1992. Eventually more and more of the group switched over to it. I think the rest of the company probably didn't switch until after the first version of NT shipped in July 1993.
But it is indeed true that the standard email terminal in 1990 was connected to a XENIX machine, and there was a card handed out "how to use vi to edit email" or some such.
Actually I used vi for writing code for a while...someone inside Microsoft had hacked up a version that supported multiple windows...but eventually I switched to slick like most of the NT team. Basically the incremental search in slick was cooler than the . command in vi.
That means that in mid-80th the Microsoft love affair with Unix was company-wide. Microsoft was the major Unix company at this time. In late 80th there were more computers running Microsoft XENIX than all other versions of Unix combined...
|Microsoft was the major Unix company at this time. In late 80th there were more computers running Microsoft XENIX than all other versions of Unix combined...|
Around 1983 Microsoft realized that with the advent of the Intel 80286 in the mid-1980's, DOS was quickly becoming obsolete. In 1984, IBM introduced the PC-AT which was the first (IBM) PC to use then new Intel 80286 processor. So the work on XENIX was intensified and in August of 1984 Microsoft released a really impressive PC-based version of Unix: XENIX 3 or XENIX 286. I remember that it was capable of dual booting from a partition with MS DOS on the other partition (one of my university labs bought such a PC; it was really cool). It included new features from 4.1BSD and from AT&T's System III and instantly became a huge hit among Unix enthusiasts: it required just 512K (yes kilobytes) of memory and 10M harddrive and can run on $5000 IBM AT (and AT clones) PC: the cheapest Unix workstation of this time.
The PC-AT was supposed to be able to do multitasking, and some IBM publicity photos even showed it connected to two dumb terminals. It was definitely possible but primarily Xenix was used as personal Unix or as a server. May retailers and fast food chains, for example McDonalds, used to run their point of sales terminals on Xenix. Anyway, for our subsequent discussion it is important to understand that XENIX was that first successful multi-user systems for Intel x86 microprocessor (AT&T also sold something, but they cannot complete with Microsoft neither in quality nor in volume, and definitely not in marketing). Here is an interesting recollection:
When I went to work in 1984 for the US Army European Headquarters in Heidelberg, Germany, I was delighted to discover that our office had a number of brand new Intel 8088 PCs, each with a whopping 10MB hard drive. Not long after I started work there, I discovered an unused area of the building that was being used for storage, and there were dozens of boxes of new computer equipment stacked in a corner.. When I inquired about these, I was told that they came with the PCs, but nobody knew what they were for. I discovered that these were "network file servers", but I still wasn't sure what they were designed to do. "These must be the mainframes!" I thought, falling back on my experience for an analogy. I asked for permission to open the boxes and see what was inside. "Sure", I was told, "if you're willing to do it on your own time."
I began spending all my free time in this catacomb, uncrating the machines, identifying the function of each, and attempting to set them up according to the "Hardware Installation Guide". In fact, I opened the entire documentation set, placing the pages in the provided three ring binders, and began reading the manuals from the beginning.
I worked my way through the hardware manuals, then the installation of the operating system software (Microsoft XENIX 286) and began studying the manuals on system administration, setting up user accounts, learning the multitude of XENIX utilities. It wasn’t until later, actually, that I realized this arcane little operating system was actually a port of a serious OS called UNIX, used by a variety of midrange systems, including workstations from a strange little company called Sun Microsystems. Duh, I’d learned UNIX by accident.
Microsoft XENIX enjoyed a huge success on PC AT. In 1984 Fortune wrote that 750 universities around the world, about 80% of those offering computer science degrees, have UNIX licenses. Considerable part of those where XENIX licenses simply because Microsoft XENIX was the first cheap large volume commercial Unix.
For six years (approximately from 1984 till 1990) Microsoft was one of the leading Unix vendors, the provider of the first cheap large volume commercial Unix and, simultaneously, owner of a major branch of Unix -- Xenix
Many early ISPs run their Usenet mail/news systems on XENIX, especially in Europe:
Yes, our e-mail system was started back in 1986 in Almviks Gård, Sweden, by the former Harikesa Swami, whose purpose was to improve communications within the BBT and his zone. Prsnigarbha das had adapted existing Swedish BBS software and soon "COM", as it was called, was up and running on a DEC PDP 11/45, a big and ancient 16-bit computer with 192 KB of memory and a 14 inch 160 MB Winchester harddisk.
The telephone lines in Almviks Gård were lousy, and calling in from other countries was difficult. So, in 1987 COM moved to Korsnäs Gård, the headquarters of the NE-BBT, where it got a total of five login modems plus about fifteen direct (serial) lines connected to terminals in the BBT offices.
Soon the PDP computer was replaced by an Intel 386 PC with a 300 MB harddisk (which was a monster capacity in those days), running XENIX as operating system. Three Datapak lines (X.25 packet switching network) were added. At the end of 1989, COM got its own Internet domain (bbt.se), and the software got adapted so that messages could be sent to and received from outside e-mail addresses. COM would dial up the Internet provider a few times a day and exchanged mail using the UUPC protocol. In those days, very few devotees had Internet access. The worldwide Internet big bang would come only about two years later.
The last Microsoft version of XENIX, XENIX 5.0 was released in 1996. This version was result of joint AT&T and Microsoft efforts to bring Xenix into conformance with Unix System V Release 2 released in 1995. It was one of the most complete *nix environments and was widely used:
XENIX in 1989 (Score:3, Insightful)
by ciurana (2603) on Saturday March 23, @11:53AM (#3213021)
(http://cime.net | Last Journal: Wednesday March 06, @03:16AM)
I deployed a number of XENIX installations in the mid- to late 1980's, the last one in either 1989 or 1990. We were competing against Novell Netware networks (back when TeleVideo made that hideous Novell dedicated hardware with the 286 and the Z-80 and all the way to the IBM PS/2 model 80 days) and usually beat them hands down for an inventory and POS application. Our customers were medium-size enterprises (up to 200 employees, up to five physical locations). The configuration:
- HP Vectra 286 with 1 MB RAM (!!!) and 60 MB HD
- 12 RS-232C port expansion (for terminals)
- Up to 12 TTY
- App developed by my company
- SCO XENIX (can't remember the version)
The advantages of using this:
- Ease of maintenance
- Rich tool set for the sys admins
- High ROI (return on investment) for our customers
- Higher profits for my company
NCR *nix, XENIX, Minix, and AIX 3.0 were the first *nix OSs I was involved with, back in 1985 and forward. I went from Apple's Applesoft/ProDOS/MacOS/UCSD Pascal to *nix, then to Microsoft's world.
All in all, I remember XENIX being one of the most complete *nix environments I played with. Only AIX running on RS/6000 (I was working on them prior to the announcement in March 1990) was more complete in its blend of SV and BSD tools. SCO occasionally facilitated SCO Unix to us but it was a PIA to install and configure, and lacked *lots* of driver support.
The interesting thing to us was that, while XENIX was an MS product, MS had a very hands off approach towards it. All customer relationships were handled by SCO. The only time I ever remember Bill G. saying something about it was when he was asked about branching NT away from OS/2 and whether he was afraid of losing market share to *nix. His reply (I'm paraphrasing): We have DOS, Windows, OS/2, XENIX, and NT. It's Microsoft against Microsoft against Microsoft against Microsoft.
Later in 1987 Microsoft became worried that AT&T's newly-developed personal computer version of Unix might not run software applications originally written to run under Microsoft XENIX, so they asked AT&T to add some XENIX code to AT&T Unix in order to assure future compatibility. A deal was struck between the companies: AT&T agreed to include the Microsoft code, and to pay Microsoft a royalty for its use. The resulting version, UNIX System V/386, release 3.l2, incorporated all the functionality of traditional UNIX System V and XENIX. It was released in August 1988 for 80386-based computers. Novell, and then SCO, inherited these terms when they purchased AT&T Unix. Only in September of 1996, SCO formally requested that Microsoft release them from the terms of the old contract.
All that means that XENIX was historically important flavor of Unix and to some extent can be considered (along with AT&T and BSD) to be the third branch of Unix that was merged into System V. In the spring of 1988, AT&T and Sun Microsystems signed a joint development agreement to merge their respective versions of UNIX into new version which later was called System V Release 4 (SVR4). It merged the best features of System V and Berkeley UNIX and was compatible with programs written for either. Sun abandoned its SunOS operating system in favor of this newly minted SVR4-based branch and quickly released a SVR4-compatible version called Solaris. Despite fierce user resistance (first Solaris versions were rather flaky, but starting from 2.5 they stabilized), they gradually moved users to new OS.
Approximately the same time IBM and Microsoft started developing a Unix alternative called OS/2. For Microsoft that was a clear possibility to get rid of (rather high) AT&T licensing fees. Released in December, 1987, OS/2 1.00 was text mode only and allowed only one program to be on the screen at a time, even though other programs could be running in the background. It also allowed one very limited session in which DOS programs could be run. The maximum disk size supported was 32 MB. Release of OS/2 ended Microsoft Unix history and we can clearly see IBM-role as a "Trojan horse" in the driving Microsoft from Unix market. Which might mean that IBM love for Linux may be is connected with an inferiority complex of some IBM executives ;-). IBM can definitely own Unix instead of Novell if they understood the situation and played their cards right. Or they could arrange selling Unix rights to Microsoft, and preserve close relationships that were broken due to OS/2 vs. Windows wars. Bill Gates speaking at Unix Expo in 1996 noted:
If we go way back in time, Microsoft was actually the first one to go to AT&T and beg to get a nice high-volume commercial license for Unix. And for many, many years we were the highest volume licensee, not only for our own Xenix products, but Siemens with theirs, Santa Cruz with theirs, and dozens and dozens of sub-licensees.
I have to admit, it was fairly difficult to work with AT&T back then. They simply didn't understand what they had. They didn't understand how to manage the asset, either in terms of promoting it properly or in terms of making sure that there wasn't fragmentation in how different implementations were put together. And so that vacuum in leadership created a bit of a dilemma for everybody who was involved in Unix.
Well, Microsoft stepped back and looked at that situation and said that the best thing for us might be to start from scratch: build a new system, focus on having a lot of the great things about Unix, a lot of the great things about Windows, and also being a file-sharing server that would have the same kind of performance that, up until that point, had been unique to Novell's Netware.
I think SCO until approximately 1987 was a Microsoft subsidiary or Microsoft owed a substantial part of the company (25%) and their importance to software world essentially comes from their early association with Microsoft. Anyway here is an SCO-biased timeline of Xenix development (the quote below is from SCO History; please replace SCO with Microsoft for all years until 1987):
1983 - SCO delivers the first packaged UNIX System (called SCO® XENIX® System V) for Intel® 8086 and 8088 processor-based PCs. It provides small businesses with the first affordable business-critical computing system.
1985 - SCO delivers SCO XENIX 286 for Intel 80286 processor-based systems. SCO XENIX 286 delivers on SCO's commitment to "upward compatibility," the ability of an operating system to run applications developed on earlier versions (in this case, SCO XENIX System V).
1987 - SCO ships SCO XENIX 386, the first 32-bit operating system (and first UNIX System) for Intel 386 processor-based systems.
1989 - SCO ships SCO® UNIX® System V/386, the first volume commercial product licensed by AT&T to use the UNIX System trademark.
In late 80th early 90th XENIX had became a major version of Unix for hobbyists, BBS operators and Usenet (for example almost all USSR Usenet was running on XENIX). Here is a typical quote from this period:
Summer 1990... Scott and I discover some common interests and become friends. We are united in our thought that there should be a more modern KAOS with all the fixin's: multiple phone lines, sysops who actually fix things and advertise the system's presence, et cetera. We decide to make a project of it. He buys a load of hardware with some money that he'd made by doing consulting work. We set the system up in Scott's cellar. He has gotten an illicit copy of SCO Xenix from a friend who works in SCO tech support, and somehow we load the machine and get it running.
We start coding, thinking that we'll write our own BBS. (For programmers, this was an all-too-common thought back then -- and generally a futile one.) Eventually I find the Waffle BBS software through Usenet, and the list of features include everything we would have written into our own system. We buy a copy and find out that it's excellent -- almost exactly what we would have written. It appears to have lineage common to our own; its interface is similar to WWIV, a messaging-oriented, DOS-based BBS package. Oddly enough, there are even some hints of GBBS, the Apple II BBS system that KAOS was built upon. And it'll run under Xenix - which is, roughly speaking, the major Unix variant that ran on x86-based systems (i.e., PCs!). Nowadays, if you want to run Unix on a PC, you run Linux (for the most part), but back in the day Linux hadn't even been written yet.
Here is another typical quote:
After graduating high school in 1985 I went on to attend University of Delaware as an undergraduate in the Electrical Engineering department. Since I had already taken UDel's intro to computer science class in high school I got put into a special intro to computer science class that used FORTRAN rather than Pascal. This was somewhat of a waste since I already knew all the topics covered in this class, however, I did manage to learn FORTRAN in the process. Learning FORTRAN wasn't as fun as learning COBOL because FORTRAN wasn't all that different from Pascal and BASIC-PLUS. I believe I used the "f77" compiler on a VAX running 4.2BSD Unix. Although I had used UDel's Unix systems before (via friend's accounts) this was my first real Unix account.
One of the positive features of UDel is that it has a one month "winter session" between fall and spring semester. Taking a winter session class allows you to better enjoy living on campus while taking a light course load. I had been playing with the Unix systems at UDel, but I found that my lack of knowledge of C was preventing me from learning what I wanted to fast enough. So, during the winter session of my freshman year I took "CIS-135: C" and finally learned C. I really enjoyed this class. Learning C helped me better understand Unix. Also during this time I started playing /usr/games/hack frequently (I used my newly learned C skills to examine and understand hack's source code).
Also during my first winter session I started undergraduate research with Professor David J. Farber. As part of Farber's group (F-Troup) I got access to IBM-PC/AT's running SCO's Xenix operating system. This was my first chance to learn about "root" access to a Unix-like system. I was involved in several projects in this group. I ported the MMDF electronic mail system to Xenix (MMDF is still in use on SCO Unix systems today). I wrote software for a PAL programmer that was used by Gary Delp to program PALs in his Memnet system. And I worked with Ron Minnich to port ISODE (the ISO network protocol development environment) to Xenix (painful). We also attempted to write a device driver with Dave Crocker for an ISA Ethernet card, but Dave's company never provided enough programming information for us to complete the driver. In 1987 Farber left UDel to join UPenn, so I was out of work for a while.
Microsoft never released XENIX for 386 because of his work on OS/2 which was essentially a Unix replacement on desktop. Later Microsoft sold all rights for XENIX to SCO and completely disengaged itself from Unix market.
Despite the fact that Microsoft love affair with Unix was short lived it left a profound effect on PC Unixes look&feel. Due to its quality and popularity XENIX became de-facto standard of what one should expect from PC Unix. It also created a compatibility infrastructure that other developers can emulate including dual booting Dos and Unix and access to DOS partitions from Unix. As we will see later most of enhancement Microsoft introduced (multiple virtual consoles accessible via Alt-F1, Alt-F2, dual booting with MS-DOS, etc) were later diligently copied by Linux. See Slashdot discussion for some additional information.
But what is more important is that Microsoft actually significantly contributed to the creation of the development community behind Linux. And not only with Xenix, although Xenix was Mecca of PC Unix enthusiasts in the Eastern Europe (including former USSR). That happened due to the fact that PCs were the most available and the most reliable hardware in this region, especially in universities. Essentially Microsoft created the platform that made Linux possible.
Up to 1995 (the start of Windows 95 vs. OS/2 wars) Microsoft was seen as the underdog (compared to the still-evil IBM) and MS DOS was the primary platform of computer enthusiasts. There was entire cottage industries that catered to the nerd contingent e.g. Borland, Norton (famous Norton Commander as well as Norton Utilities with amazing disk editor), Xtree, etc. Many enthusiasts would sit at home any try to construct something on their DOS computers, or push the performance of their 386sx hardware. Level of sharing was fantastic as Symtel and Garbo collection of this time can attest. All GNU work was just a tiny fraction of Symtel and Garbo content.
I used to run a PC user group from 1989 till 1994 and I know from my personal experience how energetic and dedicated was the first generation of PC enthusiasts. Many people spent countless hours studying BIOS, disassembling DOS and trying to understand what a particular interrupt is doing or to replace standard DOS utility with their own, better variant or to write their own driver (in non-English speaking countries almost any programmer worth the name has his/her own keyboard driver ;-).
Talented DOS programmers wrote amazingly rich applications that in many ways superseded the limitations of DOS, which was essentially a simple program loader. And some of those applications became a huge commercial success. Applications like Lotus 123, DB2, Borland Turbo Pascal, Norton Commander, QuattroPro, Microsoft Word 4 and 5, MultiEdit etc were higher quality and better engineered than many hugely expensive applications that I used to see on mainframes and mini-computers. PC games was another explosive area which pushed the envelope of what is possible in graphic very quickly. They also contributed to the continuing improvement of hardware, especially graphic capabilities of PCs.
Few people know that Microsoft devoted tremendous amount of technological and marketing talent into creating a unified hardware platform for DOS and then Windows. It also paid tremendous attention to the developers. PC was the first "poor man" development platform and as such it produced a powerful, dedicated development community. To a certain extent with the growth of PC power Unix became more and more attractive and at some point some forking was inevitable. But at the same time this would never be the same Unix, because all those developers have had strong DOS roots.
After DOS application experience Unix tools (but not an OS itself) looks pretty bland and people who returned or joined newly formed Unix-on-PC movement tried their best to reproduce best features of the DOS environment they were used to, and, especially, DOS development tools and applications. And believe me, DOS application development tool chain were really, really slick (I especially liked Borland compilers and applications) and in user-friendliness surpassed Unix development tool chain by a wide margin despite the fact that Unix was much better OS then essentially a simple program loader which is what DOS was about.
Late version of DOS "pseudo-GUI" programs like MultiEdit and Slickedit were really more slick then, say, Emacs. Quattro Pro and Fox Pro were examples of amazingly powerful applications for DOS environment. Both have an extremely sophisticated pseudo-GUI interface...
Also "early" Microsoft was charging reasonable prices for their products (in the USA only, not so in Europe and especially Eastern Europe were prices were simply exorbitant ), and DOS plus several other software products (depending on the PC manufacturer) arrived with your PC "free of charge" (bundled product). I would like to stress that the early-day Microsoft was often a pretty reasonable solution in terms of price. For example, WordPerfect was very expensive and if you wanted spellchecker, that alone would cost you extra $300. Then Microsoft came around with more elegant Word, which was as functional as WordPerfect and way cheaper (less then $200). Moreover MS Word has styles and outlining from version 4 (1987) or may be even earlier. It took almost a decade for the truth to come out but in approximately 1994 WordPerfect was pushed out of mainstream to the niche product.
The same was true for networking. Windows NT kicked Novell ass in file and print services so badly that it later out of desperation Novell jumped into the Linux bandwagon just to survive. NT instantly made Novell Netware to look like an over-priced, obscure OS, without any sexual appeal whatsoever ;-). Moreover NT got better with each release and Novell became just the bottom-feeder. The bottom line is that in many areas Microsoft originally succeeded on it's merits and due to its ability to withstand initial failures and turn them into later success. Bill Gates perfected the art of making better and cheaper software deposing competitor after competitor from important niches and creating standard de-facto out of Microsoft applications. It was a brutal war and it's amazing that with such an intensity of the struggle Bill Gates did not undermined his health.
Gates often would do a whole day of negotiating deals, then return to the office work all night and go to the meeting the next morning. His secretary sometime have found him sleeping on the floor of his office when she came to work. But he "recharged" pretty fast. It would just take a cup of coffee and he was ready for the next meeting.
Paradoxically despite becoming a real 300 pound Gorilla of PC space Microsoft was selling many of its applications cheaper then competitors. In no way Bill Gates was charging "whoever market can bear" which was typical practice for the most software companies as the marketplace was brutal and you never can be sure that you will be around in a year or two. People forget that IBM tried to charge $325 for OS/2. Despite this uncertainty, salaries in Microsoft were pretty low. In 1985 Gates had salary of $133K and Ballmer $88K.
By solving all the problems connected with creating of PC Unix and then withdrawing yourself from the huge market it created, Microsoft created extremely favorable conditions for a new "piggiback" PC Unix. Just think about how many books written about Xenix were printed due to the Microsoft entrance to the field. And they were printed in numbers that were far bigger than for any other platform. You can buy them even now, 20 years after.
It is interesting to note that the 1985-1989 Xenix book explosion was bigger then later 1993-1999 Linux book explosion. Here is a small sample of what is still available on Amazon.com 20 years later:
The second important fact that is often overlooked by naive or crooked Linux zealots is that Microsoft was essentially a software company that controls and extends the PC hardware standard. Without huge Microsoft investments in PC hardware standard there can be no any substantial base for Linux at all because price of hardware is discounted due to the volume of Microsoft software sells.
In this sense Linux is a side effect of Microsoft dominance, a bastard child of DOS and Windows and no number of Linus Torvalds interviews can change the fact that he just replicated Microsoft's abandoned effort with Xenix. Paradoxically with less innovation and quality: Linux kernel was first and foremost about "premature optimization", not so much about new architectural features which can expand the Unix capabilities envelope.
Most popular humor pages:
Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : C++ Humor : ARE YOU A BBS ADDICT? : Object oriented programmers of all nations : C Humor : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor: Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : The Most Comprehensive Collection of Editor-related Humor : Microsoft plans to buy Catholic Church : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor : Best Russian Programmer Humor : Russian Musical Humor : The Perl Purity Test : Politically Incorrect Humor : GPL-related Humor : OFM Humor : IDS Humor : Real Programmers Humor : Scripting Humor : Web Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor :
The Last but not Least
|You can use PayPal to make a contribution, supporting hosting of this site with different providers to distribute and speed up access. Currently there are two functional mirrors: softpanorama.info (the fastest) and softpanorama.net.|
The statements, views and opinions presented on this web page are those of the author and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.
Last modified: January 11, 2013