diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..0aa724a Binary files /dev/null and b/.DS_Store differ diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/20-21/.DS_Store b/20-21/.DS_Store new file mode 100644 index 0000000..40e3b7b Binary files /dev/null and b/20-21/.DS_Store differ diff --git a/20-21/Lectures/.DS_Store b/20-21/Lectures/.DS_Store new file mode 100644 index 0000000..913dd80 Binary files /dev/null and b/20-21/Lectures/.DS_Store differ diff --git a/20-21/Lectures/Being_An_Open_Source_Developer.org b/20-21/Lectures/Being_An_Open_Source_Developer.org new file mode 100644 index 0000000..023d3d9 --- /dev/null +++ b/20-21/Lectures/Being_An_Open_Source_Developer.org @@ -0,0 +1,64 @@ +# -*- mode: org -*- +#+TITLE: Being An Open Source Developer: +#+AUTHOR: Dr Carey Pridgeon, Dr Nazaraf Shah +* setup :noexport: +#+OPTIONS: reveal_center:t reveal_progress:t reveal_history:t reveal_control:t +#+OPTIONS: reveal_mathjax:t reveal_rolling_links:t reveal_keyboard:t reveal_overview:t num:nil +#+OPTIONS: reveal_width:1200 reveal_height:800 +#+OPTIONS: toc:nil num:nil H:2 ^:{} +#+REVEAL_MARGIN: 0.2 +#+REVEAL_MIN_SCALE: 0.5 +#+REVEAL_MAX_SCALE: 2.5 +#+REVEAL_TRANS: none +#+REVEAL_THEME: simple +#+REVEAL_HLEVEL: 999 +#+REVEAL_EXTRA_CSS: css/presentation.css +#+REVEAL_ROOT: https://cdn.jsdelivr.net/reveal.js/3.0.0/ +#+STARTUP: showeverything +# Licenced under Creative Commons Attribution-ShareAlike 4.0 +# International by Dr Carey Pridgeon 2020 +* Being An Open Source Developer + +** Portfolio Enhancement +- The first issue to deal with here is, *why do it if I'm not going to be paid*. +- This one is pretty easy to answer, if less easy for everyone to accept - + *Future Job Prospects*. +- When you apply for a job, or even register your CV with an agency, your online + presence will start to receive constant attention. +- If you're a developer, this attention will focus on any code repositories you + either own, or have your name associated with (hence, if we've already done + the lecture on Mozilla, why I said to use your real name) +** Redefining failure +- By most current definitions, as in those determined by commercial + or critical success, most Open Source (we use this as a blanket term to + include Free Software too) projects end in failure. +- Many don't even reach completion, but sometimes completion is a difficult + thing to judge, as Open Source programs, even widely used ones, can remain in + beta for years. +- Therefore any analysis of reasons for failure can be difficult perform. [[https://arxiv.org/abs/1707.02327][This]] + 2017 paper makes an attempt, but still fails to be clear in my opinion. +** +- The reality of failure is more complex. Sometimes developers move on because + they have a better idea, but leave the old project up. This is what I've done. +- Sometimes they just upload old code from long finished projects with no + intention of taking them any further. +- This makes more code available to the community, but further skews any + analysis of project failure analysis. +- Still, high failure rate is sometimes used as justification to claim that it's + not such a good thing to start in this area. +** +- This option is often lacking for large commercial companies who feel the need + to demand visible progress along previously known paths for their staff, often + stifling the chances for true innovation as a result for all but a fortunate + few. +- This isn't always true of course, but it happens often enough that people can + be left frustrated with their jobs, resulting in what's known in many fields + as [[https://www.thisiscalmer.com/blog/5-stages-of-burnout][Burn Out]], a catch all phrase with several meanings. +** Obligatory XKCD +file:img/image.png +- Copyright: +- Mirrored to avoid bandwidth stealing +** Licence for this work +- Licensed under Creative Commons Attribution-ShareAlike 4.0 + International by Dr Carey Pridgeon 2016 +- (Licence does not cover linked images owned by other content creators) diff --git a/20-21/Lectures/Mozilla.html b/20-21/Lectures/Mozilla.html new file mode 100644 index 0000000..dd9e45c --- /dev/null +++ b/20-21/Lectures/Mozilla.html @@ -0,0 +1,151 @@ + + + + +Mozilla: + + + + + + + + + + + + +
+
+

Mozilla:

Dr Carey Pridgeon, Dr Nazaraf Shah

Created: 2020-06-01 Mon 10:57

+
+
+
+

Mozilla

+
+
+
+
+
+
+

Netscape

+ +
+

Netscape_Navigator_2_Screenshot.png +

+
+
+
+
+
+

+
    +
  • Initially a commercial product, Netscape Navigator was the first commercially +succesful web browser, released in 1995.
  • +
  • It beat Microsoft to monetising the still relatively new World Wide Web, +because Windows 95 wasn't designed initially to include a web +browser.
  • +
  • Internet explorer was added as part of the Plus! package, and had few features +in comparison.
  • +
  • Most business produced websites to support it simply because it would be +present on more machines, not because it was better.
  • + +
+
+
+
+
+

+
    +
  • For too many reasons than we have time to discuss, Netscape declined as a +company, finally making the decision to release their product as an Open +Source product and eventually create the Mozilla Foundation in 1998.
  • +
  • Many talked at the time of Netscape losing the 'browser wars' and failing. But +since most remaining developers were left as millionaires, and the CEO as a +billionaire, I fail to see this.
  • + +
+ + +
+
+
+
+

Obligatory XKCD

+ +
+

image.png +

+
+
    +
  • Copyright:
  • +
  • Mirrored to avoid bandwidth stealing
  • + +
+
+
+
+
+

Licence for this work

+
    +
  • Licensed under Creative Commons Attribution-ShareAlike 4.0 +International by Dr Carey Pridgeon 2016
  • +
  • (Licence does not cover linked images owned by other content creators)
  • + +
+
+
+
+
+ + + + + + diff --git a/20-21/Lectures/Mozilla.org b/20-21/Lectures/Mozilla.org new file mode 100644 index 0000000..af2db6f --- /dev/null +++ b/20-21/Lectures/Mozilla.org @@ -0,0 +1,89 @@ +# -*- mode: org -*- +#+TITLE: Mozilla: +#+AUTHOR: Dr Carey Pridgeon, Dr Nazaraf Shah +* setup :noexport: +#+OPTIONS: reveal_center:t reveal_progress:t reveal_history:t reveal_control:t +#+OPTIONS: reveal_mathjax:t reveal_rolling_links:t reveal_keyboard:t reveal_overview:t num:nil +#+OPTIONS: reveal_width:1200 reveal_height:800 +#+OPTIONS: toc:nil num:nil H:2 ^:{} +#+REVEAL_MARGIN: 0.2 +#+REVEAL_MIN_SCALE: 0.5 +#+REVEAL_MAX_SCALE: 2.5 +#+REVEAL_TRANS: none +#+REVEAL_THEME: simple +#+REVEAL_HLEVEL: 999 +#+REVEAL_EXTRA_CSS: css/presentation.css +#+REVEAL_ROOT: https://cdn.jsdelivr.net/reveal.js/3.0.0/ +#+STARTUP: showeverything +# Licenced under Creative Commons Attribution-ShareAlike 4.0 +# International by Dr Carey Pridgeon 2020 +* Mozilla +** Netscape +file:img/Netscape_Navigator_2_Screenshot.png +** +- Initially a commercial product, Netscape Navigator was the first commercially + succesful web browser, released in 1995. +- It beat Microsoft to monetising the still relatively new World Wide Web, + because Windows 95 wasn't designed initially to include a web + browser. +- Internet explorer was added as part of the Plus! package, and had few features + in comparison. +- Most business produced websites to support it simply because it would be + present on more machines, not because it was better. +** +- For too many reasons than we have time to discuss, Netscape declined as a + company, finally making the decision to release it as an Open Source product + and eventually create the Mozilla Foundation in *1998*. +- Many talked at the time of Netscape losing the 'browser wars' and failing. But + since most remaining developers were left as millionaires, and the CEO as a + billionaire, I fail to see this. +** How this relates to the module +- The Mozilla Foundation exists not only to promote and further their own + software, but to encourage others to get involved in developing Open Source + software. +- They have full time staff, but in addition to this they have a large community + of unpaid developers who support their work. +- I will cover the advantages of being an Open Source developer in this + situation in another lecture, as it is really a subject in its own right. +- They are especially interested in promoting the engagement of students with + the Open Source world, since having newer developers involved can really push + software development in interesting directions. +** How they get people to involve themselves +- They have Firefox as a primary codebase, and seek code bugfix contributions + from students. +- Original code contributions are sought as well, but those would be from people + who've been involved with the community for some time, or are exceptionally + talented. +- Thus far only one student taking this module has been asked to make an + original code contribution. +- Accordingly, this is the hardest form of contribution, receives the highest + grade, is the most valuable in terms of post graduation CV usage and is the + least taken by students due to the level of challenge it represents. +** +- As well as having an active online community and a mentored bug fixing scheme + that I've not found elsewhere in the Open Source world, Mozilla also hold + yearly Expos where developers, companies and students can meet. +- In the past we've taken students to the one in London. +** +- Mozilla have a huge amount of documentation that requires revision and + checking, so one of the assessment routes for this module is to do this. +- *HOWEVER* in the past this has led to some truly awful content being uploaded + to the Mozilla wiki pages in the last week, and the students responsible + losing most of their grades as a result, so we are no longer allowing students + to simply launch into wiki editing unmonitored. +- The exact details of the assessment process will be covered in the assessment + session, which will also be available online. There will also be opportunity + for you to post questions in the relevant Teams forum. + + + + + +** Obligatory XKCD +file:img/image.png +- Copyright: +- Mirrored to avoid bandwidth stealing +** Licence for this work +- Licensed under Creative Commons Attribution-ShareAlike 4.0 + International by Dr Carey Pridgeon 2016 +- (Licence does not cover linked images owned by other content creators) diff --git a/20-21/Lectures/base.org b/20-21/Lectures/base.org new file mode 100644 index 0000000..96213c9 --- /dev/null +++ b/20-21/Lectures/base.org @@ -0,0 +1,29 @@ +# -*- mode: org -*- +#+TITLE: Lecture the Onthe: +#+AUTHOR: Dr Carey Pridgeon, Dr Nazaraf Shah +* setup :noexport: +#+OPTIONS: reveal_center:t reveal_progress:t reveal_history:t reveal_control:t +#+OPTIONS: reveal_mathjax:t reveal_rolling_links:t reveal_keyboard:t reveal_overview:t num:nil +#+OPTIONS: reveal_width:1200 reveal_height:800 +#+OPTIONS: toc:nil num:nil H:2 ^:{} +#+REVEAL_MARGIN: 0.2 +#+REVEAL_MIN_SCALE: 0.5 +#+REVEAL_MAX_SCALE: 2.5 +#+REVEAL_TRANS: none +#+REVEAL_THEME: simple +#+REVEAL_HLEVEL: 999 +#+REVEAL_EXTRA_CSS: css/presentation.css +#+REVEAL_ROOT: https://cdn.jsdelivr.net/reveal.js/3.0.0/ +#+STARTUP: showeverything +# Licenced under Creative Commons Attribution-ShareAlike 4.0 +# International by Dr Carey Pridgeon 2020 +* Base +** +** Obligatory XKCD +file:img/image.png +- Copyright: +- Mirrored to avoid bandwidth stealing +** Licence for this work +- Licensed under Creative Commons Attribution-ShareAlike 4.0 + International by Dr Carey Pridgeon 2016 +- (Licence does not cover linked images owned by other content creators) diff --git a/20-21/Lectures/css/presentation.css b/20-21/Lectures/css/presentation.css new file mode 100644 index 0000000..903833c --- /dev/null +++ b/20-21/Lectures/css/presentation.css @@ -0,0 +1,25 @@ + +img, a {border:none, outline: none;} + +.reveal table th, .reveal table td { + text-align: center; + border: 1px solid white; +} + +.reveal pre { + width: 100%; + border: none; + box-shadow: none; +} + +.main .row img { + display: inline-block; + border: 0px; + background-color: transparent; +} + +.noborder .reveal section img { + background:none; + border:none; + box-shadow:none; + } \ No newline at end of file diff --git a/20-21/Lectures/img/Netscape_Navigator_2_Screenshot.png b/20-21/Lectures/img/Netscape_Navigator_2_Screenshot.png new file mode 100644 index 0000000..051e01d Binary files /dev/null and b/20-21/Lectures/img/Netscape_Navigator_2_Screenshot.png differ diff --git a/20-21/Lectures/img/Richard_Stallman.jpg b/20-21/Lectures/img/Richard_Stallman.jpg new file mode 100644 index 0000000..7939308 Binary files /dev/null and b/20-21/Lectures/img/Richard_Stallman.jpg differ diff --git a/20-21/Lectures/img/empire.jpg b/20-21/Lectures/img/empire.jpg new file mode 100644 index 0000000..fb37130 Binary files /dev/null and b/20-21/Lectures/img/empire.jpg differ diff --git a/20-21/Lectures/img/image.png b/20-21/Lectures/img/image.png new file mode 100644 index 0000000..43cbba1 Binary files /dev/null and b/20-21/Lectures/img/image.png differ diff --git a/20-21/Lectures/lecture the Onthe.html b/20-21/Lectures/lecture the Onthe.html new file mode 100644 index 0000000..9ec1ab9 --- /dev/null +++ b/20-21/Lectures/lecture the Onthe.html @@ -0,0 +1,232 @@ + + + + +Lecture the Onthe: + + + + + + + + + + + + +
+
+

Lecture the Onthe:

Dr Carey Pridgeon, Dr Nazaraf Shah

Created: 2020-05-27 Wed 13:42

+
+
+
+

What is Open Source and why is it being taught as a module?

+
    +
  • I'll get to what it is soon, but first, let's get a few things out of the way +that keep coming up year on year.
  • +
  • This is a final year module, as such it will be more difficult than those +you've done before.
  • +
  • It's been designed to give you the opportunity to begin building an Open +Source portfolio before graduation.
  • + +
+
+
+
+
+

+
    +
  • There is a component of this module where you can contribute work to Mozilla, +an Open Source Foundation.
  • +
  • However you can only do this after after demonstrating the capability of +submitting work of sufficient quality.
  • +
  • If you can't achieve this, you won't be allowed to, and will need to +do work which automatically attracts a lower grade (which I will explain when +I discuss the portfolio).
  • + +
+
+
+
+
+

+
    +
  • To be clear, nothing is preventing you from doing this higher graded work to +Mozilla if you produce work to the standard they set, but it requires more +commitment and approval from a member of the module team.
  • +
  • This is not stuff that can be left till the last week. Ideally we need to +be approved to begin before the module has passed its fifth week. Anything +after that means that even with approval your eventual portfolio is likely to +be insufficient to obtain a decent grade.
  • + +
+
+
+
+
+

Open Source

+
    +
  • Ostensively it began as a movement to share the source code for software +around forty years ago, although the fundamental ideas behind this were far +older, and too much for this initial lecture.
  • +
  • When the modern computing era began, which for the purposes of this narrative +we will set at around 1965, when Gordan Moore wrote his influential article on +increasing transistor density in Electronics Weekly, software wasn't +considered to be especially valuable as a product in its own right.
  • + +
+
+
+
+
+

+
    +
  • Instead it was the hardware which held the value, with each having their own +incompatible operating system initially.
  • +
  • Unix was then developed in 1970 by AT&T by Denis Richie Ken Thompson and Brien +Kernighan (of C and the White Book fame) and widely distributed without cost +under the first free software licence, the MIT Licence, which is still in use +today and has almost no restrictions.
  • + +
+
+
+
+
+

+
    +
  • This opened the door for software to become something of value in itself, +which the larger, older corporations, such as HP, Hewlett-Packard and IBM +either didn't realise or were simple too large to move fast enough to +acknowledge.
  • +
  • Unix had the potential for any software written using it to run on any +computer, so these companies immediately started creating rival versions of +Unix, so their customers would be locked into their hardware again (Does this +not sound a little familiar?) Thus ruining the initial purpose of Unix.
  • + +
+
+
+
+
+

+
    +
  • But a company no-one had heard of called Apple started making computers that +businesses could buy and run without having to spend a fortune. Then, as now, +they weren't strictly the first, but they were the best, and they targeted +a market that the big Iron companies had always ignored, the home +user and small business owner. At least to start with, though they soon +expanded until they started to threaten even IBM.
  • +
  • IBM then made the deal that all but ended their dominence of the computing +world, although they still have a place in the HPC world today. They funded +Bill Gates to write them an operating system for their rival to the Apple Mac, +The IBM PC (an ironic name, since it was Steve Jobs who coined the term +Personal Computer and started saying PC).
  • + +
+
+
+
+
+

+
    +
  • Bizarrely they allowed Bill to sell MSDOS elsewhere. This decision meant when +they started licensing the design for their PC, in an effort to flood the +market and kill Apple and starting the PC clone boom in 1982 Microsoft were +able to rake in billions in licensing fees.
  • +
  • This meant there were now at least two mainstream, affordable computers on the +market which could do pretty much everything a developer needed, so this +kicked off the rise of home based software development, a trend which has +continued to this day. Creating Open Source, Free Software.
  • +
  • Almost all of the games you play were initially created in this era too, at least the first +versions of them were.
  • +
  • So there you have it, Microsoft and Apple were once the good guys who saved us from +vast corporations intent on holding computing back purely so they could make +money.
  • +
  • They're doing the same themselves now, but we'll get into that later….
  • + +
+ +
+
+
+
+

+ +
+

empire.jpg +

+
+
    +
  • Copyright: Jim Huss
  • +
  • Mirrored 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)
  • + +
+
+
+
+
+ + + + + + diff --git a/20-21/Lectures/lecture the Onthe.org b/20-21/Lectures/lecture the Onthe.org new file mode 100644 index 0000000..732791f --- /dev/null +++ b/20-21/Lectures/lecture the Onthe.org @@ -0,0 +1,102 @@ +# -*- mode: org -*- +#+TITLE: Lecture the Onthe: +#+AUTHOR: Dr Carey Pridgeon, Dr Nazaraf Shah +* setup :noexport: +#+OPTIONS: reveal_center:t reveal_progress:t reveal_history:t reveal_control:t +#+OPTIONS: reveal_mathjax:t reveal_rolling_links:t reveal_keyboard:t reveal_overview:t num:nil +#+OPTIONS: reveal_width:1200 reveal_height:800 +#+OPTIONS: toc:nil num:nil H:2 ^:{} +#+REVEAL_MARGIN: 0.2 +#+REVEAL_MIN_SCALE: 0.5 +#+REVEAL_MAX_SCALE: 2.5 +#+REVEAL_TRANS: none +#+REVEAL_THEME: simple +#+REVEAL_HLEVEL: 999 +#+REVEAL_EXTRA_CSS: css/presentation.css +#+REVEAL_ROOT: https://cdn.jsdelivr.net/reveal.js/3.0.0/ +#+STARTUP: showeverything +# Licenced under Creative Commons Attribution-ShareAlike 4.0 +# International by Dr Carey Pridgeon 2020 +* What is Open Source and why is it being taught as a module? +- I'll get to what it is soon, but first, let's get a few things out of the way + that keep coming up year on year. +- This *is* a final year module, as such it will be more difficult than those + you've done before. +- It's been designed to give you the opportunity to begin building an Open + Source portfolio before graduation. +** +- There is a component of this module where you can contribute work to Mozilla, + an Open Source Foundation. +- However you can only do this after after demonstrating the capability of + submitting work of sufficient quality. +- If you can't achieve this, you won't be allowed to, and will need to + do work which automatically attracts a lower grade (which I will explain when + I discuss the portfolio). +** +- To be clear, *nothing* is preventing you from doing this higher graded work to + Mozilla if you produce work to the standard they set, but it requires more + commitment and approval from a member of the module team. +- This is not stuff that can be left till the last week. Ideally we need to + be approved to begin before the module has passed its fifth week. Anything + after that means that even with approval your eventual portfolio is likely to + be insufficient to obtain a decent grade. +** Open Source +- Ostensively it began as a movement to share the source code for software + around forty years ago, although the fundamental ideas behind this were far + older, and too much for this initial lecture. +- When the modern computing era began, which for the purposes of this narrative + we will set at around 1965, when Gordan Moore wrote his influential article on + increasing transistor density in Electronics Weekly, software wasn't + considered to be especially valuable as a product in its own right. +** +- Instead it was the hardware which held the value, with each having their own + incompatible operating system initially. +- Unix was then developed in 1970 by AT&T by Denis Richie Ken Thompson and Brien + Kernighan (of C and the White Book fame) and widely distributed without cost + under the first free software licence, the [[https://opensource.org/licenses/MIThttps://opensource.org/licenses/MIT][MIT Licence]], which is still in use + today and has almost no restrictions. +** +- This opened the door for software to become something of value in itself, + which the larger, older corporations, such as HP, Hewlett-Packard and IBM + either didn't realise or were simple too large to move fast enough to + acknowledge. +- Unix had the potential for any software written using it to run on any + computer, so these companies immediately started creating rival versions of + Unix, so their customers would be locked into their hardware again (Does this + not sound a little familiar?) Thus ruining the initial purpose of Unix. +** +- But a company no-one had heard of called Apple started making computers that + businesses could buy and run without having to spend a fortune. Then, as now, + they weren't *strictly* the first, but they were the best, and they targeted + a market that the big Iron companies had always ignored, the home + user and small business owner. At least to start with, though they soon + expanded until they started to threaten even IBM. +- IBM then made the deal that all but ended their dominence of the computing + world, although they still have a place in the HPC world today. They funded + Bill Gates to write them an operating system for their rival to the Apple Mac, + The IBM PC (an ironic name, since it was Steve Jobs who coined the term + Personal Computer and started saying PC). +** +- Bizarrely they allowed Bill to sell MSDOS elsewhere. This decision meant when + they started licensing the design for their PC, in an effort to flood the + market and kill Apple and starting the PC clone boom in 1982 Microsoft were + able to rake in billions in licensing fees. +- This meant there were now at least two mainstream, affordable computers on the + market which could do pretty much everything a developer needed, so this + kicked off the rise of home based software development, a trend which has + continued to this day. Creating Open Source, Free Software. +- Almost all of the games you play were initially created in this era too, at least the first + versions of them were. +- So there you have it, Microsoft and Apple were once the good guys who saved us from + vast corporations intent on holding computing back purely so they could make + money. +- They're doing the same themselves now, but we'll get into that later.... + +** +file:img/empire.jpg +- Copyright: Jim Huss +- Mirrored to avoid bandwidth stealing +** Licence for this work +- Licensed under Creative Commons Attribution-ShareAlike 4.0 + International by Dr Carey Pridgeon 2016 +- (Licence does not cover linked images owned by other content creators) diff --git a/20-21/Lectures/licensing.html b/20-21/Lectures/licensing.html new file mode 100644 index 0000000..d077269 --- /dev/null +++ b/20-21/Lectures/licensing.html @@ -0,0 +1,438 @@ + + + + +Licensing + + + + + + + + + + + + +
+
+

Licensing

Dr Carey Pridgeon, Dr Nazaraf Shah

Created: 2020-05-29 Fri 13:23

+
+
+
+

Licensing

+
+
+
+
+
+
+

+
    +
  • In this lecture I'll take a quick overview of types of licences and software +classes, some of which may not have definite licence types associated with +them, or may be associated with more than one.
  • + +
+
+
+
+
+

+
    +
  • In Software, copyright is asserted via a license and including the name of the +author, or copyright holder. Failure to include these means the software is +unusable.
  • +
  • The spectrum of licences is rather large, Open Source covers just part of the +large domain within which licensed software is released without charge for +others to alter and redistribute.
  • +
  • In recent years it has become increasingly popular as a business model, after +languishing in relative obscurity for several decades from the point of view +of the wider business world.
  • + +
+
+
+
+
+

Types of Licence - Commercial Single Purchase

+
    +
  • As we're not including the software which came along with the big iron +provided before the Apple/Microsoft era, these were predominantly shelf ware +purchases (for normal users), or for corporations, bulk licence purchases +which included support contracts.
  • +
  • These were usually minimal to start with, but grew to be worth more than the +cost of the software, leading to high level tech support being one of the +highest paid jobs in Microsoft around 2010 as far as I'm aware this remains +the case. However since you would require a near encyclopaedic knowledge of +each of their products, it would be money well earned.
  • + +
+
+
+
+
+

Types of Licence - Commercial subscription Purchase

+
    +
  • While many people seem erroneously to believe this occurred as a response to +piracy, in fact it emerged due to larger companies, such as Microsoft, +struggling to compete in the marketplace with their own, previously released, +products.
  • +
  • Newer versions of Microsoft Office or Windows simply failed to interest +companies or individuals without much money to spend wo saw little benefit in +upgrading from what were often by then seen as stable products.
  • +
  • Windows has never been seen as stable even by people who are committed to +using it, but the upgrade process has always been so difficult many companies +simply refused.
  • + +
+
+
+
+
+

+
    +
  • Most of you will be familiar with subscription licensing from media and games +delivered by online services. This is exactly the same form of licensing, but +they vary in form from total ownership forever to lack of access once you stop +paying.
  • +
  • Most licensing of this type terminates access either on payments stopping +or when the period of licensing you buy comes to an end.
  • + +
+
+
+
+
+

Types of Licence - Shareware

+
    +
  • First used successfully by Apogee Software in the early 90's, (though other +people have claimed to create it, I'm following the rule of whoever succeeds +with something is the one I'll discuss), shareware allowed users to experience +to release partial versions of games for which users had to call and pay to +get the full version.
  • +
  • This proved so succesful when the first version of Doom (though not the first +game to use this model), was released in 1993, it changed the way games were +marketed forever, with the free shareware version being packaged and sold in +shops. My first PC game purchases were of shareware games, though I'd been +buying games for many years before then.
  • + +
+
+
+
+
+

+
    +
  • Too many factors led to the demise of shareware for me to cover in this +lecture, but as a model it worked well enough that we may see it re-emerge in +the future, as the episodic nature of many shareware games would be well +suited to the smaller developer, as most were when it was a popular model.
  • +
  • No general licence exists specifically to cover shareware, as it was +commercial software, one that ended some time ago (plus it was more a +marketing style), but I think it belongs in this discussion.
  • +
  • If revived to use for a modern software product, licensing would be a +complex task, as the software industry has matured somewhat.
  • + +
+
+
+
+
+

Types of Licence - Site Licence

+
    +
  • When a corporation, or to use a topical example, a university, needs software +to do a specific task, they will typically seek a vendor to provide them with +a site license.
  • +
  • Licenses like these are worth tens, if not hundreds of millions of pounds, +depending on the size of the customer.
  • +
  • Microsofts biggest profit maker is their Office devision, which again had its +previous version as its worst competitor. This may have forced their move to a +subscription model, but those have fast become an industry standard, so it's +hard to say.
  • + +
+
+
+
+
+

The Elephant in the Room Visual Studio Code

+
    +
  • About five years ago when I looked, Visual Studio Pro came in at over £6000 +per developer, which is a tad absurd. Now it's better, at £1,979.99, which is +better if you need a support package too.
  • +
  • But when equivalent toolchains are available free of charge, or at least for a lot +less, why would people pay so much?
  • +
  • Games developers and people who need those support contracts are stuck having +to use it, but Microsoft still wanted more people to use their stuff, so they +created VSCode.
  • +
  • With their newly discovered love for Open Source, what better way than to +release an MIT Licensed version of Visual Studio?
  • + +
+
+
+
+
+

+
    +
  • The problem is, they haven't really released it as an Open Source, (or given +the licence, a Free Softare product (I'll explain the difference between these +shortly), they've retained control of the finished product.
  • +
  • Plus Microsoft add in additional proprietary elements during the compilation +process.
  • +
  • In essence the binaries distributed by Microsoft are non-free, they just don't +cost anything.
  • +
  • The source code on github is released under the MIT license, but the +compiled binary is under what they describe as 'A Standard, Pre-Release +Microsoft License'.
  • +
  • You can compile it, but what you get won't match the official release, nor +will you know what's missing, because those parts are proprietary
  • + +
+
+
+
+
+

+
    +
  • I'm not sufficiently motivated to attempt compiling VSCode to investigate +this, but there is some justification for their stance.
  • +
  • As a large corporation still making its initial steps into the open source +world, one which they previously spent many years and millions of dollars +attacking and disrupting, it's understandable they would be cautious at this +point.
  • +
  • I suspect releasing the source code, but treating the binary as a separate +product is the best option in this case.
  • + +
+
+
+
+
+

Types of Licence - Public Domain

+
    +
  • This Licence that isn't a licence (except it is really) allows the use of the +works covered, in our case source code, without restriction.
  • +
  • This means it can be incorporated into another codebase, thus attributed to +another author, or sub-licensed into any other type of licence mentioned in +this lecture.
  • +
  • In order to be released as public domain, code must be explicitly stated as +being such, thus it has to be assigned a Public-domain-equivalent license.
  • +
  • There are several options available. Most people use the MIT option.
  • + +
+
+
+
+
+

Types of Licence - Creative Commons

+
    +
  • Created by Lawrence Lessig in 2001, Creative Commons is a user adjustable +licence, created to cover works ranging from software to art and engineering.
  • +
  • Users can select from a range of options, to give their project levels of +protection from near total freedom for others to use your work as they wish, +to retaining almost all control over the future use of your work.
  • +
  • The Creative Commons license is most often used by people who wish to continue +developing their work, and is generally used outside the field of programming, +to cover artwork, text, designs and such.
  • + +
+
+
+
+
+

Types of Licence - Unlicensed Code

+
    +
  • What if you don't bother, you've just written something, you're done with it, +and you want other people to use it.
  • +
  • Not a problem, put it on the web, other people use it, everything's fine, yes?
  • +
  • Not quite. Code without known origin, if used can be claimed later if the +original author turns out to be someone the code was taken from without +authorisation, along with ownership of any product it's in, and the profits +derived from that product.
  • +
  • The cost of stolen code is currently running into trillions of dollars.
  • + +
+
+
+
+
+

+
    +
  • Steve Jobs talked openly of stealing the work of other developers in the early +days of Apple, until his company became powerful, when he changed to being +hostile to people stealing from him.
  • +
  • Was the design for Microsoft's Windows visual interface stolen from Apple?
  • +
  • No evidence was uncovered, so far as I can find, of directly stolen code, and +the idea of patenting designs (which we will cover in a later lecture, had yet +to appear).
  • +
  • Plus, there were other similar interfaces beginning to appear around the same +time.
  • + +
+
+
+
+
+

Types of Licence - Free Software

+
    +
  • Created by Richard Stallman in 1989
  • + +
+ +
+

Richard_Stallman.jpg +

+
+
+
+
+
+

+
    +
  • The Free Software Foundation is ethically opposed to the monetisation of +Software.
  • +
  • Their primary licence, the GPL (GNU General Public License, or just General +Public License, depending on where you look, where GNU means GNU's Not Unix), +is designed to restrict any code covered by it to be easily included in any +commercial project.
  • +
  • In their own words 'The GNU General Public License is a series of widely used +free software licenses that guarantee end users the freedom to run, study, +share, and modify the software.'
  • + +
+
+
+
+
+

+
    +
  • Rather than just creating licences, the GPL 1, 2, 3, LGPL (which they have +attempted, unsuccessfully, to stop people using, as they realised too late it +granted too many rights), and the Affero GPL (created in response to the +emergence of Software as a Service, which the FSF, or rather, Stallman, don't +aprove of).
  • +
  • In spite of the restrictive nature of the GPL, a vibrant commercial ecosystem +started to emerge around free software.
  • +
  • This led to the FSF becoming hostile to those companies using its licences in +commercial enterprises, and thus, no clear leadership for the community as a +whole.
  • + +
+
+
+
+
+

Types of Licence - The Open Source Initiative

+
    +
  • Not a licence type as such, but a classifier of licenses, the The Open Source +Initiative was formed in 1998 by Eric S. Raymond, Bruce Perens, Michael +Tiemann in order to provide a more friendly face for developers using open +codebases to present to investors.
  • +
  • Producing no software themselves and funded by their member companies, they +promote the image of Open Source Software (a name chosen to be distinct from +Stallmans more difficult to understand 'Free Software').
  • +
  • More importantly, Open Source, having stepped away from this label, is more +easily able to talk long term support contracts.
  • + +
+
+
+
+
+

+
    +
  • Before this companies had solved the problem by branding themselves and +offering packaged support, but each had to keep solving the same problems on +their own.
  • +
  • Given they were all packaging the same products but selling different support +packages, this made little sense.
  • +
  • The Original software had always been available at no cost, but without the +support contracts and assurances offered by buying a licence, few large +companies were interested.
  • + +
+
+
+
+
+

Obligatory XKCD

+ +
+

image.png +

+
+
    +
  • Copyright:
  • +
  • Mirrored to avoid bandwidth stealing
  • + +
+
+
+
+
+

Licence for this work

+
    +
  • Licensed under Creative Commons Attribution-ShareAlike 4.0 +International by Dr Carey Pridgeon 2016
  • +
  • (Licence does not cover linked images owned by other content creators)
  • + +
+
+
+
+
+ + + + + + diff --git a/20-21/Lectures/licensing.org b/20-21/Lectures/licensing.org new file mode 100644 index 0000000..9aee3c6 --- /dev/null +++ b/20-21/Lectures/licensing.org @@ -0,0 +1,215 @@ +# -*- mode: org -*- +#+TITLE: Licensing +#+AUTHOR: Dr Carey Pridgeon, Dr Nazaraf Shah +* setup :noexport: +#+OPTIONS: reveal_center:t reveal_progress:t reveal_history:t reveal_control:t +#+OPTIONS: reveal_mathjax:t reveal_rolling_links:t reveal_keyboard:t reveal_overview:t num:nil +#+OPTIONS: reveal_width:1200 reveal_height:800 +#+OPTIONS: toc:nil num:nil H:2 ^:{} +#+REVEAL_MARGIN: 0.2 +#+REVEAL_MIN_SCALE: 0.5 +#+REVEAL_MAX_SCALE: 2.5 +#+REVEAL_TRANS: none +#+REVEAL_THEME: simple +#+REVEAL_HLEVEL: 999 +#+REVEAL_EXTRA_CSS: css/presentation.css +#+REVEAL_ROOT: https://cdn.jsdelivr.net/reveal.js/3.0.0/ +#+STARTUP: showeverything +# Licenced under Creative Commons Attribution-ShareAlike 4.0 +# International by Dr Carey Pridgeon 2020 +* Licensing +** +- In this lecture I'll take a quick overview of types of licences and software + classes, some of which may not have definite licence types associated with + them, or may be associated with more than one. +** +- In Software, copyright is asserted via a license and including the name of the + author, or copyright holder. Failure to include these means the software is + unusable. +- The spectrum of licences is rather large, Open Source covers just part of the + large domain within which licensed software is released without charge for + others to alter and redistribute. +- In recent years it has become increasingly popular as a business model, after + languishing in relative obscurity for several decades from the point of view + of the wider business world. +** Types of Licence - Commercial Single Purchase +- As we're not including the software which came along with the big iron + provided before the Apple/Microsoft era, these were predominantly shelf ware + purchases (for normal users), or for corporations, bulk licence purchases + which included support contracts. +- These were usually minimal to start with, but grew to be worth more than the + cost of the software, leading to high level tech support being *one of* the + highest paid jobs in Microsoft around 2010 as far as I'm aware this remains + the case. However since you would require a near encyclopaedic knowledge of + each of their products, it would be money well earned. +** Types of Licence - Commercial subscription Purchase +- While many people seem erroneously to believe this occurred as a response to + piracy, in fact it emerged due to larger companies, such as Microsoft, + struggling to compete in the marketplace with their own, previously released, + products. +- Newer versions of Microsoft Office or Windows simply failed to interest + companies or individuals without much money to spend wo saw little benefit in + upgrading from what were often by then seen as stable products. +- Windows has never been seen as stable even by people who are committed to + using it, but the upgrade process has always been so difficult many companies + simply refused. +** +- Most of you will be familiar with subscription licensing from media and games + delivered by online services. This is exactly the same form of licensing, but + they vary in form from total ownership forever to lack of access once you stop + paying. +- Most licensing of this type terminates access either on payments stopping + or when the period of licensing you buy comes to an end. +** Types of Licence - Shareware +- First used successfully by Apogee Software in the early 90's, (though other + people have claimed to create it, I'm following the rule of whoever succeeds + with something is the one I'll discuss), shareware allowed users to experience + to release partial versions of games for which users had to call and pay to + get the full version. +- This proved so succesful when the first version of Doom (though not the first + game to use this model), was released in 1993, it changed the way games were + marketed forever, with the free shareware version being packaged and sold in + shops. My first PC game purchases were of shareware games, though I'd been + buying games for many years before then. +** +- Too many factors led to the demise of shareware for me to cover in this + lecture, but as a model it worked well enough that we may see it re-emerge in + the future, as the episodic nature of many shareware games would be well + suited to the smaller developer, as most were when it was a popular model. +- No general licence exists specifically to cover shareware, as it was + commercial software, one that ended some time ago (plus it was more a + marketing style), but I think it belongs in this discussion. +- If revived to use for a modern software product, licensing would be a + complex task, as the software industry has matured somewhat. +** Types of Licence - Site Licence +- When a corporation, or to use a topical example, a university, needs software + to do a specific task, they will typically seek a vendor to provide them with + a site license. +- Licenses like these are worth tens, if not hundreds of millions of pounds, + depending on the size of the customer. +- Microsofts biggest profit maker is their Office devision, which again had its + previous version as its worst competitor. This may have forced their move to a + subscription model, but those have fast become an industry standard, so it's + hard to say. +** The Elephant in the Room Visual Studio Code +- About five years ago when I looked, Visual Studio Pro came in at over £6000 + per developer, which is a tad absurd. Now it's better, at £1,979.99, which is + better if you need a support package too. +- But when equivalent toolchains are available free of charge, or at least for a lot + less, why would people pay so much? +- Games developers and people who need those support contracts are stuck having + to use it, but Microsoft still wanted more people to use their stuff, so they + created VSCode. +- With their newly discovered love for Open Source, what better way than to + release an MIT Licensed version of Visual Studio? +** +- The problem is, they haven't *really* released it as an Open Source, (or given + the licence, a Free Softare product (I'll explain the difference between these + shortly), they've retained control of the finished product. +- Plus Microsoft add in additional proprietary elements during the compilation + process. +- In essence the binaries distributed by Microsoft are non-free, they just don't + cost anything. +- The source code on [[https://github.com/microsoft/vscode][github]] is released under the MIT license, but the + compiled binary is under what they describe as 'A Standard, Pre-Release + Microsoft License'. +- You *can* compile it, but what you get won't match the official release, nor + will you know what's missing, because those parts are proprietary +** +- I'm not sufficiently motivated to attempt compiling VSCode to investigate + this, but there is some justification for their stance. +- As a large corporation still making its initial steps into the open source + world, one which they previously spent many years and millions of dollars + attacking and disrupting, it's understandable they would be cautious at this + point. +- I suspect releasing the source code, but treating the binary as a separate + product is the best option in this case. +** Types of Licence - Public Domain +- This Licence that isn't a licence (except it is really) allows the use of the + works covered, in our case source code, without restriction. +- This means it can be incorporated into another codebase, thus attributed to + another author, or sub-licensed into any other type of licence mentioned in + this lecture. +- In order to be released as public domain, code must be explicitly stated as + being such, thus it has to be assigned a Public-domain-equivalent license. +- There are several options available. Most people use the MIT option. +** Types of Licence - Creative Commons +- Created by Lawrence Lessig in 2001, [[https://creativecommons.org/][Creative Commons]] is a user adjustable + licence, created to cover works ranging from software to art and engineering. +- Users can select from a range of options, to give their project levels of + protection from near total freedom for others to use your work as they wish, + to retaining *almost* all control over the future use of your work. +- The Creative Commons license is most often used by people who wish to continue + developing their work, and is generally used outside the field of programming, + to cover artwork, text, designs and such. +** Types of Licence - Unlicensed Code +- What if you don't bother, you've just written something, you're done with it, + and you want other people to use it. +- Not a problem, put it on the web, other people use it, everything's fine, yes? +- Not quite. Code without known origin, if used can be claimed later if the + original author turns out to be someone the code was taken from without + authorisation, along with ownership of any product it's in, and the profits + derived from that product. +- The cost of stolen code is currently running into trillions of dollars. +** +- Steve Jobs talked openly of stealing the work of other developers in the early + days of Apple, until his company became powerful, when he changed to being + hostile to people stealing from him. +- Was the design for Microsoft's Windows visual interface stolen from Apple? +- No evidence was uncovered, so far as I can find, of directly stolen code, and + the idea of patenting designs (which we will cover in a later lecture, had yet + to appear). +- Plus, there were other similar interfaces beginning to appear around the same + time. +** Types of Licence - Free Software +- Created by Richard Stallman in 1989 +file:img/Richard_Stallman.jpg +** +- The Free Software Foundation is ethically opposed to the monetisation of + Software. +- Their primary licence, the GPL (GNU General Public License, or just General + Public License, depending on where you look, where GNU means GNU's Not Unix), + is designed to restrict any code covered by it to be easily included in any + commercial project. +- In their own words 'The GNU General Public License is a series of widely used + free software licenses that guarantee end users the freedom to run, study, + share, and modify the software.' +** +- Rather than just creating licences, the GPL 1, 2, 3, LGPL (which they have + attempted, unsuccessfully, to stop people using, as they realised too late it + granted too many rights), and the Affero GPL (created in response to the + emergence of Software as a Service, which the FSF, or rather, Stallman, don't + aprove of). +- In spite of the restrictive nature of the GPL, a vibrant commercial ecosystem + started to emerge around free software. +- This led to the FSF becoming hostile to those companies using its licences in + commercial enterprises, and thus, no clear leadership for the community as a + whole. +** Types of Licence - The Open Source Initiative +- Not a licence type as such, but a classifier of licenses, the The Open Source + Initiative was formed in 1998 by Eric S. Raymond, Bruce Perens, Michael + Tiemann in order to provide a more friendly face for developers using open + codebases to present to investors. +- Producing no software themselves and funded by their member companies, they + promote the image of Open Source Software (a name chosen to be distinct from + Stallmans more difficult to understand 'Free Software'). +- More importantly, Open Source, having stepped away from this label, is more + easily able to talk long term support contracts. +** +- Before this companies had solved the problem by branding themselves and + offering packaged support, but each had to keep solving the same problems on + their own. +- Given they were all packaging the same products but selling different support + packages, this made little sense. +- The Original software had always been available at no cost, but without the + support contracts and assurances offered by buying a licence, few large + companies were interested. +** Obligatory XKCD + +file:img/image.png +- Copyright: +- Mirrored to avoid bandwidth stealing +** Licence for this work +- Licensed under Creative Commons Attribution-ShareAlike 4.0 + International by Dr Carey Pridgeon 2016 +- (Licence does not cover linked images owned by other content creators) diff --git a/20-21/Lectures/papers/Why Modern Open Source Projects Fail.pdf b/20-21/Lectures/papers/Why Modern Open Source Projects Fail.pdf new file mode 100644 index 0000000..d8f2cbe Binary files /dev/null and b/20-21/Lectures/papers/Why Modern Open Source Projects Fail.pdf differ diff --git a/20-21/Lectures/polymathy_and_open_source.org b/20-21/Lectures/polymathy_and_open_source.org new file mode 100644 index 0000000..5f81280 --- /dev/null +++ b/20-21/Lectures/polymathy_and_open_source.org @@ -0,0 +1,38 @@ +# -*- mode: org -*- +#+TITLE: 389COM: Polymathy and Open Source +#+AUTHOR: Dr Carey Pridgeon, Dr Nazaraf Shah +* setup :noexport: +#+OPTIONS: reveal_center:t reveal_progress:t reveal_history:t reveal_control:t +#+OPTIONS: reveal_mathjax:t reveal_rolling_links:t reveal_keyboard:t reveal_overview:t num:nil +#+OPTIONS: reveal_width:1200 reveal_height:800 +#+OPTIONS: toc:1 num:nil H:2 ^:{} +#+REVEAL_MARGIN: 0.2 +#+REVEAL_MIN_SCALE: 0.5 +#+REVEAL_MAX_SCALE: 2.5 +#+REVEAL_TRANS: none +#+REVEAL_THEME: night +#+REVEAL_HLEVEL: 999 +#+REVEAL_EXTRA_CSS: ../css/presentation.css +#+REVEAL_ROOT: http://cdn.jsdelivr.net/reveal.js/3.0.0/ +#+STARTUP: showeverything +# Licenced under Creative Commons Attribution-ShareAlike 4.0 +# International by Dr Carey Pridgeon 2019 +* Polymathy and Open Source +** Introducing some people with things in common + +** Exploration of Terms +- Polymath + + + + + + +** Obligatory XKCD +file:img/image.png +- Copyright: +- Mirrored 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) diff --git a/gitignore b/gitignore new file mode 100644 index 0000000..4e4e1d8 --- /dev/null +++ b/gitignore @@ -0,0 +1,2 @@ +.*~ +.tex \ No newline at end of file