perspectives for understanding open source software kasper edwards technical university of denmark...

22
Perspectives for Understanding Perspectives for Understanding Open Source Software Open Source Software Kasper Edwards Technical University of Denmark Department of Manufacturing Engineering and Management

Upload: wilfrid-grant

Post on 01-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Perspectives for Understanding Open Source Software Kasper Edwards Technical University of Denmark Department of Manufacturing Engineering and Management

Perspectives for Understanding Perspectives for Understanding Open Source SoftwareOpen Source Software

Kasper Edwards

Technical University of Denmark

Department of Manufacturing Engineering and Management

Page 2: Perspectives for Understanding Open 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

Page 3: Perspectives for Understanding Open Source Software Kasper Edwards Technical University of Denmark Department of Manufacturing Engineering and Management

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

Page 4: Perspectives for Understanding Open Source Software Kasper Edwards Technical University of Denmark Department of Manufacturing Engineering and Management

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

Page 5: Perspectives for Understanding Open Source Software Kasper Edwards Technical University of Denmark Department of Manufacturing Engineering and Management

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

Page 6: Perspectives for Understanding Open Source Software Kasper Edwards Technical University of Denmark Department of Manufacturing Engineering and Management

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.

Page 7: Perspectives for Understanding Open Source Software Kasper Edwards Technical University of Denmark Department of Manufacturing Engineering and Management

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

Page 8: Perspectives for Understanding Open Source Software Kasper Edwards Technical University of Denmark Department of Manufacturing Engineering and Management

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)

Page 9: Perspectives for Understanding Open Source Software Kasper Edwards Technical University of Denmark Department of Manufacturing Engineering and Management

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

Page 10: Perspectives for Understanding Open Source Software Kasper Edwards Technical University of Denmark Department of Manufacturing Engineering and Management

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?

Page 11: Perspectives for Understanding Open Source Software Kasper Edwards Technical University of Denmark Department of Manufacturing Engineering and Management

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

Page 12: Perspectives for Understanding Open Source Software Kasper Edwards Technical University of Denmark Department of Manufacturing Engineering and Management

The analytical problem

Two groups of actors Unpaid voluntary developers

Firms

Two levels – two perspectives Project - Epistemic communities and situated learning

System - economics

Page 13: Perspectives for Understanding Open Source Software Kasper Edwards Technical University of Denmark Department of Manufacturing Engineering and Management

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

Page 14: Perspectives for Understanding Open Source Software Kasper Edwards Technical University of Denmark Department of Manufacturing Engineering and Management

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

Page 15: Perspectives for Understanding Open Source Software Kasper Edwards Technical University of Denmark Department of Manufacturing Engineering and Management

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

Page 16: Perspectives for Understanding Open Source Software Kasper Edwards Technical University of Denmark Department of Manufacturing Engineering and Management

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

Page 17: Perspectives for Understanding Open Source Software Kasper Edwards Technical University of Denmark Department of Manufacturing Engineering and Management

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

Page 18: Perspectives for Understanding Open Source Software Kasper Edwards Technical University of Denmark Department of Manufacturing Engineering and Management

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

Page 19: Perspectives for Understanding Open Source Software Kasper Edwards Technical University of Denmark Department of Manufacturing Engineering and Management

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

Page 20: Perspectives for Understanding Open Source Software Kasper Edwards Technical University of Denmark Department of Manufacturing Engineering and Management

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

Page 21: Perspectives for Understanding Open Source Software Kasper Edwards Technical University of Denmark Department of Manufacturing Engineering and Management

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

Page 22: Perspectives for Understanding Open Source Software Kasper Edwards Technical University of Denmark Department of Manufacturing Engineering and Management

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