-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.tex
137 lines (75 loc) · 28.2 KB
/
main.tex
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
\documentclass[a4paper]{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage[colorinlistoftodos]{todonotes}
\usepackage[margin=1in]{geometry}
\title{While businesses may seek to use open source licenses, the desire to
create a ‘digital commons’ is rarely a motive for doing so. Discuss.}
\author{\begin{tabular}{r@{ }l}
Luke Mitchell \\[1ex]
Words: 3780
\end{tabular}}
\date{\today}
\begin{document}
\maketitle
\begin{abstract}
The use of open source licenses by businesses has risen in recent years, opposing the older, proprietary model of software development. By making their products freely available, businesses are able to leverage a variety of benefits including receiving greater feedback, currying favour within a community and taking advantage of Linus’ Law. This change in business behaviour has resulted in new revenue models emerging, shifting profit generation from selling a product to supplying accessories, training and support, or to save money where expenditure was previously high, such as recruitment or developing software libraries in-house. I discuss the advantages and motivations for businesses involved with open source projects and draw the conclusion that the creation of a digital commons is unlikely to be the main motive in most cases but that, for many businesses, it is likely to be a contributing factor.
\end{abstract}
\section{Introduction}
Over the past 15 years the open source movement has gained exposure rapidly, fuelled by high-profile projects such as Firefox\cite{firefox}\cite{browserstats}, OpenOffice\cite{openoffice}\cite{osalternatives} and the emergence of the GNU/Linux operating system as a market leader in the server space\cite{websurvey}\cite{osusage}. Much of the computer-literate population make daily use of open source software\cite{commonsoftware}\cite{commonsoftware2}, with business and home-users coming to depend on it for their daily habits.
Open source software (OSS\footnote{This is often referred to as FOSS in literature, for Free and Open Source Software.}) has begun to dominate many market areas, providing free, high-quality alternatives to a large number of proprietary products and services. Due to this, businesses often opt to use OSS for their products and in their offices. Whilst the shift from proprietary to free software may provide obvious financial benefit to industry, particularly within the technology sector\cite{buildessential}, what is perhaps less obvious is why a large number of these businesses develop open source products themselves.
One motivation is the desire to create a “digital commons”, a vast, freely accessible pool of knowledge, open and publicly available. The notion of such a resource is appealing to many proponents of open source\cite{fsf}, and seemingly altruistic goal, yet this does not make obvious financial sense when considered alongside many traditional business models. The question can then be asked: why are thousands of programmers employed to work on open source project\cite{ibmlinux}\cite{mozillacrisis}? In this essay I will attempt to answer that question. I will explore some of the motivations behind businesses creating products and distributing them using an open source license, using examples of businesses doing so and their revenue models.
\section{What is meant by open source?}
The term “open source” is one used in an ever-widening variety contexts; the term was originally coined in the late ‘90’s\cite{osihistory} to describe software distributed alongside its source code\footnote{Due to the nature of the essay topic there is some technical discussion regarding OSS; I use the terms “source code” to mean the human-readable representation of a program and “closed source” or “proprietary”, when in reference to a program, to mean the machine-readable representation of a program.}, allowing it to be studied and modified at will. With the widespread popularity of the Internet the term began to expand to include other works, released under “copyleft”\footnote{“Copyleft is a general method for making a program (or other work) free, and requiring all modified and extended versions of the program to be free as well.”\cite{copyleft}} licenses such as the Creative Commons\cite{cc} or freely allowing re-use. A huge amount of work has been published under open source licenses, with an estimated 59mn\cite{ccdir} photographs released under the Creative Commons alone, and many millions of lines of code\footnote{The Linux kernel spans some 18mn lines on its own!\cite{linuxkernel}}.
The roots of the open source movement begin much earlier than 1998, however. In the early days software was delivered as source code, expected to be modified - indeed, it was usually necessary to modify a program to get it to run correctly\cite{historyos}. This quickly led to an ethos of sharing amongst programmers, and a “standing upon the shoulders of giants” approach emerged, particularly within academic institutions such as the Massachusetts Institute of Technology (MIT)\cite{faif}. With the popularisation of personal computers this began to change, however, and software was often distributed pre-compiled, preventing modification and improvement, a move seen as infuriating by academics and the software “hackers” alike. This attitude shift eventually led to a Richard Stallman, an academic notable for inventing the popular Emacs editor, to found the GNU Project in 1983 - with the aim of creating, and distributing, a fully free and open-source toolchain, from the operating system upwards\cite{stallmanusenet}. This operating system became known as GNU/Linux and would eventually power much of the Internet.
The Open Source Initiative\cite{osi} (OSI) is a body founded with the intention of standardising open source licenses, of which a myriad exist. The OSI reviews licenses and grants them approval if they are deemed to have satisfied the Open Source Definition: a series of criteria set out to objective define the term “open source”\cite{osireview}. Of the approved licenses, a small number dominate, these are described in brief below.
\subsection{The GNU Public Licenses}
The GNU Public License\cite{gpl} (GPL), and the more permissive Lesser GPL (LGPL), are the most oft-used open source licenses, being employed for around 60\% of open source projects\cite{surveyosl}. The GPL is a restrictive license that obliges the licensee to provide source code of any derivative works, and for the derivatives to be licensed using the GPL, a property that is known as reciprocity, propagation, or, less favourably, as “viral licensing”\cite{viral}. Each successive release of the GPL has been more restrictive than the last\cite{kempcurrentdev}, aiming to deal with loop-holes that allow the commercialisation, or prevention of access to the source code, of GPL’d software\footnote{An example of this is the attempt by the GPL v3. to curtail “Tivoisation”, a term alluding to a case where hardware by the set-top box manufacturer TiVo\cite{tivo} prevented modified version of its Linux-based firmware from being used.}.
\subsection{The Academic Licenses}
The BSD\cite{bsd} and MIT\cite{mit} licenses, originating from the University of California, Berkeley and the Massachusetts Institute of Technology, are the most liberal of the predominant open source licenses. Both licenses merely state that the software must be distributed with the license intact, and that no warranty is provided. These licenses allow commercial re-use of modified code, often resulting in proprietary code utilising BSD and MIT components. An important feature of the academic licenses is that no obligation is made for modified source code to be made available.
\subsection{Vendor-specific Licenses: from Apple to zlib}
A host of licenses have also been developed by software vendors. Vendor licenses are developed for a number of different reasons, usually stemming from a dissatisfaction with the propagative nature of the GPL. The most prolific of these is the Apache License\cite{apache}, cited as being the third most employed in open source projects\cite{oslicenseusage}. The Apache License is extremely permissive, allowing modified files to re-licensed at will. Many other such licenses exist, although most are infrequently used and were created for a specific purpose.
\subsection{The Creative Commons Licenses}
The Creative Commons Licenses\cite{cc} are a suite of four licenses that may be combined in any manner, providing customisable conditions to suit the author of a project. The licenses variously require attribution, restrict modification, restrict commercial use and require modifications to be re-licensed similarly, in a propagative manner similar to the GPL. The Creative Commons are noteworthy in that their use commonly extends beyond software projects, with a majority of use-cases involving photographs, articles and other digital media\cite{ccdir}.
\section{Open source and business}
Due to the plethora of open source projects available it is easy to understand why a business may chose to use OSS internally; project management software, bug tracking, email clients, web browsers and operating systems are all available at no cost to the company. Beyond saving money, utilisation of OSS also provides protection from software obsoletion: in the event of a proprietary product being discontinued, dependent processes may need recreating and staff may need retraining, a large burden for a business to bear; this is not the case for open sourced products as the business, or a third party, can simply continue supporting and developing the application.
Businesses also make use of open source tools as they may be superior to their competitors. Examples of superiority include being available to more platforms; having a wider support network, often driven by a community surrounding the product; or responding more quickly to reported faults\cite{cio}. In some cases, the industry leading product is actually open source, such as the Nginx webserver\cite{nginx}, Sendmail\cite{sendmail}, and the Docker containerisation tool\cite{docker}.
Another key advantage of making source code publicly available is outlined as “given enough eyeballs, all bugs are shallow”, an aphorism known as Linus’ Law\cite{catb}. What is meant here is that, by increasing the number of developers working on a project, you are decreasing the likelihood of some undiscovered problem existing. One particularly important result of this is that software is usually more secure\footnote{One notable exception to Linus’ Law is the Heartbleed bug for OpenSSL, a major security vulnerability that existed for two years before being discovered\cite{heartbleed}}, an attribute highly valued for networking and financial applications\cite{secureoss}.
Finally, and perhaps most importantly to some business users, open source tools may be easily and legally modified, tailoring its function to the user’s requirements. Customising proprietary software is usually an expensive process, requiring liaison with the licensor or creator. Whilst some commercial software circumvents this issue by supporting plug-ins, there may be scenarios where the functionality of a plug-in is prohibitively limiting. Open access to source code provides a simple solution to both of these issues.
\subsection{Use of open source software}
In the previous section I alluded to one motivation for contributing to open source projects: the circumstance whereby a valued product is discontinued and the company is forced to take stewardship to continue its own operation. This is a motivation driven by necessity, however, which does not account for companies releasing their own products under open source licenses, or for companies contributing to healthy, active products.
One reason for this is that businesses using open source tools want to ensure that the direction of development of the tool, the manner in which features are added and removed, stays aligned with its own requirements; this logic can be expressed concisely with the quote “using open source and contributing nothing in return is unwise... it’s never safe to assume other people are doing the same thing you’re doing”\cite{feedfish}. The nature of open source is such that, if the tool becomes unfavourable to the business, they can “fork”\footnote{To “fork” a project is to begin an alternate route of development, independently from the original project.} the project and begin development on their own. By taking an active role in development from the offset, however, the business can take advantage of a wider community and the development support of a project with existing momentum, rather than beginning tabula rasa.
As mentioned in the previous section, an open source project generally benefits from an extensive support network, a larger community of users and and, partially due to this, is able to respond more rapidly to bug reports. A community is of great importance to the success of an open source project: helping to provide support for new users, via forums such as StackOverflow\cite{stackoverflow}; aiding development with patches and pull requests\footnote{A “pull request” is where a modification has been made and a request to merge it into the main product is made.}; and providing publicity, often with evangelical fervour\cite{whyemacs}.
Maintenance costs may be similarly reduced through community involvement. Research has shown that open source projects receive a greater quantity of higher quality bug reports, in addition to more feedback, than commercial equivalents\cite{cio}. This provides valuable insight into areas that need improvement as well as reducing the burden of finding, and on occasion fixing, bugs in the product: much of the work is performed, for free, externally.
Community can also develop a product in ways not anticipated by the business. This, in tandem with the additional feedback provided, can save money in employing a marketing team, as public relations tend to be higher\cite{wordopenoffice} and the direction to take the product is known. The “direction” may include the inclusion additional features, porting the product to new platforms or integrating it with existing products.
A real-world example of this is the MySQL database\cite{mysql}. MySQL is an industry-standard database management tool, developed initially by Sun and now maintained by Oracle. To facilitate user requirements, the development team created two “language connectors” for the product, small pieces of software that could be used to access a database using a specific programming language; the MySQL community then went on to develop over 20 connectors, completely without prompt, to fulfil their needs\cite{monty}. The MySQL community clearly improved the product, dramatically increasing its remit of use; by doing so the community also enabled MySQL use in areas unforeseen to the developers.
Another key motivation for using open source is the access to a multitude of pre-built components, available for use within a project. The proprietary model often forces businesses to “reinvent the wheel”, recreating a component or licensing it from a competitor. Once a similar component has been released under an open source license, however, it can be incorporated into a project and built upon. The result of this is a dramatic decrease in development time for projects, saving time and therefore money for the business. The utilisation of open source components has the additional benefit that, if the components are popular, they will be constantly improved upon by their own community, external to the project maintained by the business.
One of the main reasons for businesses using OSS is increased security and transparency. This advantage can be similarly utilised by the business for its own products, and may be a motivation for making their source code available. A business with a profit model involving peripheral software or services may wish to demonstrate the security of its offering, increasing the trust and assurance of third parties. This business model is often referred to as the “open core” approach\cite{monty}.
Lastly, a potential reason for releasing an open source product is when it is used alongside a profit-making project. This can manifest itself as a piece of software that offers supporting functionality, such as a mobile app that controls a television, or a piece of software intrinsic to the product itself, such as firmware or operating systems. By using an open source license for the supporting product it encourages community involvement\cite{magiclantern}, for reasons enumerated above, and drives more business to the profit-making product. This approach is particularly effective for consumer electronics such as routers, cameras and audio-visual equipment.
\subsection{Involvement with community-led projects}
Also to be considered are motivations for contributing to an open source project that is not directly related to a product offered by the business. There are several notable examples of this practice: IBM employ several hundred Linux kernel developers\cite{ibmlinux}; Oracle (formerly Sun) used to maintain a multitude of open source projects\cite{howopen}; and many technology companies have agreed not to bring patent infringement actions against certain OSS projects\cite{kempcurrentdev}.
Whilst IBM’s involvement with the Linux kernel can be interpreted as simply supporting a tool that it depends upon\footnote{As previously mentioned, the Linux operating system is invaluable for maintaining network architecture and performing software development.} it can also be seen in another light: as a way of demonstrating expertise in a business area. IBM began as a company building and selling computers, an activity it continued to profit from until 2005\cite{ibmlinux}, when it’s focus shifted onto hardware design and infrastructure\cite{lufthansa}. By contributing heavily to the development of Linux, IBM were demonstrating that they knew how computers worked, intricately, as affirmed this in the minds of their clients. In addition to this, the support of the Linux kernel provided an invaluable tool for users, one that could be run on IBM computers, adding value to their products.
Another reason for demonstrating expertise by contributing to open source projects is that it establishes the business as a known brand in that area, increasing exposure and giving an edge over potential competition. This is particularly useful if the business is profiting by providing consultancy in the area, or if they are selling training or support for the product. The additional publicity is likely to win more business and may allow the business to raise prices, as the established market leader.
One business that successfully employs this model is Red Hat\cite{redhat}. Red Hat maintains two\footnote{These are Fedora and Red Hat Enterprise Linux.} of the dominant Linux distributions\cite{distros} and manages to be one of the most successful, profit-making companies within the open source space, reporting a revenue of \$1.79bn in 2015\cite{redhatmoney}. The business model used by Red Hat is to sell a subscription-based support service to users of its distributions. This is possible due to the perceived intellectual dominance of the business within the Linux community and, now, due to its success, ensuring the operating system usage is widespread. The “Red Hat approach” to monetising open source projects seems appealing, and can clearly be very successful, however it is often cautioned that it is a difficult way of making money\cite{dontredhat}.
A final motivation that I will discuss is the desire to curry favour with the open source community. A large percentage of business expenditure may be spent on publicity: at times reaching upwards of 5\% of their budget\cite{advbudget}; by releasing high-quality open source products the business may gain the support of the community, both for the product itself, as discussed earlier, and for additional products offered by the business.
An example of this is the release of Twitter’s Bootstrap\cite{bootstrap} framework, developed internally for aiding consistency across in-house tools\cite{bootstrappress}. Bootstrap had been developed to solve a problem that they business had, there was no obligation to share the code, nor any apparent benefit for doing so, however, by releasing Bootstrap under the MIT license, Twitter managed to create the most widely used front-end framework in the world\cite{bootstrapblog} - and to a lot of foster good will along the way\cite{bootstrapmoney}.
\section{Contributing to a digital commons}
There are many cases where the motivation behind open source distribution \textit{is} to create a digital commons. There are a plethora of charities and not-for-profit organisations that exist solely for this purpose, including such heavyweights as the Wikimedia Foundation\cite{wikimedia}, the Free Software Foundation\cite{fsf} and the more recent Bitcoin Foundation\cite{bitcoin}. There are examples in business, too, of such a seemingly altruistic motivation, where the primary purpose is to provide information, or a product, to the public.
One particularly notable example of this is the re-release of Apple’s\cite{apple} Darwin codebase, the kernel upon which OS X, the operating system for its flagship Mac computers, is built. Darwin, now available under Apple’s Open Source license\cite{apsl}, was previously licensed under the BSD academic license, and there was no requirement to redistributed modified source; by re-licensing it, Apple had to provide public source listings, which they claim have been made available to “allow developers and students to view source code, [and] learn from it”\cite{appleos}.
Apple has also contributed to the open source community by releasing its modifications to the WebKit browser engine, a project licensed under the BSD and LGPL licenses. Apple was under obligation to release any modifications to the LGPL’d code but, again, the core codebase was licensed under BSD and had no such requirement\cite{appleos}. The motive is less clear here, however, as other browsers\cite{webkitfork} have used and improved the software, subjecting it to the various advantages discussed previously.
Another notable example is the decision by electric automobile manufacturer, Tesla Motors\cite{tesla} (Tesla), to open source all of their patents\cite{teslapatents}. In the press release concerning the patents, Tesla describes the decision as being “in the spirit of the open source movement” and “for the advancement of electric vehicle technology”, clearly alluding to altruistic intention. There have been a succession of positive results for Tesla, including being named the “safest car ever tested”\cite{teslasafety}, and it is clear that, had it withheld its patents, it would have continued to flourish. The motivation here then seems to be genuine, especially in light of the contributions to humanity made by SpaceX\cite{spacex} and Solar City\cite{solarcity}, businesses owned by the CEO\cite{elonmusk}.
Something to note is how there is a trend within high-tech., Silicon Valley companies to look after their employees\cite{googlebenefits}, their planet\cite{appleenvironment} and, by extension, their users. Google famously uses the motto “don’t be evil” to indicate this\cite{dontbeevil}. It is not unreasonable to believe that modern businesses, particularly those with resources as expansive as many Silicon Valley giants, have eyes for more than just profit.
\section{The case for both}
With all of the examples discussed, a counter-argument is always possible: there seems to always be additional motives at work, secondary or otherwise. The order of precedence to these motives can never be known but it seems sufficient to say that, in many cases, there are multiple motives at play\footnote{Indeed, Psychological Egoism and Reciprocal Altruism are two philosophical theories that argue separating the motives is impossible.}. Some of these motives may include the creation of a digital commons, for altruistism, personal gain or some combination therewithin.
There also exist businesses that profit from the existence of open source projects, by providing a tool for use within the development process, as a method of accessing projects or by writing about them as literature. These businesses\footnote{Two examples are GitHub\cite{github} and StackOverflow} are clearly focussed on providing access to a digital commons, and are dependant upon the existence of such a resource for survival.
GitHub is a hosting platform for OSS, allowing multiple developers to work in parallel on a project, and facilitating the public submission of bug reports and requests. The success of GitHub is dependent upon the number of open source projects hosted using their service, creating a vested interest in the business to encourage open source development where possible.
A noteworthy contribution by GitHub to the open source community is a scriptable text editor name Atom, currently in use by around 2.4\% of developers\cite{editorusage}, and gaining popularity. The editor was warmly received by the community and seen by many as an act of charity, however, by examining the act through a different lens, we can draw additional conclusions. In creating a scriptable text editor, GitHub has also created an environment where a large number of scripts will be created, many of which will be, and are, hosted on their platform. This drives traffic to the website and, with that, customers that are likely to pay for its services.
Another noteworthy contribution is the release of Bootstrap by Twitter, which I mentioned earlier in this essay. I discussed the wave of positive publicity generated by the release, a benefit that exists to this day, as being a primary motivation; however, examining the project, we can also draw more altruistic conclusions. Twitter still employs many of the active contributors to the project\cite{bootstrapcontrib}, which is now on its fourth major version; this is undoubtedly costly for the business and, now that the project has a strong community, it could easily step-down from development without losing face. Twitter continues to maintain the project for seemingly no benefit to itself - it could be perceived as being for the good of the community.
Tesla’s move to open source, which seems predominantly driven by a desire to create a digital commons, is also likely to spur on their sector and provide business for their battery manufacturing division\footnote{Tesla is currently constructing Gigafactory 1, a factory that will double the current global output of Lithium-Ion batteries\cite{gigafactory}} when complete, as well as increasing mass-adoption of electric vehicles. Additionally, and similarly to Twitter, the company received a huge amount of positive publicity surrounding the move.
A final consideration is an elephant in the room: the contributions of search giant Google\cite{google}. There are a huge number of open source projects that are spearheaded by Google, from the Android mobile operating system\cite{android} to the Chromium browser framework\cite{chromium}, many of which have had a widespread, positive effect upon humanity. The Google Books project\footnote{An example of this is the Linear Book Scanner\cite{linearbookscanner}.}, alongside the open source tools that have been created to facilitate it, is a wealth of useful information, and can be considered to be a digital commons. By creating such a commons, Google has also created a wealth of information that needs to be classified, indexed and made available to users: a niche filled by its main product, the Google search engine.
\section{Conclusion}
Whilst it may seem that the use of open source by business is a strange move, I have demonstrated that there exist numerous motives for doing so, from attracting development from the community to demonstrating the security of an application. It seems, then, that the most obvious motivation, that providing open access to projects and source code for the greater good, is not often the motive used in business. There are notable exceptions to this, however, such as Tesla and Apple, the actions of whom, at least in the examples discussed, seem to be driven by altruism. I also make the point that in most situations a combination of motives are at play, with the desire to create a digital commons likely forming some part of this.
\input{biblio.tex}
\end{document}