IS1825 Multimedia Development for Internet Applications Lecture 09: Free and Open Source Software...

19
IS1825 Multimedia Development for Internet Applications Lecture 09: Free and Open Source Software Rob Gleasure [email protected] http://girtab.ucc.ie/rgleasure/index.html

Transcript of IS1825 Multimedia Development for Internet Applications Lecture 09: Free and Open Source Software...

Page 1: IS1825 Multimedia Development for Internet Applications Lecture 09: Free and Open Source Software Rob Gleasure R.Gleasure@ucc.ie .

IS1825 Multimedia Development for Internet ApplicationsLecture 09: Free and Open Source SoftwareRob Gleasure

[email protected]://girtab.ucc.ie/rgleasure/index.html

Page 2: IS1825 Multimedia Development for Internet Applications Lecture 09: Free and Open Source Software Rob Gleasure R.Gleasure@ucc.ie .

IS1825

This session Free Software and Open Source Motivations Licences

Page 3: IS1825 Multimedia Development for Internet Applications Lecture 09: Free and Open Source Software Rob Gleasure R.Gleasure@ucc.ie .

IS3321

Last session The Wisdom of Crowds

Wise Crowds vs Groupthink Introduction to Crowdsourcing

Today’s session Free Software and Open Source Motivations Licences

Page 4: IS1825 Multimedia Development for Internet Applications Lecture 09: Free and Open Source Software Rob Gleasure R.Gleasure@ucc.ie .

What is Open Source?

A video https://www.youtube.com/watch?v=Tyd0FO0tko8

Page 5: IS1825 Multimedia Development for Internet Applications Lecture 09: Free and Open Source Software Rob Gleasure R.Gleasure@ucc.ie .

Software as Proprietary

The ability to copyright software didn’t really exist until the 1980s, it was mostly just bundled with hardware (even the ability to patent software only emerged in the 1990s)

As a the potential for large software markets began to appear on the horizon, this began to come under question Bill Gates famously wrote in 1976

“As the majority of hobbyists must be aware, most of you steal your software. Hardware must be paid for, but software is something to share. Who cares if the people who worked on it get paid?... Who can afford to do professional work for nothing? What hobbyist can put 3-man years into programming, finding all bugs, documenting his product and distribute for free?”

Page 6: IS1825 Multimedia Development for Internet Applications Lecture 09: Free and Open Source Software Rob Gleasure R.Gleasure@ucc.ie .

Free as in ‘Speech’, not Free as in Beer Richard Stallman founded the Free Software Foundation (FSF) in

1980s to begin the Free and The Open Source Software (FOSS) movement

Four pillars1. Free to run the program as you wish, for any purpose2. Free to analyse and adapt how the program works3. Free to redistribute copies of your software4. Free to distribute copies of your modified versions to others

Stallman launched the “GNU's not Unix” (GNU) project to embody and facilitate this ideal

Page 7: IS1825 Multimedia Development for Internet Applications Lecture 09: Free and Open Source Software Rob Gleasure R.Gleasure@ucc.ie .

… Why?

Lower costs – people working on code for free means no need to pay (even proprietary software that expands OSS can’t really charge much without exceeding its value)

Continuity – living software, provided its useful, will always have a developer base, unlike commercial software where the owner may move on

Quality – peer review allows code to be constantly improved and updated (‘spotted a bug, fixed it’). It also means badly written code gets found out

Page 8: IS1825 Multimedia Development for Internet Applications Lecture 09: Free and Open Source Software Rob Gleasure R.Gleasure@ucc.ie .

… Why (continued)?

Democracy – no one can force an agenda that conflicts with the quality of the software

User-focus – often those developing the software will be eventual users

Adaptability – many projects ‘fork’ when the develop group is split on future development

Page 9: IS1825 Multimedia Development for Internet Applications Lecture 09: Free and Open Source Software Rob Gleasure R.Gleasure@ucc.ie .

From Free to Open Source

The Open Source Initiative launched in 1998 as a less ideologically-charged alternative to the FSF

Push towards pragmatism, i.e. encouraging open source projects because doing so serves the selfish interests of businesses and individuals

So why would a business make its code open?

Why would an individual work for free on someone else’s project?

Page 10: IS1825 Multimedia Development for Internet Applications Lecture 09: Free and Open Source Software Rob Gleasure R.Gleasure@ucc.ie .

Why Would a Business Give Away the Farm? Cost

Free work hours? Sure, go on then...

Brand Show off code developments to get techie points (think AirBnB)

Talent Watch Many strong contributors to projects get picked up

Relevance Many of today’s businesses know that technological innovations

come from those who may be outside the commercial arena

Page 11: IS1825 Multimedia Development for Internet Applications Lecture 09: Free and Open Source Software Rob Gleasure R.Gleasure@ucc.ie .

Why Would Talented Individuals Work Someone Else’s Farm for Free?Utility

The actual project may be something they want to see realised

Skills A place to practice and learn from programmers who are

otherwise out of reach

Reputation A chance to show off

Fun Getting to be part of a development where you get to choose

your contribution is relatively rare

Page 12: IS1825 Multimedia Development for Internet Applications Lecture 09: Free and Open Source Software Rob Gleasure R.Gleasure@ucc.ie .

When Goals Collide!

What if someone or some firm wants to build on the software for a proprietary project?

What if someone wants to patent/trademark some element of the design?

What if someone wants to make their contribution proprietary?

Page 13: IS1825 Multimedia Development for Internet Applications Lecture 09: Free and Open Source Software Rob Gleasure R.Gleasure@ucc.ie .

Licenses

From http://puzzles.com/puzzlesineducation/HandsOnPuzzles/OldClassicProblem.htm

Page 14: IS1825 Multimedia Development for Internet Applications Lecture 09: Free and Open Source Software Rob Gleasure R.Gleasure@ucc.ie .

Licenses

Hundreds of licences, e.g. The GNU General Public License (GPL)

By far the most popular ‘Copyleft’ - derivatives must be shared and stay GPL (no

mixing) GNU Lesser Public License (e.g. Mozilla, Eclipse)

Derivatives needn’t be shared, but those shared must keep license

MIT and The Berkeley Software Distribution License (BSD) Derivative works can be kept proprietary

Common Public Attribution License (BSD) Derivative must credit original OSS author/project

Page 15: IS1825 Multimedia Development for Internet Applications Lecture 09: Free and Open Source Software Rob Gleasure R.Gleasure@ucc.ie .

Coordination of a Crowd

Typically one person or group will launch a project and make a call to the crowd, e.g. on GitHub

A repository will then be set up to store development code

Bug trackers and a list of requirements are maintained

Developers add code targetting specific bugs or features, then commit code once they’re happy with it

Distributed revision control systems control the merging of changes from developers working concurrently

Page 16: IS1825 Multimedia Development for Internet Applications Lecture 09: Free and Open Source Software Rob Gleasure R.Gleasure@ucc.ie .

Examples: the Story of Linux

In 1991, an extended version of the GNU kernel was launched by a computer science student Linus Torvalds - this was called ‘Linux’

Linux was largely ignored by the consumer market, many of whom weren’t even aware there was an alternative to the Windows or Mac OS

Variants have always been a favourite of computer scientists, supercomputers, and web servers

The Linux kernel is now at the heart of the Android OS

From http://lwn.net/Articles/464317/

Page 17: IS1825 Multimedia Development for Internet Applications Lecture 09: Free and Open Source Software Rob Gleasure R.Gleasure@ucc.ie .

Examples: the Story of Netscape and Mozilla The leading web browser in the 1990s was Netscape Navigator, a

powerful browser, credited with developing important protocols and what remains the main client-side scripting language (JavaScript)

Before being bought out by AOL, Netscape released their source code to the Mozilla Organization, who open sourced the browser

Mozilla Firefox Still the second most popular browser Known for security and reliability Known for feature innovation Anyone can take part in ongoing development*

Page 18: IS1825 Multimedia Development for Internet Applications Lecture 09: Free and Open Source Software Rob Gleasure R.Gleasure@ucc.ie .

Some Things to Think About

We discussed in the last session four characteristics of a crowd that make it ‘wise’ Diversity Independence of Opinion Decentralisation Aggregation

What elements of FOSS make these characteristics easy/difficult to maintain?

Page 19: IS1825 Multimedia Development for Internet Applications Lecture 09: Free and Open Source Software Rob Gleasure R.Gleasure@ucc.ie .

Readings

Bill Gates’ letter in 1976 http://genius.com/Bill-gates-an-open-letter-to-hobbyists-

annotated http://opensource.org/history http://www.smashingmagazine.com/2013/12/27/open-sourcing-

projects-guide-getting-started/ http://eu.conecta.it/paper/Advantages_open_source_soft.html