2022/04/24

John Lions Unix Commentary: Tanenbaum on public record noting 'book' was crucial to MINIX, leading directly to Linus, Linux, iOS/MacOS and Android.

To paraphrase Tanenbaum: "No Unix, No Lions Commentary, No MINIX, No Linux, No Android, No iOS/MacOS". 

Text file with links, commentary & edited video transcript

Andrew Tanenbaum, creator of MINIX, gave a talk at the UNSW John Lions Distinguished Lectures day on 29 July, 2021, which for copyright reasons wasn't uploaded.

A comment has been added to the "Welcome" video with links to the 2016 CACM article and MINIXcon talk included in the text file linked above. [ Since deleted by others ]

Tanenbaum notes that AT&T changed the license for Unix V7 and after to ban books or teaching the source code. He was forced to develop MINIX, a functional clone of V7 and free of AT&T "IP", in order to again teach Operating System from the source, not theory only.

Tanenbaum wrote the O/S on and for an IBM PC, affordable for students, then wrote & published his book, with full source on floppies. In 1991, Linus bought a PC and began using & studying MINIX.

Linus then used MINIX as the development environment for early versions of Linux.

"Open Group", the current owners of the Unix trademark, have a "History and Timeline" page.

One of the best & most complete charts of the Unix Timeline is from Levenez. [Multiple PDF versions]

A much more complete history of Unix variants at Bell Labs and their descendants in the first 10 years by Warner Losh is "Hidden Early History of Unix" [PDF] from the "50 years of Unix" effort.

Links 

Tanenbaum on public record noting 'book' was crucial to MINIX, leading directly to Linus / Linux, iOS/MacOS and Android.)

Lessons Learned from 30 Years of MINIX, March 2016, CACM https://cacm.acm.org/magazines/2016/3/198874-lessons-learned-from-30-years-of-minix/fulltext

 04:10 min video
http://cacm.acm.org/videos/lessons-learned-from-30-years-of-minix

MINIXCon 2016 Talk Slides https://www.minix3.org/conference/2016/slides/Tanenbaum.pdf
MINIXCon 2016 Conference Programme https://www.minix3.org/conference/2016/program.html

MINIXCon 2016 talk #11 Andy Tanenbaum video
36:28 min
Monday, 1 February 2016, 09:00 to 18:00, Vrije Universiteit [VU] in Amsterdam
https://www.youtube.com/watch?v=pNLH8c3PMFY

Notes on Tanenbaum's 2016 CACM article/video

Lessons Learned from 30 Years of MINIX


        04:10 min

        <http://cacm.acm.org/videos/lessons-learned-from-30-years-of-minix>


        Lesson. Eat your own dog food.

        Lesson. Do not trust documentation blindly; it could be wrong.

        Lesson. Listen to your students; they may know more than you.

        Lesson. Nathan Myhrvold's Law is true: Software is a gas. It expands to fill its container.

        Lesson. No matter how desirable your product is, you need a way to market or distribute it.

        Lesson. Size matters.

        Lesson, Try to make your design be appropriate for hardware likely to appear in the future.

        Lesson. By not relying on idiosyncratic features of the hardware, 

                one makes porting to new platforms much easier.

        Lesson. As with software, hardware can contain bugs.

        Lesson. When someone hands you a lemon, make lemonade.

        Lesson. The Internet is like an elephant; it never forgets.

                Be careful what you put out on the Internet; 

                it might come back to haunt you decades later. [Flamewar]

        Lesson. Do not assume today's hardware will be dominant forever.

        Lesson. When standards exist (such as ANSI Standard C) stick to them.

        Lesson. If you are running one of the biggest corporations in the world

                        and a tiny startup appears in an area you care about

                        but know almost nothing about,

                        ask the owners how much they want for the company and write them a check.

        Lesson. Even after you have adopted a strategy, 

                you should nevertheless reexamine it from time to time.

        Lesson. Working on something important can get you research funding, 

                even if it is outside the mainstream.

        Lesson. Each device driver should run as an unprivileged, independent user-mode process.

        Lesson. Try for an early success of some kind; it builds up everyone's morale.

        Lesson. Keep focused on your real goal.

        Lesson. If V3 of your product differs from V2 in a really major way, 

                give it a totally new name.

        Lesson. Doing Ph.D. research and developing a software product 

                at the same time are very difficult to combine.

        Lesson. Einstein was right: Things should be as simple as possible but not simpler.

        Lesson. If you want people to use your product, it has to do something useful.

        Lesson. If marketing the product according to plan A does not work, invent plan B.

        Lesson. It is very difficult to change entrenched ways of doing things.


        In 1977, John Lions of the University of New South Wales in Sydney, Australia, 

        wrote a commentary on the V6 source code, explaining line by line what it meant,

                a technological version of a line-by-line commentary on the Bible.

        Hundreds of universities worldwide began teaching UNIX V6 courses 

        using Lions's book as the text.


        The lawyers at AT&T, which owned Bell Labs, 

        were aghast that thousands of students were learning all about their product.

        This had to stop.

        So the next release, V7 (1979), came equipped with a license 

        that explicitly forbade anyone from writing a book about it or teaching it to students.

        Operating systems courses went back to theory-only mode or had to use toy simulators, 

        much to the dismay of professors worldwide. 


        There matters rested until 1984,

        when I decided to rewrite V7 in my spare time while teaching

        at the Vrije Universiteit (VU) in Amsterdam

        in order to provide a UNIX-compatible operating system my students 

        could study in a course or on their own. 


        I decided to write a book describing the code, like Lions did before me,

        and have my publisher, Prentice Hall, distribute the system, 

        including all source code, as an adjunct to the book.

        After some negotiation, Prentice Hall agreed to sell a nicely packaged box 

        containing eight 5¼-inch floppy disks and a 500-page manual for $69.

        This was essentially the manufacturing cost. 


        Thirty years later the consequences of Van Renesse's offhand remark are enormous.

        If he had not mentioned interrupt 15, I would probably have eventually given up in despair.

        Without MINIX, it is inconceivable there would have been a Linux

        since Linus Torvalds learned about operating systems by studying the MINIX source code

        in minute detail and using it as a base to write Linux.

        Without Linux, there would not have been an Android since it is built on top of Linux.

        Without Android, the relative stock prices of Apple and Samsung might be quite different today.