Why Open Source Works
(use arrow keys or PgUp/PgDown to move slides)
(use arrow keys or PgUp/PgDown to move slides)
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!
That said, if software is our artifact, we need to discuss what software is composed of...
Software is just text...really unusual, exquisitely structured, occasionally expensive text...
Software whose source code is publicly available under an appropriate legal license.
Software used to be free.
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.
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?
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.
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.
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.
Food, Cars, Homes, iPhones
Cable TV, Private Gyms/Parks/Pools
Fish stocks, Timber, Coal, Many natural resources
National Defense, Public TV, (often) Air and Water
Open Source is a public good!
So what is this open source process? Are there tenets?
Is it like standard software engineering practice?
"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.
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.
Maximally utilize and repurpose existing code. Don't reinvent the wheel.
Helps build something genuinely new, useful and/or innovative faster.
More than one person wants to solve the same problem at the same time? Fine!
Technical battle royale! (See: LKML)
"Given enough eyeballs, all bugs are shallow." - Linus Torvalds
The user is a contributor == the user is a tester. No barriers to entry!
Release early, release often! Interested users can just run from version control!
The software is never done...because software exists in a social context.
Code is *not* enough. Need beginner's guides, IRC channels, Wikis, Unit Tests...
Don't want to be stuck instructing each new contributor.
Argue about licensing. Argue about braindead parts of current architecture.
Argue about brilliant hypothetical overhauls. Argue about history. Wind up maintaining.
All these behaviors are enabled by a trifecta of three things:
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.
Oh, and some projects just die... IGNORED!
Several reasons it doesn't overwhelm...
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?
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 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.
Forking - Occasional forks are needed, even endorsed!
-- Ex.: Lucid/XEmacs, Samba NG, etc
Licenses *explicitly* designed to empower forking...
Resemble John Locke's Homestead Principle/Labor Theory of Ownership from his Second Treatise on Government.
"Talk is cheap, show me the code." - Linus Torvalds
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?
Structured data definitely!
Structured Products? ...not so much
Maybe. Still waiting...