From 7d5cd7ff588d5ee9edd8dfb0c108354da8c4819f Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Wed, 25 Sep 2013 15:51:06 -0400 Subject: essays/commercial-free-software.mdwn: New file. --- diff --git a/Makefile b/Makefile index 1170908..51eca5a 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,8 @@ srcs = \ projects/opkhelper/index.mdwn \ talks/software-contracts/index.mdwn \ talks/index.mdwn \ - essays/index.mdwn + essays/index.mdwn \ + essays/commercial-free-software.mdwn objs = $(srcs:.mdwn=.html) .SUFFIXES: diff --git a/essays/commercial-free-software.mdwn b/essays/commercial-free-software.mdwn new file mode 100644 index 0000000..6a0c828 --- /dev/null +++ b/essays/commercial-free-software.mdwn @@ -0,0 +1,270 @@ + + + +Commercial Free Software: Not an Oxymoron +========================================= + +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. + +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 +[false exclusionary disjunct][fed]. 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. + +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. + +[fed]: http://en.wikipedia.org/wiki/Affirming_a_disjunct + +Development +----------- + +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. + +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] + +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] + +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] + +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. + +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, *commercial airplanes*, 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] + +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] + +Support +------- + +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 *monopoly*. (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 *free market*. [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. + +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. + +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. + +Distribution +------------ + +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] + +Conclusion +---------- + +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). + +References: +----------- + +1. "Proprietary Software". Wikipedia. July + 10, 2011. <>. +2. "Open Letter to Hobbyists". Wikipedia. + July 6, 2011. + <>. +3. Williams, Sam. "For Want of a Printer". Free as + in Freedom. 2002: O'Reilly. + <>. +4. The Codebreakers. 2006: Asia Pacific + Development Information Programme. Aired on BBC World. + <>, + <>. +5. "Operating system Family share for 11/2010". + Top500 Supercomputing Sites. Top500.Org. + <>. +6. Kroah-Hartman, Greg; Corbet, Jonathan; and McPherson, Amanda. "Who is + Sponsoring the Work". Linux Kernel Development: + How Fast it is Going, Who is Doing It, What They are Doing, and Who is + Sponsoring It. 2010: The Linux Foundation. + <>. + 12-13. +7. Kroah-Hartman, Greg; Corbet, Jonathan; and McPherson, Amanda. "Who is + Doing the Work". Linux Kernel Development: How + Fast it is Going, Who is Doing It, What They are Doing, and Who is + Sponsoring It. 2010: The Linux Foundation. + <>. + 10. +8. Larabel, Michael. "AMD's New Open-Source Employees". + Phoronix. July 5, 2011. + <>. +9. "Qt (framework)". Wikipedia. July + 13, 2011. <>. +10. "Qt Licensing". Nokia Corporation. + <>. +11. "Qt Development Frameworks". Wikipedia. + July 8, 2011. + <>. +12. "GNAT". Wikipedia. May 9, 2011. + <>. +13. Stallman, Richard. "Free Software: Freedom and Cooperation". + GNU Project. Free Software Foundation, Inc. + July 13, 2011. + <>. +14. "Coreboot and Open Source Development". Business + Blog. Advanced Micro Devices, Inc. February 28, 2011. + <>. +15. "AMD to use Coreboot in Llano, other upcoming parts". Fudzilla. May 10, + 2011. + <>. +16. "Benefits". coreboot. January 15, 2008. + <>. +17. "Categories of Free and Nonfree Software". GNU + Project. Free Software Foundation, Inc. July 13, 2011. + <>. +18. "Support Options". Microsoft Support. + Microsoft Corporation. (No portable URI. Go to + <>, + click "Microsoft Windows XP Home Edition", select "Other", and click + "Continue".) +19. "Cygnus Solutions". Wikipedia. June + 8, 2011. <>. +20. "Marketing Cygnus Support -- Free Software history". September 27, 2006. + <>. +21. Woods, Dan. "Red Hat At $1 Billion". CIO + Central. Forbes.com LLC. November 30, 2010. + <>. +22. Dignan, Larry. "Red Hat: Nearing $1 billion in revenue; Not bad for free + software". ZDNet. CBS Interactive. March + 23, 2011. + <>. +23. "Canonical Ltd.". Wikipedia. June + 12, 2011. <>. +24. Nystrom, Sebastian. "Nokia and Digia working together to grow the Qt + community". The Qt Blog. Nokia + Corporation. March 7, 2011. + <>. +25. "Partner Locator". Nokia Corporation. + <>. +26. "AdaCore". Wikipedia. May 20, 2011. + <>. +27. "Company". Sencha. Sencha Inc. + <>. +28. "Consultants". Debian Project. July 11, 2011. + <>. +29. Sullivan, John. "Service Directory". Free Software Foundation, Inc. April + 14, 2011. <>. +30. "The Free Software Definition". GNU + Project. Free Software Foundation, Inc. July 13, 2011. + <>. +31. "Selling Free Software". GNU Project. Free + Software Foundation, Inc. July 13, 2011. + <>. + + -- cgit v0.9.1