Foundations of Software Engineering. Lecture 24: Open Source Claire Le Goues

Similar documents
Open Source Licensing: An Overview

Intro to FOSS. What is FOSS?

Free as in Freedom A step towards Software freedom. Salahaddin University By: Amanj Sherwany

Open Source Development

Ethics. Ethics. Ethics. Ethics. The issue of software ownership. The issue of software ownership. Programmers and the Hacker mentality.

History of Unix, Linux and the Open Source

Open Source Development. Ely Levy Yair Yarom

Is there an Open Source Business Model: YES or NO?

EWRG-CES. Bharath Setturu EWRG, CES, IISc

Topic 1- The Basic Knowledge of Open Source and Free Software

Open Source Software Licence at CERN Recommendations from the OSL Task Force François Fluckiger, Editor 20 April; 2012

INF5750. Open Source. University of Oslo Department of Informatics

The Cathedral and the Bazaar

Linux Applications and Software Licensing. Linux System Administration COMP2018 Summer 2017

This slide is relevant to providing either a single three hour training session or explaining how a series of shorter sessions focused on per chapter

Peer Participation and Software

Community vs. Enterprise: How not to piss off your community (and still be profitable)

IoT & Open Source. Martin von Haller Groenbaek Partner, Copenhagen LES SCANDINAVIA: INTERNET OF THINGS & IP SEMINAR 25 November 2015

ComSpOC: 3D Buildings:

Independent implementations of an interface

IT Project Management Challenges with Open Source. George A Pace

The Effects of Open Source License Choice on Software Reuse

Corporate/Open Source Community Relationships: The OpenZFS Example

Open Source for Fun and Profit

OPEN SOURCE SOFTWARE

Introduction to Operating Systems. Note Packet # 1. CSN 115 Operating Systems. Genesee Community College. CSN Lab Overview

R E A D C L E A N C O D E : A H A N D B O O K O F S O F T W A R E C R A F T S M A N S H I P. C H A P T E R S 2 A N D 4.

ONLINE EVALUATION FOR: Company Name

Leveraging Open Source Software

Stakeholder value, usage, needs and obligations from differnet types of F/LOSS licenses

HKG18-TR01: Open Source Philosophy. Daniel Lezcano

FOSSology Project Information

Considerations for Trademarks, Nomenclature and FLOSS Communities

Open Source Used In Cisco Configuration Professional for Catalyst 1.0

The Eclipse Foundation The Symbian Foundation

Frequently Asked Questions- Communication, the Internet, Presentations Question 1: What is the difference between the Internet and the World Wide Web?

Red Hat And the Five Forces Model:

Lecture #1 4 th Year M.Sc. Dina Rafaa Ahmed

Case Study. CMS for Management of Monetization Training Resources

SEO Get Google 1 st Page Rankings

OPEN SOURCE SOFTWARE A Tool for Digital Transformation in the Broadcasting Industry

ICGI Recommendations for Federal Public Websites

Oracle Cloud Using Oracle Cloud Marketplace

Open Source Legality Patterns

Business Hacks to grow your list with Social Media Marketing

Website Designs Australia

Introducing: Free/Open Source Software Distributed Systems Real Time Systems and Multimedia Systems

Ensuring continuity and open collaboration in the MariaDB ecosystem

Eclipse Foundation. Provenance and Licensing Considerations. Eclipse IP Team November 2008

Characteristics include Users as co-developers Bazaar Model Projects start with personal problems to solve Users debug systems many eyes make bugs sha

Strategies That Work

Linux operating system

Open Source Software at. by Dr. Thomas Wiecki

Adventures in Drupalia

Russell Doty Red Hat

OSSLI: Architecture Level Management of Open Source Software Legality Concerns

CISO Success Strategies: On Becoming a Security Business Leader

Defining Computer Security Incident Response Teams

MUG NNAPLES MACFRIENDS USER GROUP

GDPR & FOSS. Marc Jones CIPP/US, CISSP Compliance Engineer & In-House Counsel

MailChimp Basics. A step by step guide to MailChimp Course developed by Virginia Ridley

Campaign Goals, Objectives and Timeline SEO & Pay Per Click Process SEO Case Studies SEO, SEM, Social Media Strategy On Page SEO Off Page SEO

r ^ '- v"?: Introductory Approach Open Source Hardware: An "'"a llap LAMBERT Pcwtha Pratim Ray Rebika Rai Academic Publishing

Manage quality processes with Bugzilla

ISSUSE AND FEATURES TO CONSIDER WHEN SELECTING A BLOCKCHAIN SYSTEM. Find us at

Lesson 2 Analysing Your Online Presence

Chapter-16 INTERNET AND OPEN SOURCE CONCEPTS

About This Guide. and with the Cisco Nexus 1010 Virtual Services Appliance: N1K-C1010

VETS FIRST CHOICE PRIVACY POLICY FOR PARTICIPATING VETERINARY PRACTICES

Taxonomy for Open Source Software Development

This Event Is About Your Internet Presence.

(5) Affiliation (10) XML (15) Web Augmentation (20) Gateways. (4) Kernel (9) ES test (14) SSL. (1) Portal (6) EDI (11) Web Directories (16) W3C

How to get your Release Through the Incubator

Free & Open Source Software: The Academic Future

WEB DESIGN & DEVELOPMENT

Getting Started (No installation necessary) Windows On Windows systems, simply double click the AntGram icon to launch the program.

History and Backgound: Internet & Web 2.0


How to Promote. your Dental Practice with Digital Marketing

CS 360. Tools and Process. Communication. Development. CS360 Pacific University 1 08/31/16

Tactic 12: Pinterest Tips

Cracking the code on an IT career

Red Hat Application Migration Toolkit 4.0

The Penguin and the Droid

Rationale for the Evolution of the EUPL v1.1 (towards the EUPL v 1.2)

Vulnerability disclosure

Healthfirst Website Privacy Policy

<Insert Picture Here> Introduction to MySQL

JBoss Enterprise Middleware

Computer Software. c 2016 by David W. Gerbing. School of Business Administration Portland State University

The basic knowledge of open source and free software- Topic 1 & OSS in perspective- Topic 2. Parastoo Mohagheghi, 26 August 2010.

INTRODUCTION. In this guide, I m going to walk you through the most effective strategies for growing an list in 2016.

ORACLE SERVICES FOR APPLICATION MIGRATIONS TO ORACLE HARDWARE INFRASTRUCTURES

Tool Repositories, ESCHER and continuing the legacy of the CHESS ITR

Social Computing Systems

Training and Certifying Security Testers Beyond Penetration Testing

The Power of Partnership

The famous case of Netscape

git-pr Release dev2+ng5b0396a

Smart SEO Tactics. For Small & Local Businesses

Transcription:

Foundations of Software Engineering Lecture 24: Open Source Claire Le Goues 1

Learning goals Understand the terminology free software and explain open source culture and principles. Express an educated opinion on the philosophical/political debate between open source and proprietary principles. Reason about the tradeoffs of the open source model on issues like quality and risk, both in general and in a proprietary context. 2

Motivation to understand open source. Companies work on open source projects. Companies use open source projects. Companies are based around open source projects. Principles percolate throughout industry. Political/philosophical debate, and being informed is healthy. 3

Quick and easy definitions Proprietary software software which doesn t meet the requirements of free software or open source software Free software software with a strong emphasis on user rights Open source software software where the source code is shared with the community Does Free Software = Open Source? 4

Free as in free speech. 5

6

Stallman vs. Gates 7

Free Software vs Open Source Free software origins (70-80s ~Stallman) Political goal Software part of free speech free exchange, free modification proprietary software is unethical security, trust GNU project, Linux, GPL license Open source (1998 ~ O'Reilly) Rebranding without political legacy Emphasis on internet and large dev./user involvement Openness toward proprietary software/coexist (Think: Netscape becoming Mozilla) 8

The Cathedral and the Bazaar 9

The Cathedral and the Bazaar Cathedral (closed source) Top-down design with focus on planning Bazaar (open source) Organic bottom-up movement Code always public over internet Linux/Fetchmail stories Eric Raymond. Essay 1997 10

The Cathedral and the Bazaar Lessons (selection) Every good work of software starts by scratching a developer's personal itch To solve an interesting problem, start by finding a problem that is interesting to you Release early, release often Given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix obvious to someone The next best thing to having good ideas is recognizing good ideas from your users. Sometimes the latter is better. Eric Raymond. Essay 1997 11

Open Source Teams Potentially open for everybody Process to vet contributions Typically many contributors but small core teams 12

Apache Study Herbsleb, CMU 13

Social Coding Github, Bitbucket, etc. Add social networking features to coding Follow users Watch repositories Allows team structure to emerge as opposed to previous planning 14

How do open source programs make money? Red Hat revenues of about $2 Billion last year and is worth approximately $15 Billion. Mozilla has revenues of $300 Million annually Apache Software Foundation recent revenue of $1 Million 15

Open Source Business Models Open source as hobby; resume building Selling support/expertise instead of software RedHat Selling complementary services Wordpress Developers hired as consultants, for extensions 16

Other Open Source Business Models Companies dedicate resources to projects which help them and the community Apache receives donations Selling merchandise Canonical (Ubuntu) Selling advertising or customer traffic Mozilla 17

Quality?! There are no technical requirements for the plugins aside from them being able to be installed on a fresh Eclipse platform. We leave it to the community to find and report bugs related to technical features and conflicts. -Eclipse Marketplace, Dec 2014 18

Open Source Famous Phrases Linus s Law - Many eyes make all bugs shallow Collaboration over Competition is open source code of higher quality? How would we be able to tell? 19

A Case Study of Open Source Software Development: The Apache Server Measure Apache Proprietary System A Post-release defects/kloca Post-release defects/kdelta Post-feature test Defects/KLOCA Post-feature test Defects/KLOCA Proprietary System C 2.64 0.11 0.1 0.7 40.8 4.3 14 2.8 2.64 * 5.7 6.0 40.8 * 164 196 Proprietary System D 20

Coverity Report of Open Source Only tested programs which use Coverity Defect density: defects per 1,000 lines Average defect density of 0.69 for open source and 0.68 for proprietary software, surpassing the industry standard of 1 or less Defect Density Based on Size 500,000-1,000,000 (LOC) Proprietary 0.98 0.44 1,000,000+ (LOC) 0.66 0.75 Open Source [Coverity, 2012, http://www.coverity.com/press-releases/annual-coverityscan-report-finds-open-source-and-proprietary-software-quality-betterthan-industry-average-for-second-consecutive-year/] 21

Two years later In 2014, open source defect density went down to 0.61 from 0.69 in 2012 Proprietary defect density went up to 0.76 from 0.68 in 2012 verdict? 22

OPEN SOURCE IN A PROPRIETARY CONTEXT (BENEFITS VS. RISK) 23

https://www.tesla.com/blog/all-our-patent-are-belong-you 24

Hilarious irony 25

https://mailman.cs.umd.edu/pipermail/findbugs-discuss/2016- November/004321.html 26

27

Open SSL/Heartbleed. In 2013, OpenSSL made $2,000 in donations (and some from other sources) One full time programmer Heartbleed (2014): Vulnerability was found that effected about 17.5% of web servers (half a million) Used by Yahoo, Twitter, Google Who is responsible? 28

Case Study: OpenSSL When HeartBleed occurred, Google reported the bug and later submitted a patch After the HeartBleed bug, more than 17 companies agreed to each contribute $100,000 annually for 3 year to the Core Infrastructure Initiative. Core Infrastructure Initiative distributes funds to needy but important projects 29

Bug Bounties Facebook, Google, Yahoo, Microsoft, and other companies have rewards for finding bugs and reporting them Usually $100 or more for simple bugs and higher rewards for more serious bugs Bounties can save the company from malicious exploits, which can cost the company much more. Ponemon Institute reports average cost of $3.79 million per company data breech (2014) 30

Risks of not open sourcing something? 31

Proprietary methods to gain community benefits Release early, release often; Continuous or small updates instead of big version changes Many eyes make all bugs shallow Recognize good ideas from your users. Collaboration over competition Promote users to report bugs and monitor new releases (easier if using software as a service) Allow users to write mods for the product (usually in a controlled way) or promote feature requests 32

ONE MORE RISK IN PROPRIETARY CONTEXT: LICENSES 33

Why learn about licenses? Companies will avoid certain licenses commonly the copyleft licenses Specific licenses may provide competitive advantages You may eventually want to release open source software or become more involved in an open source project 34

List from: https://www.blackducksoftware.com/resources/data/top-20-open-sourcelicenses 35 Open Source Licenses Software MIT License 24% GNU General Public License (GPL) 2.0 23% Apache License 2.0 16% GNU General Public License (GPL) 3.0 9% BSD License 2.0 (3-clause, New or Revised) License GNU Lessor General Public License (LGPL) 2.1 Percentage 6% 5% Artistic License (Perl) 4% GNU Lesser General Public License (LGPL) 3.0 2% Microsoft Public License 2% Eclipse Public License 2%

GNU General Public License: The Copyleft License Nobody should be restricted by the software they use. There are four freedoms that every user should have: the freedom to use the software for any purpose, the freedom to change the software to suit your needs, the freedom to share the software with your friends and neighbors, and the freedom to share the changes you make. Code must be made available Any modifications must be relicensed under the same license (copyleft) 36

GPL 2.0 and 3.0 Addresses free software problems 2.0 - Court ruling cannot nullify the license and if a court decision and this license contradict in distribution requirements, then the software cannot be distributed 3.0 patent grant and prevent Tivoization Not compatible with each other; Can t copyleft both at the same time phrase: GLP Version 3 or any later version 37

Why would projects choose one license over another? [From http://choosealicense.com/licenses/] 38

Dual License Business Model Released as GPL which requires a company using the open source product to open source it s application Or companies can pay $2,000 to $10,000 annually to receive a copy of MySQL with a more business friendly license 39

Risk: Incompatible Licenses Sun open sourced OpenOffice, but when Sun was acquired by Oracle, Oracle temporarily stopped the project. Many of the community contributors banded together and created LibreOffice Oracle eventually released OpenOffice to Apache LibreOffice changed the project license so LibreOffice can copy changes from OpenOffice but OpenOffice cannot do the same due to license conflicts 40

MIT License Must retain copyright credit Software is provided as is Authors are not liable for software No other restrictions 41

LGPL Software must be a library Similar to GPL but no copyleft requirement 42

BSD License No liability and provided as is. Copyright statement must be included in source and binary The copyright holder does not endorse any extensions without explicit written consent 43

Apache License Apache Similar to GPL with a few differences Not copyleft Not required to distribute source code Does not grant permission to use project s trademark Does not require modifications to use the same license 44

Perception: Anarchy Demagoguery Ideology Altruism Many eyes 45

Open Source Reality Aggressive collaborative tool use version control, CI, issue tracker, reviews, Careful management of people Process rigor Often aimed at expert users Intellectual property Often industry supported Often addressing common assets 46