perspectives for understanding open source software kasper edwards technical university of denmark...
TRANSCRIPT
Perspectives for Understanding Perspectives for Understanding Open Source SoftwareOpen Source Software
Kasper Edwards
Technical University of Denmark
Department of Manufacturing Engineering and Management
Agenda
My perspective
Introducing open source software
Open source software as economic goods Epistemic communities and situated learning Economics Conclusion
My perspective
Background
Mechanical engineer, worked as a computer consultant
Interested in economics
Economics of technology The technology must be taken into account
Out of the Black Box
Data Hours of interviews with open source developers
Web sites / mailing lists
Personal interest / involvement
Introducing open source software
What is open source software? Software like any other software
Access to the source code, which may be modified
Create derived works
Create and distribute copies
How is open source software developed? Organised in individual projects
The central figure is the maintainer
Communications are done mostly using web-based media
Mailing lists are the central means of communication
The open source software development cycle1. Maintainer releases software and source code
2. User downloads software and source code
3. User identifies problems or needed features
4. User implements corrections
5. Contributor returns corrections to the Maintainer for inclusion
6. Corrections are discussed
7. Maintainer includes changes and release a new version
Copyright is essential to open source software Unauthorized copying and distribution is illegal in most countries
Authors are automatically granted copyright upon creation
Not freeware! - Every developer retain full copyright
The license defines open source software A license is a legal agreement between rightsholder and licensee
With all open source software comes a license
Examples: GPL, LGPL, BSD, Artistic and so forth.
The problem of understanding Open Source Software
Observations Open source software is being developed and exchanged
Some open source products have market dominance
Private individuals contribute to the development
Commercial enterprises contribute to the development
Open source software development is not without cost Time and/or money
People and especially enterprises must make a living
Economic theory of goods
There is a long tradition that economists try to understand goods
Understanding properties in consumption
Rivalrous NonRivalrous
Excludable Private good(Loaf of bread)
Club good(Cable TV)
Nonexcludable Commons(Fish in the ocean)
Pure public good(The ozone layer)
Open source software as a good
Technical properties A digital being - unlimited copies at insignificant cost
Instantaneous mass-distribution
» Open source software is non-rival in consumption
License properties Free redistribution
The source code must be available
» Open source software is non-excludable
A pure public good
Theoretical consequences of being pure public good
Under-provision What is underprovided has not been developed
Massive free riding Free-riding in open source: Development not returned to the
project
There is a penalty from not returning developments to the maintainer
The question Why is open source software being developed?
Different approaches to the question
Why is open source software is being developed? A research object
Altruism
It is intrinsically rewarding
To gain reputation
To build a CV
To develop open source software instead of buying software
The analytical problem
Two groups of actors Unpaid voluntary developers
Firms
Two levels – two perspectives Project - Epistemic communities and situated learning
System - economics
Epistemic communities and situated learning
Observation Many are developing open source software
OSS development is time consuming
There is no monetary reward
Properties of the open source organisation Very loosely coupled network
Limited communications bandwidth
Characterising members of epistemic communities A shared set of normative and principled beliefs
Shared causal beliefs
Shared notions of validity
A common policy enterprise
OSS projects as an epistemic community Shared normative and principled beliefs
Strong belief in empowerment of users
A counter culture
Shared causal beliefs
Contributors have programming experience (or are gaining)
Provides a common understanding of how to solve a problem
Shared notions of validity Important when choosing between solutions
Provision of a common understanding of why a solution was chosen
Two criteria: 1) Performance, and 2) Beauty
Common policy enterprise Freedom of choice
Freedom to expand and change software to fit personal needs
Theoretical consequences of epistemic communities
Possible to collaborate with minimal communication
A shared mindset
The code say more than a thousand words
Little or no need for co-ordination
Implicit understanding of the direction of the project
Problems of epistemic communities A static analysis to a dynamic phenomenon
Epistemic communities does not explain entry into projects
Legitimate peripheral participation
Becoming part of a project is a learning process
Every project has its own idiosyncrasies
Learning is situated Knowledge cannot be de-coupled from situation
Learning can only be done through participation
Learners are trying to become insiders
Consequences of legitimate peripheral participation Learners are not able to participate in core activities
Learners can contribute to peripheral activities
Learners must be allowed to participate
Learners must be allowed to be part of the community practice
By participating learners become part of the community
Summing up epistemic communities and situated learning
Explain dynamics in open source software projects
Explain coordination and communication
Explain the social process of project entry
Economics
Observations Firms and private individuals develop open source software
Open source software appear to be a pure public good
There must be a reasonable incentive
Hypothesis
Properties of OSS + type of agent = incentives to develop OSS
Externalities are the determining economic mechanism
A bit o’ theory of externalities
Definition: One agents action which affect another agent but the latter agent does not pay or is not paid
In production – a factory polluting
In consumption – the phone system
Several types of externalities
The standard pure public good, y is private and z a public good:
The general public good with no anonymity:
)......,( 21 Hhhhh zzzzyUU
),...,,...,,( 21 Hh zzzzMinZ
The specific software good determine externalities
The number of use-products is a standard pure public good
» Use-products is a function of number of features
The security good is general pure public good with no anonymity
» The weakest spot determine level of security
Licenses also affect externalities
An agent obtains software, enhances it and re-publish
The GPL license: Changes must be made public => Externalities
The BSL license: Changes can be kept private => No externalities
Large agregated affects from externalities One individuals small investment result in large aggregated value
Barriers to entry are lowered by existing code
However, learning costs are higher
Concluding economics Externalities explain incentives in OSS
Conclusion
Epistemic communities and situated learning The code says more than a thousand words
Describes and helps to understand the process
Economics
The license affects the type of good
The license determine externalities
Incentives come from externalities