389COM: Module Introduction
Dr Carey Pridgeon, DR Nazaraf Shah
Created: 2017-07-21 Fri 14:47
- 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.
Why You Should Care About This Module
- This Modules outcome can be used in your CV
- You will be getting your first taste of working with live code (code in a
- That means, unlike previously, the code you will be encountering won't be toy
problems, it will be production code, and your changes, if accepted will be
contained in a product in worldwide use.
Employability - 1
- Open Source Developers used to be perceived as bearded weirdos who lived in
cellers, obsessed about obscure Science Fiction and didn't go outdoors much.
- Now they are the CEO's and lead developers of major Software and technology
- Open Source Developing is the new way to make your name in the industry. It
may not make you money directly.
Employability - 2
- In fact it won't in 99.9% of cases, but it can get you contacts and
- This automatically makes you more employable. Conversly, not having a Github
profile with projects in marks you as less employable.
- There's a better than average chance that one of the people who will
interview you for a position at a company is or has at some point been an open
Collaboration - 1
- During your life as a student, you will probably have learned to despise
- Unfortunatelly, in the working world, everything revolves around teamwork, you
simply cannot escape it.
- Even Macdonalds uses Teamwork…
- So, learn to be good at it, fast.
Collaboration - 2
- This module has some teamwork elements available as optional componants.
- It also involves you communicating with Mozilla software bug owners/mentors as
non optional ones, a sort of gentle introduction to real life teamwork (I will
explain more about this).
- Teamwork is however something you will not escape when you begin your careers,
so you should learn what you can from this module.
Familiarisation in working with large projects
- University students never get to work with large codebases, their work being
restricted to purely 'toy' code.
- This module lets you gain some experience with a larger codebase.
- How much you get from this module is entirely down to you, if you choose to do
the minimum, you can, but the loss will be yours.
- In the past students have left this module and gone on to have strong ties to
people at Mozilla and in the wider open source world.
- This Module is assessed by means of a Portfolio of Works.
- This Portfolio is, in spite of what you may beleive harder than an Exam if
you want to get anything but a low grade.
- The only difference is you have the
opportunity to spread that difficulty over a longer period of time.
- 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 - 1
- We will not be teaching you any programming. But this does not mean the
module won't involve some very complicated programming.
- In fact, in order to get a decent grade you may need to do some of the hardest
coding of your degree so far.
Programming Expectations - 2
- Grading will take place based more on the quality than quantity of your
- 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.
- When we are invariably asked the question, which we always are how many bugs
do I have to do, the answer will always be read this lecture again.
- 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, so instead of doing that I've
provided a link for you to browse in your own time.
- Mozilla Products
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
- set up user accounts on Nostromo by going here.
- Start the Linux Command Line Worksheet or another from the set.
Free Software Foundation
- Founded in 1985 by Richard Stallman.
- 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
- 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.
- This somewhat extreme approach is causing them to become increasingly
isolated from the wider software community.
- In spite of this they continue to have a valuable place in the softare
landscape. There is such a thing as too much compromise after all.
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
- 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.
- emacs Editor
- Hard to use, but probably one of the best programming editors in the
- Well, not hard to use, but complicated to learn because it can do
- All the materials for this module were written in emacs org-mode.
GNU Compiler Collection
- 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.
- Industry Standard Debugging Tool (unless you are Microsoft).
- Used in virtually all IDE's that employ GCC compiled languages.
- Industry standard profiling tool (unless you are guess who…)
Bourne Again Shell
- The standard shell for almost all operating systems
- Contains a comprehensive scripting language.
- There are more shells, but you will encounter Bash most often.
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 is a complex story of mismanagement, and involves the FSF doing
much of what they accuse the commercial world of doing.
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.
- Even code in abandoned projects is often re-used.
- Potential employers trawl Github and othe code repositories (but mostly Github right now) for talented programmers.
- 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)