From mboxrd@z Thu Jan 1 00:00:00 1970 From: jon@fourwinds.com (Jon Steinhart) Date: Tue, 08 May 2018 08:23:30 -0700 Subject: [TUHS] unix "awesome list" In-Reply-To: References: <20180508122429.GG999@thunk.org> <20180508135121.7D70C156E510@mail.bitblocks.com> Message-ID: <201805081523.w48FNUXw018920@darkstar.fourwinds.com> Here's an excerpt from the book on which I'm working (thanks to Clem for proofreading) that is my take on how things got to be the way that they are today. BTW, I was coming into work one evening when Ken was heading out the door for his sabbatical. I remember him just waltzing past the security guard with an armload of mag tapes and thinking wow, there aren't that many people who could get away with that. Jon A long time ago people made money selling computers. Software was written and given away in order to help sell computers. There was a culture of sharing and working together to improve software. More and more people wrote and shared software as computers became more accessible. The Multics operating system was collaboratively developed in the 1960s by Bell Telephone Laboratories, General Electric, and the Massachusetts Institute of Technology. Bell pulled out of the project, and some of the people (most notably Ken Thompson and Dennis Ritchie) there who had worked on it decided to make a more practical version that ran on the smaller minicomputers produced by the Digital Equipment Corporation (DEC). It was the first portable operating system which means that it could run on more than one type of computer. This innovative operating system, UNIX, embodied a new minimalist and modular philosophy for software that we'll discuss shortly. Ken Thompson took a copy of UNIX with him in 1975 when he took a sabbatical year to teach at the University of California, Berkeley. This had a huge effect that still reverberates today. Students had access to a real working system. They could examine the code to see how things worked, and they could make changes. Not only that, but they were exposed to the philosophy. Berkeley produced its own version of UNIX, BSD for Berkeley SPoftware Distribution. Students added many new important features to the system. The networking code that is the foundation of the Internet was written for UNIX at Berkeley. Berkeley graduates started companies such as Sun Microsystems that made commercial UNIX-based systems. Personal computers changed this. All of a sudden the people writing software weren't the people selling computers, so they needed to charge for it. But there was still an attitude of ``it's great that we make a living doing this cool stuff''. This changed dramatically when Bill Gates came on the scene. As is evident from numerous court depositions, his focus was on making money. If he had to do something cool to make money he would, but his priorities were opposite those of others in the industry. How did this change things? Software development began to be driven more by politics, lawyers, and underhanded behavior than engineers. Much of this focused on suppressing innovation that competed with existing products. For example, Microsoft started with MS-DOS, a program that they bought from its developer Tim Paterson. Microsoft let it languish as they were making plenty of money from it. A company called Digital Research came out with an improved version called DR-DOS. When Microsoft came out with Windows, the original version of which ran on top of DOS, they included a hidden, encrypted piece of code that checked to see if the system was running MS-DOS or DR-DOS, and generated phony errors if it found DR-DOS. This made DR-DOS unsuccessful in the marketplace even though it was a arguably better product for the money. It wasn't just Microsoft. Apple also sued Digital Research for copying their user interface in a product called GEM. Digital Research would probably have prevailed eventually, but would have gone bankrupt in the process because Apple had much deeper pockets. Somewhat absurd when you realize that the Apple user interface was substantially copied from the Xerox Alto. Unfortunately, this mindset continues today with threatened big players resorting to the courts instead of innovating their way out of their difficulties. Examples abound such as SCO versus IBM, Oracle versus Google, Apple versus Samsung, Samsung versus Apple, Intellectual Ventures shell companies versus the world, etc. Personal computers started becoming popular in the mid-1980s. It wasn't practical to run UNIX on them because the hardware lacked a memory management unit although there was a variant called Xenix that did run on PCs. Colleges starting using personal computers to teach computer science because they were cheaper. However, unlike the UNIX-era graduates from Berkeley, students did not have the ability to look at the code of the system that they were using. And the system with which they became familiar was considerably less advanced than UNIX. As a result graduates from this era were not generally of the same quality. In part as a reaction to this, Richard Stallman started the GNU (Gnu's Not Unix) project in 1983. Among other things, the goal was to create a free, open-source version of UNIX. Stallman created the copyleft, a variant of the copyright used by others to protect their software. The copyleft essentially said that others were free to use and modify the code as long as they made their modifications available under the same terms. In other words, we'll share our code with you if you share yours with everyone else. The GNU project did a great job of recreating the UNIX utilities such as cp. But it was slow to create the operating system itself. Linus Torvaldis began work on what is now known as the Linux operating system in 1991 because there was no GNU operating system. To a large degree this work was made possible by the existence of the GNU tools such as the C compiler. Linux has become extremely popular. It's used heavily in data centers (the cloud), it's the underlying software in Android devices, it's in many appliances. This book was written on a Linux system. Large companies were originally skeptical about using open source software. Who would fix the bugs? Somewhat ludicrous; if you've ever reported a bug to Microsoft, Apple, or any other large company you know how much attention it gets. In 1989, John Gilmore, David Henkel-Wallace, and Michael Tiemann founded Cygnus Support to provide commercial support for open source software. It's existence greatly increased the willingness of companies to use open source software. In many ways Linux and GNU have brought us a new golden era similar to the Berkeley UNIX days. It's not quite as shiny because some of the people from the PC era are making changes without really understanding the philosophy.