summaryrefslogtreecommitdiffstats
path: root/essays/commercial-free-software.html
blob: 2a9c724664a507053417adb720c7806ff6a8f91c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
<!--#set var="title" value="Commercial Free Software: Not an Oxymoron" -->
<!--#include virtual="../includes/header.html" -->
<h2>Commercial Free Software: Not an Oxymoron</h2>
<p>
	TODO: Clean up some wording, consider removing reference to Sencha Inc.,
	maybe mention Qt "open governance", mention transferable skills under
	"Development", discuss application stores under "Distribution", and note
	that most money in proprietary software comes from support rather than from
	licenses.
</p>
<p>
	Many people believe that money can't be made in free (as in freedom)
	software. They believe that "free" means "noncommercial", and they might
	compare "open-source" software and "commercial" software as if the terms
	were opposite and mutually exclusive. This is in fact a logical fallacy;
	specifically it is a
	<a href="http://en.wikipedia.org/wiki/Affirming_a_disjunct">false
	exclusionary disjunct</a>. Software can be both free and commercial. If a
	software copyright license allowed only noncommercial dealing, it would be
	considered neither free nor open source.
</p>
<p>
	Free software is in fact used commercially, and successful business models
	around free software exist (and have existed longer than those around
	proprietary software have). I've generalized the ways in which people make
	money with free software into three broad categories: development, support,
	and distribution.
</p>
<h3>
	Development
</h3>
<p>
	Modern economic models around free software closely resemble early economic 
	models around software. Keep in mind that software freedom is as old as 
	software itself. The "proprietarization", as I call it, of software began 
	around the 1970s, apparently pioneered by International Business Machines 
	(IBM). [1] It was furthered by companies like "Micro-Soft" and people like 
	Bill Gates, who in 1976 published an "Open Letter to Hobbyists" that 
	criticized people for sharing software without paying for it. [2] Before 
	that time, software was usually distributed with source code (some 
	universities even had policies of rejecting software that wasn't). Software 
	was often distributed either at no cost or at the cost of making and 
	shipping copies (at the time, on tapes). [3] Programmers were paid for the 
	time they spent writing software, not for copies of the software itself (or 
	really, licenses to use the software). [4] We see the same thing happening 
	today. Programmers are being paid to work on software, and the software is 
	distributed freely (that is, without unfair restrictions) and often even at 
	no charge.
</p>
<p>
	I cite four major examples of this phenomenon of paid development of free 
	software. The first is Linux, a powerful and reliable high-performance 
	kernel found in everything from televisions and ATMs to large servers and 
	supercomputers (in fact, in over 90% of the world's 500 fastest 
	supercomputers [5]). As of 2010, over 70% of work done on Linux is done by 
	paid programmers. [6] At least 659 companies have supported the development 
	of Linux. [7] Compare that to the Windows NT kernel of Microsoft Windows, 
	the development of which is supported by only one company (the only one 
	legally allowed to do so). Additionally, AMD's recent hiring of two more 
	graphics driver developers shows that if you can improve a company's 
	freely-licensed software, they might hire you to do so officially. [8]
</p>
<p>
	The next example is Qt, a flexible cross-platform application framework 
	popular in desktop, server, and embedded applications. [9] Qt is free 
	software, licensed under the GNU Lesser General Public License (LGPL) 
	version 2.1. [10] Most of Qt's developers are employed by Qt Development 
	Frameworks, a subsidiary of Nokia Corporation since 2008. [11]
</p>
<p>
	My third example is GNAT, a compiler for the Ada programming language that 
	is now a part of the GNU Compiler Collection (GCC). It was originally 
	developed by the New York University under a $3-million contract awarded by 
	the United States Air Force in 1992. Under the requirements of the 
	contract, copyright on the software was assigned to the Free Software 
	Foundation and the software was released under the GNU General Public 
	License (GPL). [12]
</p>
<p>
	Finally, I cite the GNU Project, a project announced in 1983 with the 
	now-successful goal of creating a complete free operating system. The Free 
	Software Foundation, Inc., a non-profit organization founded by Dr. Richard 
	Stallman in 1985 to support the development of free software, hired 
	programmers to work on parts of the GNU system. GNU Bash (a popular and 
	user-friendly command shell now used in systems like GNU/Linux and Apple 
	Mac OS X), GLIBC (a C library), and GNU tar (an archiving program) were all 
	initially developed by paid programmers. [13] Yet all are free software, 
	and all are distributed often at no charge.
</p>
<p>
	But you may think this doesn't make any sense. Why do companies pay for the 
	development of software for which few people pay? They must be losing lots 
	of money. Actually, they have a financial interest in having high-quality 
	software available, even if few or no people actually pay for it (but 
	remember that free software is a matter of freedom, not price). Many 
	companies sell support for free software; we'll see more about this later. 
	Many companies sell hardware with which free software is run (servers, 
	wireless network adapters, digital cameras, mobile phones, televisions, 
	cars, <em>commercial airplanes</em>, etc.). Many companies see free software as a 
	way to save time and money and not have to reinvent the wheel. If you want 
	something that serves a similar but not identical function as a proprietary 
	program does, you have to write a new program from scratch; a free program, 
	on the other hand, can simply be adapted to a new purpose. I suspect this 
	is part of AMD's motivation in supporting Coreboot, a free bootloader that 
	is faster and more flexible than proprietary BIOSes, in their server and 
	embedded products. [14][15][16]
</p>
<p>
	Finally, most software is custom software, software that is written for a 
	single person or company and not meant to be released. This software is 
	technically commercial and often free in a trivial sense. If there's one 
	user, and that user has the rights to the software, then the software is 
	free for all its users. [13][17]
</p>
<h3>
	Support
</h3>
<p>
	With proprietary software, only the copyright holder is allowed to 
	understand it, and only they are allowed to support it. Support of 
	proprietary software is a <em>monopoly</em>. (And as it turns out, this allows 
	something like extortion. A phone call to Microsoft about Windows XP costs 
	$59; an e-mail costs $49. And soon they'll discontinue support for Windows 
	XP completely. [18] You have to pay to report a bug, then pay for an 
	"upgrade" to see if they've fixed it. [13]) With free software, everyone is 
	allowed to understand it and support it. Support of free software is a 
	<em>free market</em>. [13] There is competition in free software support. 
	Companies and individuals must please their clients, because their clients 
	are free to go elsewhere for support.
</p>
<p>
	Individuals make money from making changes to free programs. They can 
	support their own programs (in fact, Richard Stallman made a lot of money 
	doing this, more than he ever did before [13]) or anyone else's free 
	programs. Again, like the earliest programmers, these individuals are paid 
	for doing work, not for the results of their work. The results of their 
	work are usually free software that does what their clients want it to do.
</p>
<p>
	Individuals and companies sell consulting services and support contracts 
	for free software. The first company to officially do so was Cygnus 
	Solutions, founded in 1989. Cygnus maintained many parts of the GNU 
	development toolchain and offered commercial support for GNU software. 
	Between 1999 and 2000, Cygnus merged with Red Hat, Inc. [19][20] Red Hat 
	sells support for GNU/Linux, and its revenue is expected to reach $1 
	billion this year, an impressive record. [21][22] Canonical Ltd., founded 
	in 2004, maintains and supports a number of free software projects, 
	including the Ubuntu GNU/Linux operating system. [23] Nokia Corporation 
	used to provide official support for the Qt framework, but earlier this 
	year it sold this support business to Digia Plc. [24] Digia is one of 27 
	"Qt Partners", companies that work with Nokia to provide commercial support 
	for Qt. [25] AdaCore is a company run by the original developers of GNAT, 
	the aforementioned Ada compiler commissioned by the U.S. Air Force. AdaCore 
	has been officially supporting GNAT since 1994. [12][26] 
	Sencha Inc. also offers support for its own free software. 
	[27] The Debian project has a list of 824 consultants in 63 countries who 
	support the use of Debian GNU operating systems. [28] The Free Software 
	Foundation lists 86 individuals and companies offering support services in 
	free software. [29] Clearly, there is a successful business model here -- 
	one based in a free market.
</p>
<h3>
	Distribution
</h3>
<p>
	Additionally, some people sell free software. That is, they charge a fee 
	for distribution, even of other people's work. How is this morally 
	acceptable? A person can profit from someone else's hard work? Well, it may 
	go against the traditional free software economic model of paying for time 
	spent on work instead of for copies of the results of that work. But it's 
	not inherently unethical or even illegal. In fact, software licenses must 
	allow this practice in order to be considered free licenses. [30] In some 
	cases, there is a cost in making and distributing copies of software (e.g. 
	the cost of burning and shipping CDs). Or people may just want to earn some 
	money for performing a moral act (sharing freedom) and maybe even 
	contribute some of the profit back to the developers. [31] In the 1980s, 
	Richard Stallman himself charged a fee for copies of GNU Emacs (a text 
	editor he wrote) that he shipped on tape. In doing so, he made about $1300 
	per month, a respectable income from something that's "free"! [13]
</p>
<h3>
	Conclusion
</h3>
<p>
	In short, programmers have always had ways to earn money with free 
	software, even before proprietary software existed. Most programmers who 
	write free software are in fact paid for their work, in a variety of ways. 
	The difference in free and proprietary software economic models is that 
	copyright holders (not necessarily even the developers) of proprietary 
	software profit from restricting users, while free software developers make 
	money in more ethical ways. Free software programmers are usually paid for 
	the time spent writing software, not for copies of the software (or more 
	accurately, the right to use the software).
</p>
<h3>
	References:
</h3>
<ol>
	<li>
		"Proprietary Software". <span class="cite-title">Wikipedia</span>. July 10, 2011. 
		<a href="http://en.wikipedia.org/wiki/Proprietary_software">&lt;http://en.wikipedia.org/wiki/Proprietary_software&gt;</a>.
	</li>
	<li>
		"Open Letter to Hobbyists". <span class="cite-title">Wikipedia</span>. July 6, 2011. 
		<a href="http://en.wikipedia.org/wiki/Open_Letter_to_Hobbyists">&lt;http://en.wikipedia.org/wiki/Open_Letter_to_Hobbyists&gt;</a>.
	</li>
	<li>
		Williams, Sam. "For Want of a Printer". <span class="cite-title">Free as in Freedom</span>. 2002: 
		O'Reilly.
		<a href="http://oreilly.com/openbook/freedom/ch01.html">&lt;http://oreilly.com/openbook/freedom/ch01.html&gt;</a>.
	</li>
	<li>
		<span class="cite-title">The Codebreakers</span>. 2006: Asia Pacific Development Information 
		Programme. Aired on BBC World.
		<a href="http://www.apdip.net/news/fossdoc">&lt;http://www.apdip.net/news/fossdoc&gt;</a>, 
		<a href="http://www.archive.org/details/The-Codebreakers">&lt;http://www.archive.org/details/The-Codebreakers&gt;</a>.
	</li>
	<li>
		"Operating system Family share for 11/2010". <span class="cite-title">Top500 Supercomputing 
		Sites</span>. Top500.Org.
		<a href="http://www.top500.org/stats/list/36/osfam">&lt;http://www.top500.org/stats/list/36/osfam&gt;</a>.
	</li>
	<li>
		Kroah-Hartman, Greg; Corbet, Jonathan; and McPherson, Amanda. "Who is 
		Sponsoring the Work". <span class="cite-title">Linux Kernel Development: How Fast it is Going, Who 
		is Doing It, What They are Doing, and Who is Sponsoring It</span>. 2010: The 
		Linux Foundation. 
		<a href="http://www.linuxfoundation.org/docs/lf_linux_kernel_development_2010.pdf">&lt;http://www.linuxfoundation.org/docs/lf_linux_kernel_development_2010.pdf&gt;</a>.
		12-13.
	</li>
	<li>
		Kroah-Hartman, Greg; Corbet, Jonathan; and McPherson, Amanda. "Who is 
		Doing the Work". <span class="cite-title">Linux Kernel Development: How Fast it is Going, Who is 
		Doing It, What They are Doing, and Who is Sponsoring It</span>. 2010: The Linux 
		Foundation. 
		<a href="http://www.linuxfoundation.org/docs/lf_linux_kernel_development_2010.pdf">&lt;http://www.linuxfoundation.org/docs/lf_linux_kernel_development_2010.pdf&gt;</a>.
		10.
	</li>
	<li>
		Larabel, Michael. "AMD's New Open-Source Employees". <span class="cite-title">Phoronix</span>. July 5, 
		2011.
		<a href="http://www.phoronix.com/scan.php?page=news_item&amp;px=OTYzOA">&lt;http://www.phoronix.com/scan.php?page=news_item&amp;px=OTYzOA&gt;</a>.
	</li>
	<li>
		"Qt (framework)". <span class="cite-title">Wikipedia</span>. July 13, 2011. 
		<a href="http://en.wikipedia.org/wiki/Qt_%28framework%29">&lt;http://en.wikipedia.org/wiki/Qt_%28framework%29&gt;</a>.
	</li>
	<li>
		"Qt Licensing". Nokia Corporation. 
		<a href="http://qt.nokia.com/products/licensing">&lt;http://qt.nokia.com/products/licensing&gt;</a>.
	</li>
	<li>
		"Qt Development Frameworks". <span class="cite-title">Wikipedia</span>. July 8, 2011. 
		<a href="http://en.wikipedia.org/wiki/Qt_Development_Frameworks">&lt;http://en.wikipedia.org/wiki/Qt_Development_Frameworks&gt;</a>.
	</li>
	<li>
		"GNAT". <span class="cite-title">Wikipedia</span>. May 9, 2011.
		<a href="http://en.wikipedia.org/wiki/GNAT">&lt;http://en.wikipedia.org/wiki/GNAT&gt;</a>.
	</li>
	<li>
		Stallman, Richard. "Free Software: Freedom and Cooperation". <span class="cite-title">GNU 
		Project</span>. Free Software Foundation, Inc. July 13, 2011. 
		<a href="http://www.gnu.org/events/rms-nyu-2001-transcript.html">&lt;http://www.gnu.org/events/rms-nyu-2001-transcript.html&gt;</a>.
	</li>
	<li>
		"Coreboot and Open Source Development". <span class="cite-title">Business Blog</span>. Advanced Micro 
		Devices, Inc. February 28, 2011. 
		<a href="http://blogs.amd.com/work/2011/02/28/amd-coreboot/">&lt;http://blogs.amd.com/work/2011/02/28/amd-coreboot/&gt;</a>.
	</li>
	<li>
		"AMD to use Coreboot in Llano, other upcoming parts". Fudzilla. May 10, 
		2011. 
		<a href="http://www.fudzilla.com/home/item/22677-amd-to-use-coreboot-in-llano-other-upcoming-parts">&lt;http://www.fudzilla.com/home/item/22677-amd-to-use-coreboot-in-llano-other-upcoming-parts&gt;</a>.
	</li>
	<li>
		"Benefits". <span class="cite-title">coreboot</span>. January 15, 2008. 
		<a href="http://www.coreboot.org/Benefits">&lt;http://www.coreboot.org/Benefits&gt;</a>.
	</li>
	<li>
		"Categories of Free and Nonfree Software". <span class="cite-title">GNU Project</span>. Free Software 
		Foundation, Inc. July 13, 2011. 
		<a href="http://www.gnu.org/philosophy/categories.html#PrivateSoftware">&lt;http://www.gnu.org/philosophy/categories.html#PrivateSoftware&gt;</a>.
	</li>
	<li>
		"Support Options". <span class="cite-title">Microsoft Support</span>. Microsoft Corporation. (No 
		portable URI. Go to 
		<a href="https://support.microsoft.com/oas/default.aspx?gprid=1173&amp;st=1&amp;wfxredirect=1&amp;sd=gn">&lt;https://support.microsoft.com/oas/default.aspx?gprid=1173&amp;st=1&amp;wfxredirect=1&amp;sd=gn&gt;</a>,
		click "Microsoft Windows XP Home Edition", select "Other", and 
		click "Continue".)
	</li>
	<li>
		"Cygnus Solutions". <span class="cite-title">Wikipedia</span>. June 8, 2011. 
		<a href="http://en.wikipedia.org/wiki/Cygnus_Solutions">&lt;http://en.wikipedia.org/wiki/Cygnus_Solutions&gt;</a>.
	</li>
	<li>
		"Marketing Cygnus Support -- Free Software history". September 27, 
		2006.
		<a href="http://www.toad.com/gnu/cygnus/">&lt;http://www.toad.com/gnu/cygnus/&gt;</a>.
	</li>
	<li>
		Woods, Dan. "Red Hat At $1 Billion". <span class="cite-title">CIO Central</span>. Forbes.com LLC. 
		November 30, 2010. 
		<a href="http://blogs.forbes.com/ciocentral/2010/11/30/red-hat-at-1-billion/">&lt;http://blogs.forbes.com/ciocentral/2010/11/30/red-hat-at-1-billion/&gt;</a>.
	</li>
	<li>
		Dignan, Larry. "Red Hat: Nearing $1 billion in revenue; Not bad for 
		free software". <span class="cite-title">ZDNet</span>. CBS Interactive. March 23, 2011. 
		<a href="http://www.zdnet.com/blog/btl/red-hat-nearing-1-billion-in-revenue-not-bad-for-free-software/46445">&lt;http://www.zdnet.com/blog/btl/red-hat-nearing-1-billion-in-revenue-not-bad-for-free-software/46445&gt;</a>.
	</li>
	<li>
		"Canonical Ltd.". <span class="cite-title">Wikipedia</span>. June 12, 2011. 
		<a href="http://en.wikipedia.org/wiki/Canonical_Ltd.">&lt;http://en.wikipedia.org/wiki/Canonical_Ltd.&gt;</a>.
	</li>
	<li>
		Nystrom, Sebastian. "Nokia and Digia working together to grow the Qt 
		community". <span class="cite-title">The Qt Blog</span>. Nokia Corporation. March 7, 2011. 
		<a href="http://blog.qt.nokia.com/2011/03/07/nokia-and-digia-working-together/">&lt;http://blog.qt.nokia.com/2011/03/07/nokia-and-digia-working-together/&gt;</a>.
	</li>
	<li>
		"Partner Locator". Nokia Corporation. 
		<a href="http://qt.nokia.com/partners/partner-locator">&lt;http://qt.nokia.com/partners/partner-locator&gt;</a>.
	</li>
	<li>
		"AdaCore". <span class="cite-title">Wikipedia</span>. May 20, 2011. 
		<a href="http://en.wikipedia.org/wiki/AdaCore">&lt;http://en.wikipedia.org/wiki/AdaCore&gt;</a>.
	</li>
	<li>
		"Company". <span class="cite-title">Sencha</span>. Sencha Inc.
		<a href="http://www.sencha.com/company/">&lt;http://www.sencha.com/company/&gt;</a>.
	</li>
	<li>
		"Consultants". Debian Project. July 11, 2011. 
		<a href="http://www.debian.org/consultants/">&lt;http://www.debian.org/consultants/&gt;</a>.
	</li>
	<li>
		Sullivan, John. "Service Directory". Free Software Foundation, Inc. 
		April 14, 2011.
		<a href="http://www.fsf.org/resources/service/">&lt;http://www.fsf.org/resources/service/&gt;</a>.
	</li>
	<li>
		"The Free Software Definition".  <span class="cite-title">GNU Project</span>. Free Software 
		Foundation, Inc. July 13, 2011. 
		<a href="http://www.gnu.org/philosophy/free-sw.html">&lt;http://www.gnu.org/philosophy/free-sw.html&gt;</a>.
	</li>
	<li>
		"Selling Free Software".  <span class="cite-title">GNU Project</span>. Free Software Foundation, Inc. 
		July 13, 2011.
		<a href="http://www.gnu.org/philosophy/selling.html">&lt;http://www.gnu.org/philosophy/selling.html&gt;</a>.
	</li>
</ol>
<!--#include virtual="../includes/footer.html" -->