Perspectives for Understanding Open Source Software Kasper Edwards

  • Slides: 22
Download presentation
Perspectives for Understanding Open Source Software Kasper Edwards Technical University of Denmark Department of

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

Agenda o My perspective o Introducing open source software o Open source software as

Agenda o My perspective o Introducing open source software o Open source software as economic goods o Epistemic communities and situated learning o Economics o Conclusion

My perspective o Background Ø Mechanical engineer, worked as a computer consultant Ø Interested

My perspective o Background Ø Mechanical engineer, worked as a computer consultant Ø Interested in economics o Economics of technology Ø The technology must be taken into account Ø Out of the Black Box o Data Ø Hours of interviews with open source developers Ø Web sites / mailing lists Ø Personal interest / involvement

Introducing open source software o What is open source software? Ø Software like any

Introducing open source software o 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 o 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

o The open source software development cycle 1. Maintainer releases software and source code

o The open source software development cycle 1. 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

o Copyright is essential to open source software Ø Unauthorized copying and distribution is

o 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 o 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 o Observations Ø Open source software is

The problem of understanding Open Source Software o 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 o 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

Economic theory of goods Ø There is a long tradition that economists try to understand goods Ø Understanding properties in consumption

Open source software as a good o Technical properties Ø A digital being -

Open source software as a good o Technical properties Ø A digital being - unlimited copies at insignificant cost Ø Instantaneous mass-distribution » Open source software is non-rival in consumption o 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 o Under-provision Ø What is underprovided has

Theoretical consequences of being pure public good o Under-provision Ø What is underprovided has not been developed o 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 o The question Ø Why is open source software being developed?

Different approaches to the question o Why is open source software is being developed?

Different approaches to the question o 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 o Two groups of actors Ø Unpaid voluntary developers Ø Firms

The analytical problem o Two groups of actors Ø Unpaid voluntary developers Ø Firms o Two levels – two perspectives Ø Project - Epistemic communities and situated learning Ø System - economics

Epistemic communities and situated learning o Observation Ø Many are developing open source software

Epistemic communities and situated learning o Observation Ø Many are developing open source software Ø OSS development is time consuming Ø There is no monetary reward o Properties of the open source organisation Ø Very loosely coupled network Ø Limited communications bandwidth o 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 o Shared normative and principled beliefs Ø Strong

OSS projects as an epistemic community o Shared normative and principled beliefs Ø Strong belief in empowerment of users Ø A counter culture o Shared causal beliefs Ø Contributors have programming experience (or are gaining) Ø Provides a common understanding of how to solve a problem o 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 o Common policy enterprise Ø Freedom of choice Ø Freedom to expand change software to fit personal needs

Theoretical consequences of epistemic communities o Possible to collaborate with minimal communication Ø A

Theoretical consequences of epistemic communities o Possible to collaborate with minimal communication Ø A shared mindset Ø The code say more than a thousand words o Little or no need for co-ordination Ø Implicit understanding of the direction of the project o Problems of epistemic communities Ø A static analysis to a dynamic phenomenon Ø Epistemic communities does not explain entry into projects

Legitimate peripheral participation o Becoming part of a project is a learning process Ø

Legitimate peripheral participation o Becoming part of a project is a learning process Ø Every project has its own idiosyncrasies o Learning is situated Ø Knowledge cannot be de-coupled from situation Ø Learning can only be done through participation Ø Learners are trying to become insiders o 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

o Summing up epistemic communities and situated learning Ø Explain dynamics in open source

o 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 o Observations Ø Firms and private individuals develop open source software Ø Open

Economics o 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 o Hypothesis Ø Properties of OSS + type of agent = incentives to develop OSS Ø Externalities are the determining economic mechanism

o A bit o’ theory of externalities Ø Definition: One agents action which affect

o 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 o Several types of externalities Ø The standard pure public good, y is private and z a public good: Ø The general public good with no anonymity:

o The specific software good determine externalities Ø The number of use-products is a

o 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 o 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

o Large agregated affects from externalities Ø One individuals small investment result in large

o 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 o Concluding economics Ø Externalities explain incentives in OSS

Conclusion o Epistemic communities and situated learning Ø The code says more than a

Conclusion o Epistemic communities and situated learning Ø The code says more than a thousand words Ø Describes and helps to understand the process o Economics Ø The license affects the type of good Ø The license determine externalities Ø Incentives come from externalities