Open Source Computing

Week 2

News items

Transcript of Richard Stallman talk from 2002: My Lisp Experiences and the Development of GNU Emacs

Lisp Machines, Inc was founded by one of the members of the MIT AI lab, named for the MIT Lisp machine (lower case). A competing company was founded a short while later, named Symbolics. Both companies agreed to make Lisp improvements available to MIT. But Symbolics declared that any such improvements were to be made available only to MIT; MIT could not redistribute the changes. This irritated Stallman, and he took action:

Up until that point, I hadn't taken the side of either company, although it made me miserable to see what had happened to our community and the software. But now, Symbolics had forced the issue. So, in an effort to help keep Lisp Machines Inc. going — I began duplicating all of the improvements Symbolics had made to the Lisp machine system. I wrote the equivalent improvements again myself (i.e., the code was my own).

After a while, I came to the conclusion that it would be best if I didn't even look at their code. When they made a beta announcement that gave the release notes, I would see what the features were and then implement them. By the time they had a real release, I did too.

After two years, the MIT AI lab closed and Stallman founded the GNU project.

IBM Closes Landmark Acquisition of Red Hat for $34 Billion

Red Hat certainly figured out how to make money in open source!

The death watch for the X Window System (aka X11) has probably started

Maybe so, maybe no. On the one hand, X was why we have the MIT license. On the other, the demise of X is long overdue. The replacement is likely to be Wayland, which does also use the MIT license.

Debian GNU/Hurd 2019 released

Still limited to 32-bit support, though. This is probably a bad sign.

The Ruby strong_password gem (Ruby's name for library), version 0.0.7, was hijacked.

See the code.

This happened in March with a different Ruby package:

In both cases, the source was unchanged; the distribution at was what was compromised.

Individual Assignment 1: Find a bug in LibreOffice (or something else) and report it to me.

You can either find the bug by using LibreOffice, or by looking at their bugzilla site, (you might have to create an account). Either way, you should be able to reproduce the bug, so you will probably have to install LibreOffice. If you are reporting a bug from their bugzilla site, you must be able to reproduce it.

If you find the bug yourself, you do not have to report it to LibreOffice (to report it you really should search to see if someone else has already reported it, and that's quite a bit of extra work).

Your report to me should describe the bug, and how you reproduce it. You should also include a sample LibreOffice file to demonstrate the bug, in whatever format is necessary (although some bugs don't have files; for example, "create a new file, store it in .docx format, paste a .png image, and save"). The sample file is particularly important if you're reporting on a bug you found at the bugzilla site.

Be sure to let me know what operating system you're using, and what version of LibreOffice, and which program within the LibreOffice suite (eg Writer).

I'm suggesting LibreOffice because it's, well, so easy. (Ok, maybe not easy when you're actually trying to find a bug, but there are quite a few out there.) However, you may instead report on a bug in some other open-source project, if you wish.

Examples: sudoku.doc alignment issue, try recreating in the current LibreOffice

Group assignment 1 preview (due sometime next week, after class):

Create a document describing your project and what changes you intend to make. This is not a definite commitment; you may decide later to modify the changes. For example, for the calculator your document might look like this: Actually, you are encouraged to give a little more detail than that: a sketch or screenshot of the desired keyboard layout, a specification of how the program is to respond to keypresses generally, and a specification of what the new Bessel/Gamma keys do. (You might also consider listing potential sources for Bessel or Gamma algorithms, though I don't necessarily recommend implementing this feature as these functions are relatively obscure.)

git demo

A deeper dive into licenses