Transcript Slide 1

INFO 324
Team Process and Product
Week 7
Dr. Jennifer Booker
College of Information Science and
Technology
Drexel University
Copyright by Gregory W.
Hislop
1
www.ischool.drexel.edu
Introduction
Motivations for participating in
FOSS
Copyright by Gregory W. Hislop
2
www.ischool.drexel.edu
Agenda
• FOSS roots and development
– Why do we care?
– What is FOSS?
– Free/Libre/Open
• FOSS today
– Scale
– Impact
• How FOSS works
– Structure and tools
– Participating in FOSS
Copyright by Gregory W. Hislop
3
www.ischool.drexel.edu
Why this Lecture?
Why do we care
in
INFO 324, Team Process and Product,
about
Free and Open Source Software
(FOSS)?
Copyright by Gregory W. Hislop
4
www.ischool.drexel.edu
Why Study FOSS?
• Substantial IT industry segment
– You may work on a FOSS project
– You may need to consider implementing FOSS for
your organization
– You will use FOSS products
• And do now, at least via the Web
• Team process and product
–
–
–
–
Globally distributed software product teams
Globally distributed user communities
Innovative use of tools and techniques (rev mgmt)
Unmatched access to all process and product
artifacts
Copyright by Gregory W. Hislop
5
www.ischool.drexel.edu
FOSS History
• Where did it come from?
• What does it amount to today?
Copyright by Gregory W. Hislop
6
www.ischool.drexel.edu
Computing History
• Computing started as a hardware business
– Software was something needed to sell the
hardware; not a product in its own right
– Early software was
• Bundled with hardware and not separately priced
– Often with source code included
• Exchanged free among users of particular machines
– Software as a business emerged in the 1960’s
and more so in the 1970’s
• But a lot of software was still exchanged for free and
source code provided
Copyright by Gregory W. Hislop
7
www.ischool.drexel.edu
Computing History
• Early approach to software meant
– Free exchange of ideas, not just software
– Excellent opportunities to learn, modify, adapt
• Over time, software emerged as an industry
– Software came to be seen as valuable
– Software was separately priced
– Source code was not distributed
• Or access was strictly limited
– Lock in software with vendor extensions
Copyright by Gregory W. Hislop
8
www.ischool.drexel.edu
Free Software Foundation
• Richard Stallman
– MIT Media Lab
• Thrived in a tradition of shared source code
• Sharing ended as software became proprietary
– Founded Project GNU in 1984
• Goal: re-create / extend software sharing
• Goal: Provide an alternative to vendor lock-in
• Goal: GNU operating system
– Foundation for complete environment of free software
Copyright by Gregory W. Hislop
9
www.ischool.drexel.edu
Free Software Foundation
• Free software
– “free as in free speech, not as in free beer”
– Freedom vs. price; libre vs. gratis
• See FSF Free Software Definition
– http://www.gnu.org/philosophy/free-sw.html
• Linux built on GNU
– Provided the kernel
– Much of the rest existed
– GNU/Linux as a more correct name
Copyright by Gregory W. Hislop
10
www.ischool.drexel.edu
Free Software Definition
• Free software is a matter of the users'
freedom to run, copy, distribute, study,
change and improve the software.
• Four freedoms
– To run the program, for any purpose
– To study the program works, and change it
– To redistribute copies
– To distribute copies of your modified versions
Copyright by Gregory W. Hislop
11
www.ischool.drexel.edu
Legal Mechanisms
• Problem: how to implement free software
within the legal system
• Options
– Proprietary software
• License strictly limits user rights
– Public Domain
• Rights surrendered
• Product may be modified or re-packaged and
presented as proprietary
Copyright by Gregory W. Hislop
©
– Copyleft – the open source solution
12
www.ischool.drexel.edu
Legal Mechanisms
• Copyright – general legal mechanism for
protecting intellectual property writes for
written material, including software
• Copyleft – using copyright plus restrictions to
preserve rights and then share them
– “making a program (or other work) free, and
requiring all modified and extended versions of
the program to be free as well.”
• Implementation: GNU General Public License
Copyright by Gregory W. Hislop
13
www.ischool.drexel.edu
Open Source Initiative (OSI)
• FSF was (is?) perceived as being antibusiness
• OSI is an alternate conception
– Similar principals to FSF
• But FSF would not agree with this
– But with greater freedom to combine FOSS
and proprietary software
– More emphasis on leveraging peer
development and sharing
Copyright by Gregory W. Hislop
14
www.ischool.drexel.edu
FOSS Today
What has resulted from
all this noise about FOSS?
Copyright by Gregory W. Hislop
15
www.ischool.drexel.edu
FOSS Today
versus
Copyright by Gregory W. Hislop
16
www.ischool.drexel.edu
FOSS Today
Many credible products; some market leaders
Copyright by Gregory W. Hislop
17
www.ischool.drexel.edu
FOSS Today
• Substantial software industry force
– Apache, Linux, Firefox
– Open Office, Gimp, Notepad++
– Targeted applications
Copyright by Gregory W. Hislop
18
www.ischool.drexel.edu
FOSS Today
• Scale
– Hundreds of thousands of projects
• And growing
• 300,000 in SourceForge
– An estimated 800,000 developers
– Most projects don’t succeed
• Darwinian development
• Average number of developers per project: 1
• Quite similar to commercial products
Copyright by Gregory W. Hislop
19
www.ischool.drexel.edu
FOSS Participation
Why do people
participate in FOSS projects?
Copyright by Gregory W. Hislop
20
www.ischool.drexel.edu
Motivation of Individuals
Source: FLOSS Developers Survey 2002, graph from R. Glott, A. Meizsner and S. K. Sowe, "Phase 1:
Analysis of the informal learning environment of FLOSS communities," 2007.
Copyright by Gregory W. Hislop
21
www.ischool.drexel.edu
Motivation of Companies
• Not all contributors are volunteers!
• 45 - 50% of contributions by paid employees
• Business case
– FOSS for competitive position
• IBM support for Linux, hedge versus Microsoft
– FOSS service providers
• Cluster of companies support every large FOSS application
– FOSS to distribute development costs
• Red Hat Fedora to develop Red Hat Enterprise Linux
– FOSS to build market share
• Google and Android
Copyright by Gregory W. Hislop
22
www.ischool.drexel.edu
Social Motivation - Humanitarian
FOSS
• FOSS projects that exist to meet some
social need
– Healthcare – OpenMRS
– Disaster management – Sahana
– Economic development – Mifos (mfinance)
– Education – Sugar Labs
– Accessibility – Gnome Accessibility
• See:
http://xcitegroup.org/softhum/doku.php?id=g:hfoss_and_oss_projects
Copyright by Gregory W. Hislop
23
www.ischool.drexel.edu
FOSS Process – Things to learn
• Control
– It’s not a free-for-all
• Community
– We’re all in this together
• Communication
– Open isn’t just source code
Copyright by Gregory W. Hislop
24
www.ischool.drexel.edu
Control
• Misconception of FOSS as “Free
contribution by anyone”
– NOT!
– This would be chaos
• Need for control creates a hierarchy
– Version control enables and enforces
– Committers (approves changes)
– Contributors
– Others
Copyright by Gregory W. Hislop
25
www.ischool.drexel.edu
Control and Community
• “Contributor Mountain”
– Client/customer (base of the mountain)
• Use in isolation
– Seeker
• Connects to community for answers on using
– Collaborator
• Contributes bug reports, feature requests, …
– Contributor (peak of the mountain)
• Moves project forward (code, verify bugs, docs,
release)
• Relied on by the community
Copyright by Gregory W. Hislop
26
www.ischool.drexel.edu
Community
• Clients and developers as part of a
spectrum
– Not “us” vs. “them” (user vs. developer)
• Assumption that people can move from
passive “user” to active participant
– Even without technical skills
• See: “Why we won’t call you a ‘user’.”
– http://www.kitware.com/blog/home/post/263
Copyright by Gregory W. Hislop
27
www.ischool.drexel.edu
Community
• Openness to new participants
– Especially if you approach the project reasonably
• Advancement via accomplishment
– Fairly blatant meritocracy
• Check and balance
– Control of commit authority
• Real point of control for moving the product
– Ability to fork project (not a typo)
• Limits autocratic power
Copyright by Gregory W. Hislop
28
www.ischool.drexel.edu
Communication
• More communication is generally better
• Multiple channels
– Highly distributed participation
• Less elaborate; more immediate
• Rollback mechanisms available (e.g. in a wiki)
– Synchronous and asynchronous (IRC vs. Wiki)
– Low and high bandwidth
• Explicit provision for lurkers (IRC)
– Replaces hallway conversations and discussion
in the break room
– Allows for serendipity and learning by osmosis
Copyright by Gregory W. Hislop
29
www.ischool.drexel.edu
FOSS Tools
• Communication and coordination
–
–
–
–
Mailing List
IRC
Bug / feature request tracker
Wiki and developer Web
• Control
–
–
–
–
Revision Control system
Distribution, packaging
Testing
Continuous integration servers
• Community
– Public Web face
Copyright by Gregory W. Hislop
30
www.ischool.drexel.edu
FOSS and You
• Consider climbing “contributor mountain”
• Excellent learning opportunities
– Reading lots of code – good and less so
– Interacting with experienced developers
– Watching and working in a large project
• Marketable skill set
– FOSS in general
– Particular tools and technologies
– Experience with global distributed software
development
Copyright by Gregory W. Hislop
31
www.ischool.drexel.edu
Getting Started in FOSS
• Many projects welcome new participants
– And not just coders: testing, documenting, etc
• Some FOSS participants don’t suffer fools
gladly
• All FOSS participants are busy already
• Do your homework!
• Allow time to work your way into a project
– Start by listening and learning
– Begin with small tasks
Copyright by Gregory W. Hislop
32
www.ischool.drexel.edu
Learn About the Project
• Technologies, product size, history,
direction
• Licensing
• Release history and plans
• User community size and activity
• Key developers and organization
• Corporate involvement
• Processes
Copyright by Gregory W. Hislop
33
www.ischool.drexel.edu
Read and Lurk
•
•
•
•
Use the available documentation
Get the product, read code, try it
Join lists and IRC channel
Look for entry points for new participants
– Is the project supportive of new participants?
Copyright by Gregory W. Hislop
34
www.ischool.drexel.edu
Start Doing Something Useful
• Pick something small
– Bug fixing
– Testing
– Adding to documentation
• Ask questions as needed
– Research first
– Be clear and detailed
– Be polite
Copyright by Gregory W. Hislop
35
www.ischool.drexel.edu
Exercise: Browsing a forge
1. Go to: http://sourceforge.net/
2. Use the Search feature in the center of the screen to view applications
in an area of interest to you (e.g., gaming, sports, or facebook).
3. How many projects are there in this category?
4. How many different kinds of applications are there?
5. How many different programming languages are used to write
software in this category?
6. List the top four programming languages used to write programs in
this category.
7. How many of the projects in this category are written in <PL of your
choice>? What do you think that the statuses below mean?
-Beta
– Inactive
-Alpha
– Mature
-Pre-Alpha
– Production/Stable
-Planning
Copyright by Gregory W. Hislop
36
www.ischool.drexel.edu
In Your Future...
• For next week
– FOSS Field trip
• Blog about it
Copyright by Gregory W. Hislop
37
www.ischool.drexel.edu