Open Source Computing

Week 6 (2/20, 2/22)

Teams Reports

I want weekly emailed status reports from each team! Starting this week.

Open Source as a business

start with Google

Wednesday: Signal, OpenNMS and Babel

Linux history

What made Linux such a successful open-source project? Why did Linux beat BSD?
The email from Linus Torvalds to Mauro Carvalho illustrates two things:
  1. Torvalds' somewhat abusive style
  2. Torvalds' firm no-regression policy: user code that used to work should never be broken by a kernel update.

How do these factors play out in the success of Linux?

A third factor is Torvalds' policy on contributions: all are welcome, but they start out as non-mainline extensions, patches or modules.


LibreOffice, bash


From a recent HackerNews post: The title: Babel is used by millions, so why are we running out of money?

Note this is from 2021. Current finances are at

Should companies pay to have open source available? If so, how much?


Why did Apple create the Clang compiler, and switch from gcc?

In 1989 NeXT computer apparently added support for Objective-C to gcc, and distributed the binaries but never released the source. But this isn't the whole story: Clang is a front-end that is part of the LLVM open-source compiler project, which is licensed under the Apache license.

Even that isn't the whole story: while at UIUC, Chris Lattner did major development work on the LLVM compiler collection, and wrote his PhD thesis about it. After he got his PhD, Apple hired him to turn LLVM from a research compiler to a robust production compiler. And the source is still open.

One issue is that, back when gcc was first developed, compilers were strictly black boxes, that converted your source code to object code. But this is no longer really true: most IDSs have extensive hooks into their compiler. This way they can show compiler error messages tied to line numbers, and show syntax errors before compilation (because the parser runs on your source as you type). Clang also supports code-analysis plugins; under the Apache license, such plugins can remain proprietary. Could the plugin issue be the real reason for Clang? Clang also has internal structural features that make it easier to tie late-compilation and even run-time issues back to a specific source location.