Open Source Computing

Week 5




Individual Assignment 2

There was some misunderstanding about this. I should have talked about it last week. Pick an open-source project (eg on Github) and answer the following:

  1. Where do users report bugs? How can they search the bug lists to see if their bug has been reported previously?
  2. Where is the list of pull requests?
  3. Where is the developer mailing list (or however it is that the devs communicate)?
  4. Is there a code of conduct? If so, does it have any non-standard features?
  5. Is there a source-code architecture document, outlining the organization of the source code? (This is relatively rare.)

I've moved the accept-until date to tomorrow.



An article about Firefox from The Economist: economist.com/business/2019/07/20/what-open-source-culture-can-teach-tech-titans-and-their-critics.

The real point here is that Firefox is perhaps the best example of open-source software that works well for nontechnical users. LibreOffice comes close, but there are some rough edges. (Having you find bugs in LibreOffice is easy, by comparison with Firefox.)

The other open-source-for-the-masses issue is that open source software is easier to trust. Firefox gets a lot of money from Google for making google.com the default Firefox search engine. But, overall, Firefox isn't beholden to advertisers the way Chrome is.

It is a bit of a mystery why Microsoft never managed to leverage Internet Explorer / Edge into a browser that was highly trusted by users. Even Apple Safari never gained a reputation as a privacy-friendly browser.


How Google makes money with Chrome: see the updated android.html#chrome.


Updated Torvalds quote about git at overview.html#git.



Social.html has been restructured, with Communications first, then misc, then Politics. And with an added reference to useplaintext.email.

It also includes a new reference to a Baylor Univ study that suggests there's even less difference between managing for-profit employees and open-source volunteers than we might have thought.


Finish Cathedral v Bazaar


Linux security

    Apple TLS
    OpenSSL





expression evaluation: pld.cs.luc.edu/courses/271/spr18/demos/expressionsij.zip.

Notes: pld.cs.luc.edu/courses/271/spr18/mnotes/recursion.html#exprtrees

Demo of command-line expressions

With a calculator interface, things are a little different. Generally, the '(' key clears the display and starts a new subexpression. Operator keys might display the current operator on the screen. The ')' key acts like the '=' key for the current expression, displaying the results so far. galculator takes this approach.

The other alternative is to display the entire expression on the display line. qalculate does this.


Gimp and user interfaces


Look at kernel code

github.com/torvalds/linux/blob/master/net/ipv4/tcp.c

github.com/torvalds/linux/blob/master/net/ipv4/tcp_cong.c

github.com/torvalds/linux/blob/master/include/net/tcp.h