My Notes on "The Cathedral & The Bazaar"

by Eric S. Raymond! Here is the link to the book!

Following are the notes I took for myself while "studying" the book..

  • Beginning of the Hacker culture can be dated back to 1961, the year MIT acquired the first PDP-1.
  • First transcontinental, high-speed network is the ARPANET - was built by Defense Department.
  • Hacker culture spread with ARPANET.
  • ARPANET..
    • a network of DEC machines
    • most important of them is the PDP-10
    • Operation System: TOPS-10
    • Assembler: MACRO-10
  • GNU Emacs is from those days!
  • Mice, windows, icons invented in Xerox: 70s - 80s.
  • Unix was invented by Ken Thompson in Bell Labs, same year ARPANET 's birth (using a DEC PDP-7).
  • Dennis Ritchie invented C for use in Unix. Prior: Operating Systems were written in Assembly.. DR & KT realized an Operating System can be written in a high language.. high language being C.
  • In 1978, Unix has been ported to several machines.
  • By 1980 C & Unix spread to universities. Hackers considered Unix "home".
  • First personal computer marketed: 1975.
  • Apple founded: 1977.
  • The language for the personal computers was BASIC.
  • By 1980, there were 3 cultures:
    • TOPS-10 & LISP
    • Unix & C
    • PC & BASIC
  • 1982.. Stallman started writing a clone of Unix in C, available for free, called GNU.
    • .. also founded FSF: Free Software Foundation.
  • By 1990 's.. Workstations were threatened by low - cost, high - performance personal computers.
    • Individual hackers were affording personal computers..
      • But where was the software? Unix was expensive, and was not distributable.
  • 1991.. Linus began developing a free Unix kernel with FSF toolkit, called it Linux.
    • by 1993, it was quite stable.
      • smaller Unix vendors died..
      • Berkeley System Design (BSD) made Unix free - meaning offered sources.

Linus & Linux Mentality

  • Release early, release often.
  • Delegate all you can.
  • Linus Torvalds did not start from scratch..
    • .. (re)used Minix code.
    • .. eventually all Minix code was re-written.
  • Finding the problem is the bigger challenge compared to understanding (and fixing) it.
  • Smart data structures and dumb code works better than the other way around.
  • Treat beta testers as your most valuable resource, and they will become your most valuable resource.
  • Make sure you understand the concept of the problem right!
  • Brook 's Law: Adding developers to a project makes it later..
    • .. if this was the whole picture, Linux would be impossible!
  • Linux was the first project for which an effort to use the ENTIRE world talent pool was made.
  • Human beings take pleasure when a task is..
    • .. not boringly easy..
    • .. not too hard to achieve.
  • Open sources success teaches us: "play" is the most efficient mode of creative work.

Open Source

  • Open Source software is..
    • .. freely redistributable..
    • .. evolve and modified to fit change in needs.
  • Variations in open-source software culture:
    • Very anti-commercials: Commercial is evil! Must end!
    • Somehow anti-commercials: In general ok, but some companies are evil..
    • Un-anti-commercials: Commercial is ok, just like open better..
  • Stallman / FSF was very anti-commercial, they defined "Free Software"..
    • .. which "Open Software" avoids.
  • FSF 's license terms - GPL - expresses Stallman 's attitude..
    • .. not everyone in the hacker community agreed..
    • .. including Torvalds, who endorsed commercial software for specific tasks.
  • Open Source by decades:
    • 70 's .. Toys & Demos
    • 80 's .. Internet Tools
    • 90 's .. Operating Systems
    • 00 's .. Applications (for non - techie such as KDE - GNOME - GIMP etc..)

Hacker Culture Values

  • Software should work as good as "have been led to expect"..
    • beta and experimental is allowed.
    • must at least start!
  • New work is respected more compared to duplicated work except duplicating functionality of closed software and serving the community.
  • Work that makes into major distributions is prestigious where majors are:
    • Red Hat
    • Debian
    • Suse
  • Hard, boring work (debugging and documentation) is more respected than fun and quick fixes.