Logiciel Libre Cours 6 The Cathedral and the Bazaar

Similar documents
Logiciel Libre Cours 0 Presentation

Logisim: A graphical system for logic circuit design and simulation

Seeing Using Sound. By: Clayton Shepard Richard Hall Jared Flatow

administration access control A security feature that determines who can edit the configuration settings for a given Transmitter.

TINNITUS & HYPERACUSIS THERAPY MASTERCLASS

Enhancing Music Maps

New Challenges : digital documents in the Library of the Friedrich-Ebert-Foundation, Bonn Rüdiger Zimmermann / Walter Wimmer

Device Management Requirements

EECS 578 SVA mini-project Assigned: 10/08/15 Due: 10/27/15

Between Meaning and Meaningfulness Understanding Anecdotal Music. Tatjana Böhme-Mehner

Proceedings of Meetings on Acoustics

Introduction One of the major marks of the urban industrial civilization is its visual nature. The image cannot be separated from any civilization.

ITU-T Y.4552/Y.2078 (02/2016) Application support models of the Internet of things

Vtronix Incorporated. Simon Fraser University Burnaby, BC V5A 1S6 April 19, 1999

Fundamentals of Choir Leading Rehearsal Technique. Workbook

Life Areas Test & Bagua Map

22-27 August 2004 Buenos Aires, Argentina

Bas C. van Fraassen, Scientific Representation: Paradoxes of Perspective, Oxford University Press, 2008.

OCLC's CORC Service: A User's Perspective

BBC Trust Service Review: Network Music Radio

City of Fort Saskatchewan Boosts Transparency with Improved Streaming by Switching to escribe

APRS in Hollywood Integrating Real Time 3D Graphics with Wireless GPS systems.

An Analytical Approach to The Challenges of Cultural Relativism. The world is a conglomeration of people with many different cultures, each with

Saving time & money with JTAG

History Admissions Assessment Specimen Paper Section 1: explained answers

Preserving Digital Memory at the National Archives and Records Administration of the U.S.

DESIGN PHILOSOPHY We had a Dream...

How to run a Publisher and author David Harvey on what makes a good management book.

Word Prefix means Base means Word means. 1. opponent. 2. composite. 3. expound. 4. repository. 5. depose. 6. repose. 7. propound. 8.

NSF/ARPA Science and Technology Center for Computer Graphics and Scientific Visualization

The Polish Peasant in Europe and America. W. I. Thomas and Florian Znaniecki

Lecture 17: Introduction to Design For Testability (DFT) & Manufacturing Test

XBRL FOR DUMMIES BY CHARLES HOFFMAN, LIV WATSON DOWNLOAD EBOOK : XBRL FOR DUMMIES BY CHARLES HOFFMAN, LIV WATSON PDF

Unit V Design for Testability

Is Genetic Epistemology of Any Interest for Semiotics?

Our E-journal Journey: Where to Next?

European Agenda for Music: AEC, EAS and EMU members Feedback Joint Overview

Conflict Transformations in Business

Add note: A note instructing the classifier to append digits found elsewhere in the DDC to a given base number. See also Base number.

Narration Participation of Narrator (homodiegetic = narrator is a character in the story, heterodiegetic = narrator is outside the story)

Computer Coordination With Popular Music: A New Research Agenda 1

An Introduction to PHP. Slide 1 of :31:37 PM]

BOOK REPORT ENGLISH DEPARTMENT R. LACOUMENTAS

ITU-T Y Functional framework and capabilities of the Internet of things

Additional media information United States & United Kingdom

Building a Library with Student Authors Sample of an Unfinished Plot

Guidelines for Reviewers

The Bit list. John McDonough National Archives of Ireland.

CRISTINA VEZZARO Being Creative in Literary Translation: A Practical Experience

United Nations Educational, Scientific and Cultural Organization and International Atomic Energy Agency

"CHOOSING A STATIC MIXER"

My name is [TME Name] and I am honoured to be your Toastmaster of the Evening.

J. Maillard, J. Silva. Laboratoire de Physique Corpusculaire, College de France. Paris, France

Audiocation Compressor AC1. Version 1.0

Understanding Plagiarism

Music Morph. Have you ever listened to the main theme of a movie? The main theme always has a

Your use of the JSTOR archive indicates your acceptance of the Terms & Conditions of Use, available at

For a number of years, archivists have bemoaned seemingly impossible

User Interface Design: Simplicity & Elegance

Free Ebooks The 21 Indispensable Qualities Of A Leader

Introduction. Status quo AUTHOR IDENTIFIER OVERVIEW. by Martin Fenner

UNIT IV CMOS TESTING. EC2354_Unit IV 1

Software citation: A solution with a problem

Borrowing Resources through Interlibrary Loan: Illiad

Digital Integrated Circuits Lecture 19: Design for Testability

Music Policy Music Policy

Linux+Zephyr: IoT made easy

Based on slides/material by. Topic 14. Testing. Testing. Logic Verification. Recommended Reading:

STUDENTS EXPERIENCES OF EQUIVALENCE RELATIONS

SUMMARY: THE 4-HOUR WORKWEEK...IN 30 MINUTES - A CONCISE SUMMARY OF TIMOTHY FERRISS'S BESTSELLING BOOK BY 30 MINUTE EXPERT SUMMARIES

USER INTERFACE. Real-time video has helped Diebold cut training time by 35 percent as well as improve call resolution times.

CLARIN AAI Vision. Daan Broeder Max-Planck Institute for Psycholinguistics. DFN meeting June 7 th Berlin

Everything We Needed to Know About. Author: Craig M. Cortello. La Dolce Vita Enterprises, LLC. BusinessMusician.com

Comparing gifts to purchased materials: a usage study

KINTEK SCORES WITH MONO ENHANCEMENT

Fundamentals of Corporate Finance Alternate Edition + S&P card + Student CD (McGraw- Hill/Irwin Series in Finance, Insurance and Real Estate)

Movimento de Expressão Fotográfica

Recent advances in technology with cloud computing and big data have brought major. In their book Privacy in the Age of Big Data: Recognizing Threats,

DM Scheduling Architecture

ENGINEERING COMMITTEE Energy Management Subcommittee SCTE STANDARD SCTE

Not ^ to Give a Talk. By Ogram Fizzy-Water On November 22, 2016 In CS261

Music Fundamentals 3: Minor Scales and Keys. Collection Editor: Terry B. Ewell

ILDA Image Data Transfer Format

Movie tickets online ordering platform

Using Primo for searching Archives and Manuscripts: challenges and an approach. Richard Masters: IGeLU, Helsinki, 8 September 2009

Camera Controller Project Report - EDA385. Einar Vading, ael09eva Alexander Nässlander, ada09ana Carl Cristian Arlock, ada07car November 1, 2013

Agilent E4430B 1 GHz, E4431B 2 GHz, E4432B 3 GHz, E4433B 4 GHz Measuring Bit Error Rate Using the ESG-D Series RF Signal Generators, Option UN7

Process Modeling Series BIBLIOGRAPHY. "The man who does not read good books has no advantage over the man who can't read them.

CHILDREN S CONCEPTUALISATION OF MUSIC

Auto-Tune. Collection Editors: Navaneeth Ravindranath Tanner Songkakul Andrew Tam

Sequential Storyboards introduces the storyboard as visual narrative that captures key ideas as a sequence of frames unfolding over time

Personal Intervention

INTRODUCTION OF INTERNET OF THING TECHNOLOGY BASED ON PROTOTYPE

Our philosophy is extremely simple: We provide you the tools to be successful in your collateral recovery business. Web portal to manage your business

(1) Writing Essays: An Overview. Essay Writing: Purposes. Essay Writing: Product. Essay Writing: Process. Writing to Learn Writing to Communicate

FOR IMMEDIATE RELEASE. WHAT ARE THE McCARTNEYS DOING IN SOCAL?

The Backlog The Scope The Approach The Trends

Four different approaches to script writing

EAGLE V6: GETTING STARTED GUIDE [PCB DESIGN] BY MITCHELL DUNCAN DOWNLOAD EBOOK : EAGLE V6: GETTING STARTED GUIDE [PCB DESIGN] BY MITCHELL DUNCAN PDF

The Harrington Theatre Arts Company Production Staff Manual

Transcription:

Logiciel Libre Cours 6 The Cathedral and the Bazaar Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire IRIF, Université Paris Diderot 2016 2017 URL http://upsilon.cc/zack/teaching/1617/loglib/ Copyright 2014 2016 Stefano Zacchiroli 2011 2013 Jose Gato Luis, Teó lo Romera License Creative Commons Attribution-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-sa/4.0/deed.en_us Stefano Zacchiroli (Paris Diderot) The Cathedral and the Bazaar 2016 2017 1 / 28

Outline 1 Essay overview 2 The Lessons 3 Criticism Stefano Zacchiroli (Paris Diderot) The Cathedral and the Bazaar 2016 2017 2 / 28

Eric Steven Raymond (ESR) December 4, 1957 Fetchmail, gpsd, emacs editing modes The Cathedral and the Bazaar, published in 1997! Became a prominent voice in the open source movement Co-founded the Open Source Initiative in 1998 https://commons.wikimedia. org/wiki/file: Eric_S_Raymond_portrait.jpg Stefano Zacchiroli (Paris Diderot) The Cathedral and the Bazaar 2016 2017 3 / 28

Origins First version of the paper written in 1997. Several revisions published until 2000. The author unveils a development model through the history of the Linux kernel and one of his own tools. This model is presented as revolutionary, since it is useful to build large software systems with very light organization. Stefano Zacchiroli (Paris Diderot) The Cathedral and the Bazaar 2016 2017 4 / 28

The models The Cathedral: The classic model. ñ Closed environment. ñ Small group of leaders/developers. ñ Only stable releases or, in some cases, betas. ñ Used both in classic development models, such as waterfall, spiral, etc; and classic FLOSS projects at the time. ñ Examples: GCC, GNU Emacs. The Bazaar: The model introduced by Linus Torvalds. ñ Open environment, almost any person can participate. ñ There are no clear leaders, unde ned number of developers. ñ However, there is a benevolent-dictator gure. ñ Release early, Release often. ñ Examples: Linux. Stefano Zacchiroli (Paris Diderot) The Cathedral and the Bazaar 2016 2017 5 / 28

The surprise The Bazaar style of development: with a community resembling a large babbling bazaar of diverse agendas and approaches with archive repositories where anyone can propose a modi cation but emerging from this: a stable and coherent large software system This was surprising: Why Linux did not y apart in confusion...?... and why Linux seemed to go from strength to strength at a speed barely imaginable to cathedral-builders? Stefano Zacchiroli (Paris Diderot) The Cathedral and the Bazaar 2016 2017 6 / 28

Outline 1 Essay overview 2 The Lessons 3 Criticism Stefano Zacchiroli (Paris Diderot) The Cathedral and the Bazaar 2016 2017 7 / 28

Lesson 1 Every good work of software starts by scratching a developer's personal itch. Most successful free software projects have been started by developers with needs addressed by their pet project. In the world of proprietary software, programmers spend their time building programs that they neither need nor want. This motivation could explain the high quality of results given by Linux. Stefano Zacchiroli (Paris Diderot) The Cathedral and the Bazaar 2016 2017 8 / 28

Lesson 2 Good programmers know what to write. Great ones know what to rewrite (and reuse). Linus Torvalds did not try to write Linux from scratch. Instead, he started by reusing Minix code and ideas. Although today all reused Minix code has been removed or rewritten, while it was there, it provided scaolding for the infant that would eventually become Linux. The source-sharing tradition of the Unix world has always been friendly to code reuse. Stefano Zacchiroli (Paris Diderot) The Cathedral and the Bazaar 2016 2017 9 / 28

Lesson 3 Plan to throw one [version] away; you will, anyhow. Frederick Brooks, The Mythical Man-Month We really do not understand the problem, until the rst implementation is done. So if you want to get it right, be ready to start over at least once. Stefano Zacchiroli (Paris Diderot) The Cathedral and the Bazaar 2016 2017 10 / 28

Lesson 4 If you have the right attitude, interesting problems will nd you. Eric's problem was that he needed a POP protocol client to work with. And he found an abandoned one. He proposed patches to x shortcomings (= the right attitude). By interacting with the author, he found out he was no longer interested in maintaining it, and positive about passing it over to someone else (= interesting problem). The problem was the continuation of the abandoned client, and Eric took it over and started to coordinate it. Stefano Zacchiroli (Paris Diderot) The Cathedral and the Bazaar 2016 2017 11 / 28

Lesson 5 When you lose interest in a program, your last duty to it is to hand it o to a competent successor. Before abandoning the development of a free software, you should nd another person to continue its development. Fortunately, in the bazaar world, some other hacker will nd your abandoned work soon (assuming it's an interesting enough project, that is), and will start to develop it for his own needs. Stefano Zacchiroli (Paris Diderot) The Cathedral and the Bazaar 2016 2017 12 / 28

Lesson 6 Treating your users as co-developers is your least-hassle route to rapid code improvement and eective debugging. In Linux, some users are also hackers. Thanks to source code availability, these users can be eective hackers. This can be useful for shortening debugging time. These users will diagnose problems, suggest xes, and help in improvements. ) The importance of having users. Stefano Zacchiroli (Paris Diderot) The Cathedral and the Bazaar 2016 2017 13 / 28

Lesson 7 Release early. Release often. And listen to your customers. This is another Linux characteristic: during very active development periods, lots of versions were released. Sometimes, more than one in a day. This maintains the hackers constantly stimulated and rewarded: ñ stimulated by the prospect of having an ego-satisfying piece of the action, ñ and rewarded by the sight of constant (even daily) improvement of their work. Stefano Zacchiroli (Paris Diderot) The Cathedral and the Bazaar 2016 2017 14 / 28

Lesson 8 Given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the x becomes obvious to someone. De nition (Linus's law, by ESR) Given enough eyeballs, all bugs are shallow. Somebody nds the problem, and somebody else understands (and xes) it. Cathedral vs bazaar intuition: ñ In the cathedral-builder view of programming, bugs and development problems are tricky, insidious, deep phenomena. ñ In the bazaar, bugs are generally shallow phenomena they turn shallow when exposed to a thousand eager co-developers collaborating in next release. Stefano Zacchiroli (Paris Diderot) The Cathedral and the Bazaar 2016 2017 15 / 28

Lesson 9 Smart data structures and dumb code works a lot better than the other way around. It is dicult to understand the code written by others, but when we understand the data structures, understanding the code is easier. Stefano Zacchiroli (Paris Diderot) The Cathedral and the Bazaar 2016 2017 16 / 28

Lesson 10: Eric tries the model Eric S. Raymond tries successfully the model, with the following principles: Releasing early and often. Adding everyone who contacted him about the implemented program to the beta list. Announcing new releases to the beta list, stimulating people to participate. Listening to beta-testers, polling them about design decisions and taking in consideration patches and other feedback from them. The consequence: If you treat your beta-testers as your most valuable resource, they may become that, eventually. Stefano Zacchiroli (Paris Diderot) The Cathedral and the Bazaar 2016 2017 17 / 28

Lessons 11 and 12 The next best thing to having good ideas is recognizing good ideas from your users. Sometimes the latter is better. Often, the most striking and innovative solutions come from realizing that your concept of the problem was wrong. Eric learned this when saw good ideas for his application suggested by users. The importance of giving credit where credit is due. These ideas helped him to understand that, initially, he was looking for the solution to the wrong problem. Stefano Zacchiroli (Paris Diderot) The Cathedral and the Bazaar 2016 2017 18 / 28

Lesson 13 Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away. Antonie de Saint-Exupery. When the code is getting both better and simpler, that is when we know it is right. Reminiscent of the UNIX philosophy, but on code internals rather than (geek) user interface. At this moment, the software maintained by Eric was, not only very dierent, but also simpler and better. It was time to change its name and give it its new identity: fetchmail instead of popclient. Stefano Zacchiroli (Paris Diderot) The Cathedral and the Bazaar 2016 2017 19 / 28

Lessons 14 and 15 Any tool should be useful in the expected way, but a truly great tool lends itself to uses you never expected. When writing gateway software of any kind, take pains to disturb the data stream as little as possible and never throw away information unless the recipient forces you to! Stefano Zacchiroli (Paris Diderot) The Cathedral and the Bazaar 2016 2017 20 / 28

Lessons 16 and 17 When your language is nowhere near Turing-complete, syntactic sugar can be your friend. A security system is only as secure as its secret. Beware of pseudo-secrets. These are lessons learned directly from the concrete application: fetchmail. Not related with the management part of software engineering. Stefano Zacchiroli (Paris Diderot) The Cathedral and the Bazaar 2016 2017 21 / 28

Lessons 18 and 19 To solve an interesting problem, start by nding a problem that is interesting to you. partial re-statement of the scratch own itch lesson Provided the development coordinator has a communications medium at least as good as the Internet, and knows how to lead without coercion, many heads are inevitably better than one. Stefano Zacchiroli (Paris Diderot) The Cathedral and the Bazaar 2016 2017 22 / 28

Outline 1 Essay overview 2 The Lessons 3 Criticism Stefano Zacchiroli (Paris Diderot) The Cathedral and the Bazaar 2016 2017 23 / 28

Criticism No scienti c rigor (it is an essay). Based on anecdotal evidences (not a systematic study). Raymond tries to generalize speci c cases (Linux, fetchmail) to all free software projects. Some critics say that Linux is, in fact, an example of cathedral process: there is a leader, and a hierarchic structure of people with delegated tasks. Also, responsibilities are distributed in that structure although not explicitly. Stefano Zacchiroli (Paris Diderot) The Cathedral and the Bazaar 2016 2017 24 / 28

Criticism (cont.) Lessons to be put in perspective after 2 decades Free Software = Bazaar? ñ Is there one development model for free software? ñ Are all projects really built from many contributions of many developers? Bazaar de nition may not be accurate. Free Software is not actually a bazaar. ñ It is not even a development model. ñ (It isn't a business model either.) ñ Free Software is software that respects the 4 freedoms of its users. Stefano Zacchiroli (Paris Diderot) The Cathedral and the Bazaar 2016 2017 25 / 28

A Second Look at the Cathedral and the Bazaar (by Nikolai Bezroukov) Brook Law 1 still apply to Internet-based development ñ Internet only increases the quality of the pool of developers Given enough eyeballs, all bugs are shallow ñ Why waste the time of skilled developer with testing? ñ Not all bugs are created equals ñ How to force developers to x a speci c bug? ñ Do not x ugly code, throw it away! 1. In The Mythical Man-Month, Fred Brooks observed that programmer time is not fungible; adding developers to a late software project makes it later. He argued that the complexity and communication costs of a project rise with the square of the number of developers, while work done only rises linearly. This claim has since become known as "Brooks's Law" and is widely regarded as a truism. But if Brooks's Law were the whole picture, Linux would be impossible. Stefano Zacchiroli (Paris Diderot) The Cathedral and the Bazaar 2016 2017 26 / 28

A Second Look at the Cathedral and the Bazaar (cont.) (by Nikolai Bezroukov) Does Linux belongs to the Cathedral model or to the Bazaar model? ñ A not so democratic Bazaar ñ Kernel core Cathedral? Does FOSS development model automatically yield the best results? Stefano Zacchiroli (Paris Diderot) The Cathedral and the Bazaar 2016 2017 26 / 28

Eric Raymond In uence Netscape Communications ñ 22 January, 1998 ñ Netscape publicly released the source code of Netscape Communicator 4.0 ñ On behalf of everyone at Netscape, I want to thank you for helping us get to this point in the rst place. Your thinking and writings were fundamental inspirations to our decision. Wikipedia Eric Hahn, executive vice president and chief technology ocer at Netscape ñ Another great example of large-scale collaboration ñ [The Cathedral and the Bazaar] opened my eyes to the possibility of mass collaboration Jimmy Wales, Wikipedia co-founder Stefano Zacchiroli (Paris Diderot) The Cathedral and the Bazaar 2016 2017 27 / 28

References Eric S. Raymond, The Cathedral and the Bazaar (1997-2000) http://www.catb.org/~esr/writings/cathedral-bazaar/ Nikolai Bezroukov, A Second Look to the Cathedral and the Bazaar (1999) http://firstmonday.org/article/view/708/618 Karl Fogel, Producing Open Source Software: How to Run a Successful Free Software Project (2005) http://producingoss.com/ Stefano Zacchiroli (Paris Diderot) The Cathedral and the Bazaar 2016 2017 28 / 28