Post on 06-Dec-2014
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
Eric Raymond
“Everybody Love Eric Raymond”http://geekz.co.uk/lovesraymond/
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