Open Source for an Open World

Post on 06-Dec-2014

3,450 views 3 download

description

 

transcript

Open Source Software in an Open World

Elizabeth B. Thomsen

Member Services Manager

North of Boston Library Exchange

et@noblenet.org

Hello, World!

10 PRINT “Hello World!”

20 END

Software is easy!

“Software is hard.”

Donald Knuth“The Art of Computer Programming”1962

“Why can’t we design software the way we build bridges?”

The Impossibility of Complete Testing

• We can’t test all the inputs to the program.

• We can’t test all the combinations of inputs to the program.

• We can’t test all the paths through the program.

(More Impossibility)

• We can’t test for all of the other potential failures, such as those caused by user interface design errors or incomplete requirements analyses.

• (Cem Kaner, author of ‘Bad Software”)

User Error• Foolproof programs?

• “It’s impossible to make anything foolproof because fools are so ingenious”

• “We thought it was foolproof but then along came another fool.”

• Software is designed for people

SongTapper• Tap a song for a partner – can they guess

what it is?

(http://www.songtapper.com)

Curse of Knowledge Elizabeth Newton’s song-tapping

experiment:

Predicted guessing rate: 50%

Correct guessing rate: 3%

Communication Problems• Between all parties

• At all levels

• At all phases of the process

• Include communication errors in programming

Troubleshooting Trouble• Eyewitness accounts notoriously unreliable

• The human brain isn’t a recording device

• In normal use, you have no idea what exactly you did just before that bad thing happened

What Does This Mean?• Lots of bugs hiding under unintended user

behavior

• Lots of legitimate bugs are dismissed as user error (even by users)

• Design flaws are not bugs, but might as well be

Brooks’s Law “Adding manpower

to a late software project makes it later”

“The Mythical Man-Month” Frederick P. Brooks, Jr. (1975)

According to Brooks…• Each new member of a team must be

brought up to speed and adds to the communication and coordination burden

• “The bearing of a child takes nine months, no matter how many women are assigned to a task.”

• Logical conclusion: ideal size of team=1

A Different Approach…• Collaborative projects of developed and

supported by self-organizing communities of interest

• Transcend geography, time zones

• Roles based on participation, contribution and trust, not formal credentials

Pyramid of Participation• Casual observer

• Occasional contributor

• Core Contributor

• Moderator / Module Owner / Administrator

• Board Member

• Benevolent Dictator

Self-Organizing Communities• Self-organizing doesn’t mean disorganized

• Participants seek and find roles that are appropriate to their talents, interests and personal needs

• Participants earn their place in the community

Motivation and Compensation• People do things for all kinds of reasons

• Intrinsic rewards are more motivating than extrinsic rewards

• Altruism, personal satisfaction, prove and improve skills, cooperation/competition, future reward, social interaction

• Be part of something

Collaborative Communities• Have always existed in some form…

• But the Internet transformed the way people can engage in discussion and collaborative projects

Active Communities• Health and disability support groups

• Political activity

• Fan communities

• “Survivor” spoilers

• Wikipedia : open source encyclopedia

(truly collaborative rather than collective)

Economic Impact• Fewer people watching televisions,

especially in the 18-34 demographic

• Fewer people reading newspapers

• Consumer ratings, reviews, blog postings sometimes more powerful than advertising

(Example : blogging foodies)

Free/Open Source Software• Grew out of the old hacker culture of the

1960’s and 1970’s

• Students working on UNIX systems; minicomputers

• Computers club culture around the Altair and other early hobby computers

Bill Gates’ Open Letter 1976 Sent to the Homebrew Computer Club

complaining about unauthorized copying of Altair BASIC:

“you…prevent good software from being written. Who can afford to do professional work for nothing?”

Free SoftwareFree Software Foundation (1985)

“Think of free speech, not free beer”

GNU Project : full operating system

Linus Torvald’s Linux provided the kernel

Four Freedoms• Freedom 0 : The freedom to run the

program for any purpose

• Freedom 1 : The freedom to study and modify the program

• Freedom 2 : The freedom to improve the program so you can help your neighbor

• Freedom 3: The freedom to improve the program, and release your improvements to the public, so that the whole community benefits

Source Code Access• Freedoms 1 (study/modify) and 3

(improve/release) are only possible with the source code

• Source code invaluable as a learning tool, but also for security and for improvement

• Academic tradition: release research

• Rapid evolution

Open Source Movement• 1998: Netscape’s release of Navigator

source code as Mozilla

• Possibly confusion and political emphasis of “free software” terminology

• Some disputed areas between groups, much common ground in principle and practice

“The Cathedral & the Bazaar”• Eric S. Raymond, 1997

• Contrasts building of cathedrals (highly centralized) and bazaar “a great babbling bazaar of differing agendas and approaches”

Open Source Approaches• Users should be treated as co-developers

• Early releases (find co-developers early)

• Frequents integration (often nightly builds)

• At least two versions (development/stable)

• Modularization (parallel development)

• Dynamic decision-making structure

Richard

Stallman

Linus Torvalds

Business and Open Source

• Open source is not incompatible with business

• IBM, Sun and other businesses have chosen to participate in open source projects, donating both existing software and programmers

• Choose to build their applications on top of open source bases software like Apache

New Business Opportunities• Businesses charge for installation,

customization and support of open source products

• Businesses develop value-added compatible software products

Complex Legal Issues• Open source coming of age

• Microsoft asserting patent infringements and making settlement offers with Novell and others

• GPL3: Patent pledge to Novell extends to all Linux

Libraries and Open Source• Open Source Software: Freedom to read?

• Community-based software: Compatible with public and educational institution philosophies : resource sharing, examination and evaluation of sources

• May provide longterm stability

Workstation Level• Open source operating systems now ready

for prime time

• Library patrons becoming familiar with the concept of open source software; may appreciate savings

• Introduction of Vista a time for re-evaluation

Open Source Library Systems• Georgia Pines system using Evergreen brought

major attention to Open Source as a viable option even for a very large library system

• Instability in the ILS market makes this a good time to re-evaluate options

• Competition and choice from outside likely to be good for the ILS vendors and for customers

My Prediction• The next two years are going to be very

interesting.

• So is the rest of today

• Enjoy!

Elizabeth B. ThomsenMember Services Manager

NOBLE: North of Boston Library Exchange

et@noblenet.org