389COM: Module Introduction

Dr Carey Pridgeon, DR Nazaraf Shah

2016-08-06 Tue

Created: 2016-11-03 Thu 15:37


Module Content

  • This module will be covering the legal and ethical aspects of the Open Source World, and usage of common Open Source tools.
  • We will also be getting directly involved with the Mozilla Foundation and the Gitlab Corporation.
  • You will be getting your first taste of working with live code (code in a production environment).
  • This Modules outcome can be used in your CV.

Module Assessment

  • This Module is assessed by means of a Portfolio of Works.
  • This Portfolio is harder than an Exam.
  • The assessment scheme is thorough, because the outcome of this module can be used in your post degree job search.
  • Portfolio detail can be found in the portfolio document

Programming Expectations

  • We will not be teaching you any programming.
  • Grading will take place based more on the quality than quantity of your coding output.
  • A large portfolio of incomplete or trivial work will be worth a lot less then a small portfolio of completed work of good quality.
  • There is no how many bugs you need to do count, beyond more than one.

Module Partners

Mozilla Foundation

  • A non profit foundation founded in 2003.
  • They make Firefox - The web browser we will be working with
  • Plus too many other products to list here
  • Mozilla Products

Gitlab Incorporated


A Thing to do Today

  • Set up a Mozilla account. Do this with your real name and personal email address so your work is available when potential employers search for you.
  • Mozilla Bug Tracker

Another Thing to do Today

  • Set up a Gitlab account. Do this again with your real name and personal email address so your work is available when potential employers search for you. If you have an existing account, update it.
  • They have a similar Bug Tracker
  • The tag we want is up for grabs for unassigned bugs that they view as new contributor suitable , or just bugs for harder ones.

Yet More Things to do Today

  • Set up groups on Moodle (or wherever we decide to), or start to at least.
  • set up user accounts on Nostromo by going here.
  • Start the Linux Command Line Worksheet or another from the set.

A Little History

Free Software Foundation

  • Founded in 1985 by Richard Stallman.
  • Website
  • Primary Licence GPL (Gnu Public Licence) text here
  • They also act as an approving body for other licences that match, or approximate, their philosophy.
  • This licence is CopyLeft not CopyRight. This distinction was Stallmans idea.
  • The distinction is largely meaningless, since it remains a copyright protecting device, but it's his ball as it were…

Free Software Foundation

  • A less restrictive version, the LGPL (Lesser Gnu Public Licence) was released in 1999.
  • They seem to be regretting doing this, as they feel it isn't restrictive enough and want to stop people using it.
  • They do not, it seems, believe in making software easy to use. What they do create is nonetheless astounding.

Open Source Initiative

  • the OSI was founded in 1998 by Bruce Perens.
  • They are a community of existing projects/companies that promote collaboration with the commercial world.
  • The phrase Open Source was created to be less negative to the commercial world.
  • Free coders gotta eat too.
  • They don't have their own licence, but they act as an approval body.
  • There are no direct OSI products.

Significant Tools

GNU Emacs

  • emacs Editor
    • Hard to use, but probably one of the best programming editors in the world.
    • Well, not hard to use, but complicated to learn because it can do so much.
    • All the materials for this module were written in emacs org-mode.

GNU Compiler Collection

  • GCC
    • An Industry Standard Compiler (unless you are Microsoft).
    • Hugely complete, and superior in every respect.
    • Comes with Autotools, the worlds most difficult to learn, but again, industry standard Build System.

Significant Software

GNU Tools

  • GDB
    • Industry Standard Debugging Tool (unless you are Microsoft).
    • Used in virtually all IDE's that employ GCC compiled languages.
  • Valgrind
    • Industry standard profiling tool (unless you are guess who…)

GNU Tools 2

Bourne Again Shell

  • Bash
    • The standard shell for almost all operating systems
    • Contains a comprehensive scripting language.
    • There are more shells, but you will encounter Bash most often.

Significant Software - 2

Apache Software Foundation

  • Apache Web Server
    • Originally called A Patchy Web Server.
    • Approximately half the net is running Apache.
    • They have too many other products to list in this slide - linky


  • The Hurd Kernal Project, started in 1990 and still going (sort of).
  • Hurd is The FSFs failed attempt at a free kernel.
  • Why it failed.
  • Linux or GNU Linux, the argument.

Open Source, good or not?

Where Open Source is not so good

  • Documentation is often very poor.
  • User Interfaces are sometimes overly complex.
  • Most Open Source/Free Software projects get abandoned: (98%)
  • Mostly lone developer projects. Usually before getting anywhere significant.
  • given their open nature, code bases are sometimes co-opted by malware groups (chrome particularly).

Where Open Source is great

  • Longevity of Projects, and consistency of developers.
  • More secure in theory, because the code is open for inspection.
  • Anyone can do it.
  • Potential employers trawl Github etc for talented programmers.

Obligatory XKCD


  • Copyright: Randall Munroe - XKCD
  • Mirrored on my hosting to avoid bandwidth stealing

Licence for this work

  • Licenced under Creative Commons Attribution-ShareAlike 4.0 International by Dr Carey Pridgeon 2016
  • (Licence does not cover linked images owned by other content creators)