HKG18-TR01: Open Source Philosophy. Daniel Lezcano

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

Open Source Development

History of Unix, Linux and the Open Source

Taxonomy for Open Source Software Development

Aurelien Jarno 03/04/2006 CRAL. The Debian Project. Aurelien Jarno. What is Debian? Organisation. The Debian.

OPEN SOURCE SOFTWARE

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

Understanding the Open Source Development Model. » The Linux Foundation. November 2011

TPF Update TPF Users Group, Acapulco May 2004

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

Russell Doty Red Hat

Intro to FOSS. What is FOSS?

SOFTWARE CONFIGURATION MANAGEMENT

The Anatomy of A FOSS Project

Linux operating system

Open Source Legality Patterns

Peer Participation and Software

Open Source Development. Ely Levy Yair Yarom

COPYRIGHTED MATERIAL. What Is Linux? Linux History. Linux as an Operating System. Linux as Free Software. Commercial Applications for Linux

What is git? Distributed Version Control System (VCS); Created by Linus Torvalds, to help with Linux development;

The Cathedral and the Bazaar

The Eclipse Foundation The Symbian Foundation

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

Team Up: Contributing to the Tizen Platform. Narasimha Swamy Sanjay NM

MONTHLY TEST MAY 2017 QUESTION BANK FOR AVERAGE STUDENTS. Q.2 What is free software? How is it different from Open Source Software?

The Effects of Open Source License Choice on Software Reuse

Free & Open Source Software: The Academic Future

Linux operating system libre, free: how and why. Dobrica Pavlinušić PBF,

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

CUBE. Configuration Management Report. Hakan Nizamoğlu Yiğitalp Ertem Murat Toprak Saim Güveloğlu

Chapter 7 Design and Implementation

Delivering Effective Solutions in the Age of Open Source Technology

Systems Programming. The Unix/Linux Operating System

Ensuring continuity and open collaboration in the MariaDB ecosystem

Contribute To Linux Mainline

CS 378 (Spring 2003) Linux Kernel Programming. Yongguang Zhang. Copyright 2003, Yongguang Zhang

TX20 Memory. Following professor: Eric Bachard. Subject: Contributions to the Education project, OpenOffice.org

CLOSE ENCOUNTERS OF THE UPSTREAM RESOURCE

contribution-guide.org Release

Getting Things GNOME! Documentation

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

CS108 Software Systems: UNIX. Fall 2011

Are you Really Helped by Upstream Kernel Code?

DIN EN ISO 9001:2000 certified ADDI-DATA GmbH Dieselstraße 3 D OTTERSWEIER Technical support: +49 (0)7223 / Introduction Linux drivers

Workshop on Open Source Hardware Development Tools and RISC-V

Thorough, Safe and Secure. Security Lab. and the OSSTMM. Joerg Simon.

The Embedded Linux Problem

Git Workflows. Sylvain Bouveret, Grégory Mounié, Matthieu Moy

Survey of Studies Development Plan (SDP) and Subject Matter Expert (SME) Process and Products. July 11, 2016

Laboratorio di Programmazione. Prof. Marco Bertini

a story of alternatives

Logiciel Libre TP 1 Project Presentation

Spring Modern Computer Science in a Unix Like Environment CIS c

Quagga. AS4 support for Quagga bgpd

Linux with Biology in IT

Open Enterprise & Open Community opensuse & SLE Empowering Each Other. Richard Brown opensuse Chairman

EWRG-CES. Bharath Setturu EWRG, CES, IISc

Leveraging Open Source Software

Aurelien Jarno 26/02/2006 FOSDEM. Debian GNU/kFreeBSD. Aurelien Jarno. What? Why? Status. The future. How to help?

README for X11R7.5. The X.Org Foundation 1. October 2009

B. V. Patel Institute of Business Management, Computer Information Technology 2015

Mingw-w64 and Win-builds.org - Building for Windows

Ubuntu Development Primer

Online Remote Repositories

Canonical, Ubuntu, FOSS and The Community. Hugh Blemings, Manager, Ubuntu Hardware Enablement Team Coscup Taipei, August 2009

The Joy of Software Development

The Cost of Going it Alone Dave Neary

R&D PROJECTS APRIL Networking, Services. Janina Garrigós A. Santoyo, J.C. Castro and J.M. Colomé

Welcome to ULI101! The Internet has become part of our daily lives.

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

Today s presentation. Git gdb Project 1

State of Octave. John W. Eaton. OctConf July John W. Eaton GNU Octave 18 July / 14

Request for Proposal for Technical Consulting Services

Software configuration management

Request For Proposal ONWAA Website & E-Learn Portal

European Union Agency for Network and Information Security

Introduction to Open Source. Marco Zennaro Carlo Fonda

Maintenance Plan MAINTENANCE PLAN JOLA USA. 68 Jay Street Brooklyn, New York JolaUSA.com.

Careers with GNU/Linux

COMP1917: Computing 1 1. Introduction

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

manifold Documentation

COMP1917: Computing 1 1. Introduction

Continuous Integration / Continuous Testing

Arch Linux. The Linux That Could Have Been. The concepts of distributions and flavors is perhaps one of the most unique things

Elivepatch Flexible distributed Linux Kernel live patching. Alice Ferrazzi

Frédéric Crozat SUSE Linux Enterprise Release Manager

Git and GitHub. Dan Wysocki. February 12, Dan Wysocki Git and GitHub February 12, / 48

Unix to Linux. CS 3113 Fall 2018 Dr. Christan Grant

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

Open Source Software. International Open Access Week at the

1. Introduction. Course Web Site. COMP1917: Computing 1. Textbook. Occupational Health and Safety (OHS)

GREEN DEFENCE FRAMEWORK

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

Version Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 17, 2018

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

Lab 08. Command Line and Git

Introduction to Linux

(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

Bozen, 26th November 2007 Patrizia Boccacci DISI-University of Genoa

Transcription:

HKG18-TR01: Open Source Philosophy Daniel Lezcano

What is Open Source? Open Source is not Free Software Richard Stallman : Open source is a development methodology; free software is a social movement. [1] Important to understand the difference, let s do some history [1] https://www.gnu.org/philosophy/open-source-misses-the-point.en.html

Open Source Origin 60 s Computer with their own OS Source code provided on request

Open Source Origin 60 s Computer with their own OS Source code provided on request 70 s OS contract law model

Open Source Origin 60 s Computer with their own OS Source code provided on request 70 s OS contract law model 80 s Access to source code restricted by vendors 1984: rise of the Free Software project GNU 1985: Free Software Foundation

Open Source Origin 60 s Computer with their own OS Source code provided on request 70 s OS contract law model 80 s 90 s Access to source code restricted by vendors 1990 : GNU project: most of the software are done but the kernel is missing 1984: rise of the Free Software project GNU 1985: Free Software Foundation 1991 : Linux kernel project started 1998 : Creation of the OSI

Open Source Origin 60 s Computer with their own OS Source code provided on request 70 s OS Licensing model 80 s 90 s Access to source code restricted by vendors 1990 : GNU project: most of the software are done but the kernel is missing 1984: rise of the Free Software project GNU 1985: Free Software Foundation 1991 : Linux kernel project started 1998 : Creation of the OSI 2000+ GNU/Linux Widely used Interest from the industry

Open Source origin GNU/Linux widely used nowadays [1] Market share Desktop / laptop 2.18 % Mobile + table 63.31 % Server 36.72 % Mainframe [1] 28 % Super computer 99.79 % Embedded 29.44 % https://en.wikipedia.org/wiki/usage_share_of_operating_systems

Open Source origin Free Software philosophy opposed to industry goals In 1998, creation of the OSI OSI : Open Source initiative https://opensource.org

Open Source Initiative Promotes Open Source in the industry Oriented to business cases Unification of the licenses based on Debian Free Software Guidelines OSI label for software when it fulfills 10 OSS criterias Open Source licences are approved by OSI

Open Source Initiative OSI criterias[1] 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. [1] Free Redistribution Source Code Derived Works Integrity of The Author's Source Code No Discrimination Against Persons or Groups No Discrimination Against Fields of Endeavor Distribution of License License Must Not Be Specific to a Product License Must Not Restrict Other Software License Must Be Technology-Neutral https://opensource.org/osd-annotated

OSI and FSF OSI and FSF share a common culture Goals and philosophy differ Open software and hacking FSF : free in every sense of the term OSI: give the opportunity to industry to understand Open Source OSI helps to introduce Free Software for industry evangelizes open-source principles

Licenses Open Source projects have a license to share the code GPL : GNU General Public License If a software uses GPL code, it turns into a GPL licensed software Protects the end-user letting him to access the source code LGPL : GNU Lesser General Public License GPL and LGPL The same as GPL except for the headers. Allows to use libraries, eg. libc Up to lawyers to explain what are these licenses in details

Summary Open code exists since the earliest moments of computer programming: programmers wrote the code for their own use and often shared it with other programmers trying to solve the same problems Licensing business model and Close Source lead to a Free Software emerging movement in 1984 and the creation of the Free Software Foundation in 1985 The Open Source Initiative created in 1998 to evangelize Open Source in the industry

Open Source and Free Software Open Source and Free Software co-exist together Open Source is a development process but strongly influenced by the Free Software spirit Working in Open Source implies to understand the development process and to have the right mindset

The development process

The cathedral and the bazaar A description of two open source development processes: The cathedral model: source code is available with each software release The bazaar model: in which the code is developed over the Internet in view of the public Gives 19 lessons for good Open Source practices https://en.wikipedia.org/wiki/the_cathedral_and_the_bazaar http://www.catb.org/esr/writings/cathedral-bazaar/

The cathedral In the past, computers were very expensives and the network reserved for a very few A group of persons works on a project, privately A new release is delivered with the source code Hard to participate to the project No view on the current work

The bazaar Nowadays a large public have access to computers and to internet The source code is widely available, the changes are visible and the development is based on the review process Linus s law [1]: "given enough eyeballs, all bugs are shallow" [1] https://en.wikipedia.org/wiki/linus%27s_law

The fork When an Open Source project is cloned and diverges from the original project: it is a fork A community may be frustrated by a project: A community wants to have more control on the project Lack of communication or collaboration Project is not very responsive or taking a direction that the bulk of the community does not like Skip the review process and commit what they want Forking can be bad if it is done for wrong reasons because it can scatter the resources

The community A group of persons working together on an Open Source project: the community A community is composed from: The community takes predominance over individuals Education (students, scientists, teachers) Hobbyist Workers (from companies or freelance) Consensus The collaboration is the cornerstone of the Open Source

The collaboration The collaboration relies on tools Development: Distributed version control system: git Compilation tools : gcc, make Debugging: gdb Etc Communication: Emails and mailing lists Instant messaging: IRC Text sharing: pastebin bugzilla

The contribution Any kind of help beneficial for the Open Source project is called a contribution A contribution increases the merit inside community The Open Source is karma based The more a contributor provides pertinent contributions, the more he has voice inside the community

The right mindset

Don t be scared Follow the presentations Upstreaming 101 and 201 All the needed information and the pointers Take some time to train yourself and follow the advices given in the presentations above Understand the different actors of the Open Source project Be prepared, then send your first patch

Don t be offended Comments are always a good thing, that means the changes raised some interest Comments can be tough: stay factual, stick on technical aspect and give numbers to support your position Comments can spot an issue or a misdesign you missed The perennity of the Open Source is the priority, you may be asked to redesign everything

Don t be demanding Comments can take some time: be patient There is no schedule / no deadline The community may be busy There is no obligation to merge the change

Don t be selfish The changes must be designed as part of the community, not as an individual Changes for the purpose of one group of persons or a company have 100% chance to fail to be merged Working in the Open Source, is working as part of a community

Comments The consensus is the key to merge a change No consensus = No merge Always take into account the comments in order to reach the consensus

Collaborate! Collaborate in order to be part of the community Begin with simple things Review code Fix compilation warnings/error (often) Help to test the proposed changes (functional and benchmark) Answer questions being asked on the mailing list Do more complex things Dead listing and spot potential issues Propose ideas to improve the proposed changes

Next presentations Upstreaming 101 : Linux kernel development process, DCO, writing a patch Upstreaming 201 : Send the changes for upstreaming, the review process, the comments

Conclusion Open Source is a development process Open Source projects are supported by a community A community mindset can be aligned to the Free Software philosophy The collaboration is the path, the consensus is the key

Special thanks to Jon Maddog Hall

Thank You #HKG18 HKG18 keynotes and videos on: connect.linaro.org For further information: www.linaro.org