Why Open Source Works

Brit Butler
2011-08-08

(use arrow keys or PgUp/PgDown to move slides)

First things first...

Open Source is a process for making things, the most oft associated artifact being software.

We're going to use software as our vantage point since...

Just remember, Open Source is *NOT* about software!

Use the source, Luke!

That said, if software is our artifact, we need to discuss what software is composed of...

CODE

To deliver you from the preliminary terrors...

Source Code

Software is just text...really unusual, exquisitely structured, occasionally expensive text...

Some Key Points about Programming


Some Key Points about Software

This

Great. So what's Open Source Software (OSS)?

Software whose source code is publicly available under an appropriate legal license.

In the beginning... (or, History? What history?)

Software used to be free.

Early Proprietary Software

Arrived with the "hobbyist" then microcomputer markets in the late 70s and through the 80s.

Bill Gates wrote a particularly famous letter in 1976.

Meanwhile, in 1980...RMS got upset about a Network Laser Printer at the MIT AI Lab...

Then fought against LMI and Symbolics until 1983 when he founded the GNU project.

GNU? Gnu's Not Unix

Intended to write a ton of "Free Software" culminating in an Open Source Operating System.

Unix was a predominant hacker OS at the time...

Finished everything but the OS kernel. Then a Finnish kid (seriously, he was in school) showed up in 1991 named Linus Torvalds...

Fine. Hippies making software. What's hard about that?

Anybody in here old enough to have owned an Atari?

Now you know why Medley's taking so long...

What did they do?

1000s of volunteers, creating a complex public good, beating the pants off established market competitors and giving it away!

Does this correspond with your *intuitions* about economics?

Examples: Apache, Linux running NYSE, 900,000+ Google servers, CMGdigital!


Managed to solve a collective action problem by reframing the notions of ownership and property.

Who did it?

Anybody. Open Source is characterized by distributed, voluntary participation on voluntary tasks.

Lower the barrier to entry as much as possible. But a bunch of people "scratching an itch" is not enough...

Demographics are international, mixed paid and unpaid work these days. 80-20 rule still applies. Top-heavy.

Classical Economics

Property is an exclusionary notion. My ownership means I can deny you access.

Open Source makes the notion of ownership the right to distribute, reframing what property fundamentally is.

Political Economist Steven Weber suggests this underlying change supports all the rest.

The Goods

ExcludableNon-Excludable
Rival


Non-Rival
Private Goods
Food, Cars, Homes, iPhones

Club Goods
Cable TV, Private Gyms/Parks/Pools
Common Goods
Fish stocks, Timber, Coal, Many natural resources

Public Goods
National Defense, Public TV, (often) Air and Water

Open Source is a public good!

The Process - You Shall Be Faithful To It!

So what is this open source process? Are there tenets?

Is it like standard software engineering practice?

Glad you asked...

1. The Cool Factor

"Enjoyment predicts excellence." - Eric Raymond (aka an insufferable blowhard)

Work on stuff that interests you and seems cool.

Remember, Voluntary task selection! Self-elected projects.

2. Scratch an Itch

In some way improve or solve a personal problem for the author.

It should be relevant to you as well as just fun or cool.

3. Reuse, reuse, reuse

Maximally utilize and repurpose existing code. Don't reinvent the wheel.

Helps build something genuinely new, useful and/or innovative faster.

4. Parallel Efforts

More than one person wants to solve the same problem at the same time? Fine!

Technical battle royale! (See: LKML)

5. Leverage the Law of Large Numbers

"Given enough eyeballs, all bugs are shallow." - Linus Torvalds

The user is a contributor == the user is a tester. No barriers to entry!

6. Eternal Beta

Release early, release often! Interested users can just run from version control!

The software is never done...because software exists in a social context.

7. Docs, Docs, Docs

Code is *not* enough. Need beginner's guides, IRC channels, Wikis, Unit Tests...

Don't want to be stuck instructing each new contributor.

8. Talk a *lot*.

Argue about licensing. Argue about braindead parts of current architecture.

Argue about brilliant hypothetical overhauls. Argue about history. Wind up maintaining.

Dependencies...

All these behaviors are enabled by a trifecta of three things:

BDFLs?

Benevolent Dictator For Life

"organizations...are constrained to produce designs which are copies of the communication structures of the organization" - Conway's Law

No single dominant organizational structure.

Not without Dangers...

Oh, and some projects just die... IGNORED!

More Economics...

Microeconomic Issues

Macroeconomic Issues

Motivations...

Motivations... (pt. 2)

But what about competition for status?

Several reasons it doesn't overwhelm...

Scarcity or Abundance?

Abundance

Scarcity!

The Free Rider Problem

Public Goods generally require government provision because of the free rider problem.

Why not just take? Non-rival *and* non-excludable?

Worse still, why create in the first place?

Hypothesis

Software is not just a non-rival good, it's actually Anti-Rival!

Meaning that it's a network good and receives positive externalities from free riders.

Even free riders actually enhance the utility of the software!

How could this be...

Network dowhatnow?

Network Effect: The impact on the value of a product that one user has on the product for other users.

Positive Externality: The more people that use it, the more useful it is!

Why software? Bugfixing, testing, translation. Users turn to devs and back again!

-- Even a small percentage is HUGE. Still needs *some* balance against userbase.

Large groups thus thrive better. Flip on traditional collective action problems.

The Challenge Shifts: Coordinating Contributions

Forking - Occasional forks are needed, even endorsed!

-- Ex.: Lucid/XEmacs, Samba NG, etc

Licenses *explicitly* designed to empower forking...

Forking Success Stories

Resemble John Locke's Homestead Principle/Labor Theory of Ownership from his Second Treatise on Government.

Three Paths

What about authority?

"Talk is cheap, show me the code." - Linus Torvalds

Fine. What isn't Open Source good at?

Being a panacea or silver bullet.

Creating new markets (usually)

Design or UX-heavy software, games, etc

-- Are these IPs less well-suited to the OS process than code? If so, why?

Non-Code OS Examples?

Structured data definitely!

Structured Products? ...not so much

Maybe. Still waiting...

Questions?