The	Trouble	with	Open	
Source	Software
Stephen	R.	Walli
@stephenrwalli
SCaLE 15X
2016:	The	Year	of	Open	Source	Angst
Making	Open	Source	Software	Sustainable
vs
Accelerating	Commercial	Open	Source	Software
Roads	&	Bridges
Accelerating	Commercial	Open	Source	Software
Projects
Products
Profits
How	do	I	get	my	project	HELP	(people/$$$)?
How	do	I	SUSTAIN	my	project?
How	do	I	deal	with	BURN	OUT?
How	do	I	get	my	project	HELP	(people/$$$)?
How	do	I	SUSTAIN	my	project?
How	do	I	deal	with	BURN	OUT?
How	do	we	ACCELERATE	this	project?
How	do	we	get	more	CORPORATE	SPONSORS?
How	do	we	make	money?
How	do	we	ACCELERATE	this	project?
How	do	we	get	more	CORPORATE	SPONSORS?
How	do	we	make	money?
Community	Mechanics
Commercial	Open	Source	Adventures	
Software	Dynamics
Community	Mechanics
No	one	cares	about	your project
No	one	cares	about	your project
(50M	Publicly	Viewable	Repos)
No	one	cares	about	your project
(“Ask	not	what	….”)
Committers
Contributors
Community
EcosystemProject
Products
Services
Books
Training
The	(Historical)	Evolution	of	an	Open	Source	Project
Committers
Contributors
Community
EcosystemProject
Products
Services
Books
Training
The	(Historical)	Evolution	of	a	Open	Source	Project
Well	Run
Committer(s)
+
Code
Developers
Committers
+
Code
Developers
Committers
+
Code
Developers
Users
Committers
+
Code
Developers
Users
Committers
+
Code
Developers
Users
Committers
+
Code
Books
Contractors
Products
Distributions
Consulting
Training
Support
1000:100:10:1
1000:100:10:1
(Freeloaders	means	you’re	doing	it	right)
How	do	you	increase	your	user	base?
(Because	that’s	where	you’ll	find	your	developers)
How	do	you	increase	your	user	base?
(Because	that’s	where	you’ll	find	your	developers)
How	do	you	encourage	developers?
(Because	these	are	your	future	contributors)
How	do	you	increase	your	user	base?
(Because	that’s	where	you’ll	find	your	developers)
How	do	you	encourage	developers?
(Because	these	are	your	future	contributors)
How	do	you	make	it	easy	to	contribute?
(Because	this	is	the	growth	and	success	of	your	community)
How	do	you	increase	your	user	base?
(How	do	you	make	it	easy	to	install/configure/use	the	software?)
How	do	you	encourage	developers?
(How	do	you	make	it	easy	to	build/test/experiment?)
How	do	you	make	it	easy	to	contribute?
(What	do	you	communicate	to	your	community)
Open	Source	Community	Practices
Project	Exes	
published
Project	Build	
Automated	I
Project	Install	
Automated
Complete	Src
published
Project	
BugTracking
Project	Build	
Automated	II
Project	Test	
Automated	I
Project	Test	
Automated	II
Basic	Arch	
Description
Project	
License
Mission
Statement
Code	of	
Conduct
Forums,	Email
Comms
Platform
FAQs,	Howto
Governance
Contributoion
Guidelines
Events
Community	Development	
Software	Construction	Maturity
Open	Source	Community	Patterns
Project	Exes	
published
Project	Build	
Automated	I
Project	Install	
Automated
Complete	Src
published
Project	
BugTracking
Project	Build	
Automated	II
Project	Test	
Automated	I
Project	Test	
Automated	II
Basic	Arch	
Description
Project	
License
Mission
Statement
Code	of	
Conduct
Forums,	Email
Comms
Platform
FAQs,	Howto
Governance
Contributoion
Guidelines
Events
Community	Development	
Software	Construction	Maturity
Encourage
Users
Encourage
ContributorsEncourage	Developers
No	Scale	without	Discipline
Committers
Contributors
Community
EcosystemProject
Products
Services
Books
Training
The	Evolution	of	an	Open	Source	Project
Committers
Contributors
Community
EcosystemProject
Products
Services
Books
Training
Corporate
Contributors
The	Evolution	of	an	Open	Source	Project
Committers
Contributors
Community
EcosystemProject
Products
Services
Books
Training
Corporate
Contributors
Customers
The	Evolution	of	an	Open	Source	Project
Commercial
Open	Source	Community	IP	Practices
Project	
License
Provenance	
Tracking
Repositories	
Protected
Dependencies	
Documented
Contributions	
Auditted
Provenance	
Management
Committers
Indemnified
Committer	
Governance
Trademark	
Management
IP	Management	Activities
Open	Source	Community	Practices
Project	Exes	
published
Project	Build	
Automated	I
Project	Install	
Automated
Complete	Src
published
Project	
BugTracking
Project	Build	
Automated	II
Project	Test	
Automated	I
Project	Test	
Automated	II
Basic	Arch	
Description
Project	
License
Project	
License
Mission
Statement
Code	of	
Conduct
Forums,	Email
Comms
Platform
FAQs,	Howto
Governance
Contributoion
Guidelines
Events
Provenance	
Tracking
Repositories	
Protected
Dependencies	
Documented
Contributions	
Auditted
Provenance	
Management
Committers
Indemnified
Committer	
Governance
Trademark	
Management
IP	Management	Activities	
Community	Development	
Software	Construction	Maturity
Open	Source	Community	Patterns
Project	Exes	
published
Project	Build	
Automated	I
Project	Install	
Automated
Complete	Src
published
Project	
BugTracking
Project	Build	
Automated	II
Project	Test	
Automated	I
Project	Test	
Automated	II
Basic	Arch	
Description
Project	
License
Project	
License
Mission
Statement
Code	of	
Conduct
Forums,	Email
Comms
Platform
FAQs,	Howto
Governance
Contributoion
Guidelines
Events
Provenance	
Tracking
Repositories	
Protected
Dependencies	
Documented
Contributions	
Auditted
Provenance	
Management
Committers
Indemnified
Committer	
Governance
Trademark	
Management
IP	Management	Activities	
Community	Development	
Software	Construction	Maturity
Encourage
Users
Encourage
ContributorsEncourage	Developers
Encourage/
Manage	Corp	
Contributions
Community	organization	practices
Software	construction	discipline
Automate	all	the	things	
Learn	to	say	“no”	…
Learn	to	share	responsibility
Commercial	Open	Source	Adventures
There	is	NO Open	Source	Business	Model
There	is	only	business
No	one	cares	about	your product
No	one	cares	about	your product
(“The	customer	doesn’t	want	a	¼	inch	drill	….”)
Corporate	Project	vs.	Community	Project
Corporate	Project	vs.	Community	Project
Core	Customer	Value	vs.	Complement	Value
Corporate	Project	vs.	Community	Project
Core	Customer	Value	vs.	Complement	Value
Core	Competency	vs.	Context
Corporate	Project	vs.	Community	Project
Core	Customer	Value	vs.	Complement	Value
Core	Competency	vs.	Context
Controlled	IP	vs.	Shared	IP
Corporate	Project	vs.	Community	Project
Core	Customer	Value	vs.	Complement	Value
Core	Competency	vs.	Context
Controlled	IP	vs.	Shared	IP
Evangelism	vs.	Engineering	Economics
Committers
Contributors
Community
EcosystemProject
Products
Services
Books
Training
Corporate
Contributors
The	Evolution	of	an	Open	Source	Project
Engineering/
Partner?/
Customer?/
Committers
Engineering/
Partner?/
Customer?/
Contributors
Community
EcosystemProject
Products
Services
Books
Training
Partner/Customer
Contributors
The	Evolution	of	a	Corporate Open	Source	Project
Setting	Customer	and	Partner	Expectations	in	Community	is	Critical
Engineering/
Partner?/
Customer?/
Committers
Engineering/
Partner?/
Customer?/
Contributors
Community
EcosystemProject
Products
Services
Books
Training
Partner/Customer
Contributors
The	Reality	of	a	Corporate Open	Source	Project
Setting	Customer	and	Partner	Expectations	in	Community	is	Critical
Customers	versus	Community
(Money	vs.	Time;	Expectations	are	different;	Conversations	are	different)
Customers	versus	Community
(Money	vs.	Time;	Expectations	are	different;	Conversations	are	different)
Partners	versus	Community
(Don’t	mix	business	with	community)
Customers	versus	Community
(Money	vs.	Time;	Expectations	are	different;	Conversations	are	different)
Partners	versus	Community
(Don’t	mix	business	with	community)
Products	versus	Projects
(Success	metrics	are	different;	OKRs	and	KPIs	are	different)
Engineering/
Partner?/
Customer?/
Competitors?/
Committers
Engineering/
Partner?/
Customer?/
Competitors?/
Contributors
Community
EcosystemProject
Products
Services
Books
Training
Partners/Competitors
Contributors
The	Reality	of	Corporate	Open	Source	Projects
Setting	Customer	and	Partner	Expectations	in	Community	is	Critical
What	problem	are	you	solving	for	your	customer
Don’t	confuse	projects	with	products
Don’t	confuse	community	with	customers
Learn	to	ignore	your	competitors
Learn	to	share	engineering	context	responsibility
Software	Dynamics
Open	Source	Software	is	about	Engineering	Economics
1950 1960 1970 200019901980 2010
Code	sharing
At	Princeton	
IAS	in	late	
1940s
IBM	“SHARE”	
Conf &	Library	
Begins	1953
DECUS
Conf &	Library	
Begins	1962
MIT	Project	
Athena	Begins	
1983
1BSD	Released	
1977
AT&T	Shares	
First	UNIX	tapes	
early-70s
Free	Software	
Foundation	
Launches	1985
2nd DoJ vs	IBM	begins
“Software	Bundling	
is	Anti-competitive”
1969
IBM	response	is	to	
unbundle	HW,	SW,	&	
services	pricing
1st DoJ vs IBM	
Consent	Decree
“Hardware	Bundling	
is	Anti-competitive”
1956
Open	Source	
Definition	1997
USENIX	Begins
1975
Linus	Releases	
Linux	1991
Apache	httpd
Released	1995
Apache	Software	
Foundation	1999
OSDL	Forms
2000
OSDL	Re-forms	as	
Linux	Foundation
2007
U.S.	Congress	
Adds	Computer	
Software	to	
Copyright	Law
1980
GCC
1987
emacs
1975
We’ve	shared	software	since	we’ve	written	software
1950 1960 1970 200019901980 2010
Code	sharing
At	Princeton	
IAS	in	late	
1940s
IBM	“SHARE”	
Conf &	Library	
Begins	1953
DECUS
Conf &	Library	
Begins	1962
MIT	Project	
Athena	Begins	
1983
1BSD	Released	
1977
AT&T	Shares	
First	UNIX	tapes	
early-70s
Free	Software	
Foundation	
Launches	1985
2nd DoJ vs	IBM	begins
“Software	Bundling	
is	Anti-competitive”
1969
IBM	response	is	to	
unbundle	HW,	SW,	&	
services	pricing
1st DoJ vs IBM	
Consent	Decree
“Hardware	Bundling	
is	Anti-competitive”
1956
Open	Source	
Definition	1997
USENIX	Begins
1975
Linus	Releases	
Linux	1991
Apache	httpd
Released	1995
Apache	Software	
Foundation	1999
OSDL	Forms
2000
OSDL	Re-forms	as	
Linux	Foundation
2007
U.S.	Congress	
Adds	Computer	
Software	to	
Copyright	Law
1980
GCC
1987
emacs
1975
We’ve	shared	software	since	we’ve	written	software
Writing	good	software	is	hard	work
1950 1960 1970 200019901980 2010
Code	sharing
At	Princeton	
IAS	in	late	
1940s
IBM	“SHARE”	
Conf &	Library	
Begins	1953
DECUS
Conf &	Library	
Begins	1962
MIT	Project	
Athena	Begins	
1983
1BSD	Released	
1977
AT&T	Shares	
First	UNIX	tapes	
early-70s
Free	Software	
Foundation	
Launches	1985
2nd DoJ vs	IBM	begins
“Software	Bundling	
is	Anti-competitive”
1969
IBM	response	is	to	
unbundle	HW,	SW,	&	
services	pricing
1st DoJ vs IBM	
Consent	Decree
“Hardware	Bundling	
is	Anti-competitive”
1956
Open	Source	
Definition	1997
USENIX	Begins
1975
Linus	Releases	
Linux	1991
Apache	httpd
Released	1995
Apache	Software	
Foundation	1999
OSDL	Forms
2000
OSDL	Re-forms	as	
Linux	Foundation
2007
U.S.	Congress	
Adds	Computer	
Software	to	
Copyright	Law
1980
GCC
1987
emacs
1975
Companies	shared	software	before	we	had	the	OSD
DEC	Ultrix
1984
SunOS
1983
OSF/1
1992
Red	Hat
1993
1950 1960 1970 200019901980 2010
Code	sharing
At	Princeton	
IAS	in	late	
1940s
IBM	“SHARE”	
Conf &	Library	
Begins	1953
DECUS
Conf &	Library	
Begins	1962
MIT	Project	
Athena	Begins	
1983
1BSD	Released	
1977
AT&T	Shares	
First	UNIX	tapes	
early-70s
Free	Software	
Foundation	
Launches	1985
2nd DoJ vs	IBM	begins
“Software	Bundling	
is	Anti-competitive”
1969
IBM	response	is	to	
unbundle	HW,	SW,	&	
services	pricing
1st DoJ vs IBM	
Consent	Decree
“Hardware	Bundling	
is	Anti-competitive”
1956
Open	Source	
Definition	1997
USENIX	Begins
1975
Linus	Releases	
Linux	1991
Apache	httpd
Released	1995
Apache	Software	
Foundation	1999
OSDL	Forms
2000
OSDL	Re-forms	as	
Linux	Foundation
2007
U.S.	Congress	
Adds	Computer	
Software	to	
Copyright	Law
1980
GCC
1987
emacs
1975
Companies	shared	software	before	we	had	the	OSD
(Writing	good	software	is	hard	work)
DEC	Ultrix
1984
SunOS
1983
OSF/1
1992
Red	Hat
1993
Collaboratively-Developed	Liberally-Licensed	Software	is	
about	Engineering	Economics
The	Democratization	of	Music
The	Democratization	of	Music,	Books,
The	Democratization	of	Music,	Books,	
Movies
The	Democratization	of	Music,	Books,	
Movies,	Journalism
The	Democratization	of	Music,	Books,	
Movies,	Journalism,	TV	…
“Democratization”
Dramatically	Lowered	Barriers	to	Entry
Removed	Lower	Distribution	Costs
The	Democratization	of	Software
Software	is	Dynamic
Software	is	a	Malleable	Machine
Software	Creation	is	an	Engineering	Process
“Software	is	eating	the	world.”
The	Demand	for	Software	is	Going	UP
We	are	Tackling	New	Bigger	Problems
We	are	Tackling	New	Bigger	Problems
We	are	Tackling	New	Smaller	Problems
We	are	Tackling	New	Bigger	Problems
We	are	Tackling	New	Smaller	Problems
We	are	Tackling	New	Big	Data	Problems
We	are	Tackling	New	Bigger	Problems
We	are	Tackling	New	Smaller	Problems
We	are	Tackling	New	Big	Data	Problems
We	are	Tackling	New	ML	Problems
The	Software	Skills	Gap	is	Growing
The	Software	Skills	Gap	is	Growing
The	Software	Quality	Gap	is	Growing
50,000,000	Publicly	Viewable	Repos
50,000,000	Publicly	Viewable	Repos
(49,950,000	Repositories	of	Dross)
How	do	I	get	my	project	HELP	(people/$$$)?
How	do	I	SUSTAIN	my	project?
How	do	I	deal	with	BURN	OUT?
How	do	I	get	my	project	HELP	(people/$$$)?
How	do	I	SUSTAIN	my	project?
How	do	I	deal	with	BURN	OUT?
How	do	we	ACCELERATE	this	project?
How	do	we	get	more	CORPORATE	SPONSORS?
How	do	we	make	money?
How	do	we	ACCELERATE	this	project?
How	do	we	get	more	CORPORATE	SPONSORS?
How	do	we	make	money?
Collaboratively-Developed,	Liberally-Licensed	Software	is …
Open	Source	Software	is …
Open	Source	Software	is
The	solution	to	the	demand	problem	…
Open	Source	Software	is
The	solution	to	the	demand	problem	…
The	solution	to	the	skills	gap	problem	…
In	a	world	of	Open	Source	Software
In	a	world	of	Open	Source	Software,	
How	do	we	move	from	programming	to	engineering?
In	a	world	of	Open	Source	Software,	
How	do	we	move	from	programming	to	engineering?
How	do	we	share	more	and	better	software	more	easily?
Thank	you
Questions	&	Comments
stephen r walli
stephen.walli@gmail.com
@stephenrwalli
http://stephesblog.blogs.com
http://opensource.com
https://medium.com/@stephenrwalli/
The	License	Rant

The Trouble with Open Source Software