title: Compromises of Free Software Funding date: 19 May 2017 bibliography: blog/financing-references.yaml csl: blog/ieee.csl ...
With software, either the users control the program... or the program controls the users...
--Richard Stallman [@controlsoft]
Free software is defined as computer programs that people are free to use, inspect, modify, and distribute for any purpose. With copyleft licenses, free software may require modifications to be free as well; other free licenses do not have this requirement [@freesoftwaredef]. Free software is seen by its proponents as a precursor to a technically advanced free society, arguing that proprietary software inherently abuses its users [@whyfreesw] by locking down thousands of years of human innovation for profit, holding the user hostage to the developers, and frequently betraying the users' privacy for mass surveillance or targeted advertisements. The ideal of universal free software is alluring, but the inevitable question of funding development arises: although selling free software is technically permissible and encouraged by some [@sellingfreesoftware], it is not a feasible model in practice. Non-traditional models, however, can and do work, as evidenced by the funding models of the various free projects discussed here, which enable large-scale programs to flourish without constraints on time and quality. However, due to funding constraints, ethical and cultural compromises may be useful or necessary for free software to succeed in mainstream society.
One notable free software project is GNU, an operating system usually paired with the Linux kernel. GNU is largely funded by individual donations to its sister organisation, the Free Software Foundation. It is the flagship free software project created by Richard Stallman, one of the early leaders in the free software community. As a result, GNU was largely donation-driven software [@aboutgnu]. Today, the GNU project depends increasingly on volunteer work [@volunteergnu]. While this structure ensures there are few conflicts of interests, it raises sustainability questions, as developers may need to write proprietary software during the day to afford to work on GNU by night.
The Linux kernel is another notable example. It was started by Linus Torvalds as just a "hobby [that] won't be big and professional like [GNU]" [@torvaldsemail]. Linux was released as free software almost incidentally; it later gained prominence when connected with GNU in order to form the GNU+Linux operating system. Today, Linux has a myriad of contributors: some volunteer, some corporate. The volunteers are driven by the same idealism and desire for recognition as GNU developers. Corporations like Intel have more pragmatic aims when contributing: they want their hardware fully supported under Linux. While these contributions may be individually benign, together they form a pattern of a corporate-controlled kernel, evidenced by the member list of the Linux Foundation [@linuxfoundationmembers]. The Linux Foundation has been thus criticised for advancing corporate special interests despite the community's best wishes. For example, the Linux Foundation introduced a controversial voting policy in order to favour corporate sponsors over individuals [@lfcontroversy]. However, the Linux Foundation is generally tolerated since it employs critical kernel developers like Greg Kroah-Hartman and Torvalds himself [@lfemployees]. In summary, Linux funding is from a mix of "pure" volunteer work, "impure" corporate meddling, and middle-of-the-road corporate assistance.
Two additional projects diverge from this pattern: LibreOffice, a free office suite, and Blender, an animation tool. These projects, unlike GNU and Linux, began as proprietary programs, developed by proprietary developers, to be sold under a proprietary license. Their paths to becoming free software differed, however. LibreOffice, then known as "StarOffice", was freely released with the intentions of public development [@officehistory]. By contrast, Blender was a commercial failure; its source code was instead bought through the crowdsourced "Free Blender" campaign [@blenderhistory]. After that, the two projects have been maintained by the usual sources: volunteers, small corporations like Collabora, and other organisations like the Document Foundation [@officehistory] [@blenderhistory]. These projects -- and their income sources -- were not developed with user freedom in mind, but today they form important, free projects developed with the community's interests in mind.
Firefox is another well-known project that originated as a proprietary program, Netscape Navigator, which was eventually released as free software to be managed by the organisation Mozilla [@mozillahistory]. Mozilla is perhaps more controversial than even the Linux Foundation, as the Mozilla projects may be considered proprietary software due to their infamous trademark policy. The policy restricts distribution of modified versions of the software in ways that contradict certain free software definitions. In particular, Firefox failed the Debian Free Software Guidelines, leading to a controversy in which the Mozilla Foundation complained that Debian users "want the freedom to ship software that sucks" [@mozilladebian]. One of Mozilla's major income sources has been search engine endorsements for Google [@mozgoog] and Yahoo [@mozyahoo]. While lucrative, this may contradict the free software ethos, as both companies are actively hostile to user freedom and are key members of the PRISM mass surveillance program [@prismlist]. Yet, despite its faults, Mozilla is able to pay full-time engineers to develop Firefox [@mozcareers]. As a result, Firefox has become a major browser, with about six-percent market share as of the time of writing -- twice Internet Explorer's popularity [@statcounter]. Firefox has emerged as a prominent libre project among those users that care, and it has simultaneously prevailed as a gratis browser among users who have never heard of the free software movement.
Libreboot is another high-importance project with a unique funding setup. Libreboot is a free distribution of coreboot [@libreboot], a project seeking to develop a (free) bootloader for specialised computing environments [@coreboothistory]. The coreboot project has since departed from thid utopia, including proprietary software in many new releases. Major contributions to the project come from Google engineers, as Google runs a version of coreboot on their Chromebooks for pragmatic benefits [@googleboot]. As a result, with Libreboot's de-blobbing scripts, laptops like the Asus C201 Chromebook are now able to run a fully free stack, including the bootloader and embedded controller. Of course, the engineer who integrated the C201 into Libreboot did not work for Google. Google's interest was ChromeOS, an operating system designed for use with their proprietary programs like Google Drive [@c201]. Funding for coreboot -- and by extension, Libreboot -- is plagued by messy internal interests at businesses like Google, in stark contrast to the ideal of philosophically-driven efforts by an engaged community.
Ultimately, there is a dilemma of philosophy versus economy. It is rarely profitable for work to be driven by ideals; volunteer work is unpaid by definition, and non-profit organisations rarely have the budget to afford skilled positions at comparable salaries to the industry. Unfortunately, much of the best free software is developed by parties hostile to free software for purposes tangential to the vision of the free software community. As a result, there is a controversy between "free software", emphasising freedom and conjuring images of democracy, versus its rival term, "open source", a term originating as a "marketing campaign" for free software [@marketingcampaign]. However, at the end of the day, free code is code; whether it is released under copyleft or not, by Microsoft or Richard Stallman himself, the freedoms granted are the same. Given that the free software movement is under attack, it is unwise to reject free code written for the "wrong" reasons. In the short term, the motives cannot matter, provided the code is free.
There are a variety of resolutions to this frequent question of compromise, although certain compromises are more ruinous than others. One problematic compromise, especially prominent among the greater free culture community, is the usage of non-free licenses. In particular, there is a great deal of popularity for certain licenses which forbid commercial use despite permitting the other fundamental freedoms, notably the non-commercial Creative Commons licenses. Authors cite a variety of reasons for choosing these licenses [@opencontentguide, pp. 44]. Most of these issues are imagined or resolvable with strong copyleft licenses, dubbed "the better NC [non-commercial license]" [@opencontentguide, pp. 48]. Nevertheless, the issues caused by these proprietary licenses are tangible. Unfortunately, the licenses continue to be used in the mistaken belief that they solve the funding dilemma.
One successful model is crowdfunding. Crowdfunding, a distributed funding model to match free software's distributed ideals, has been able to fund a variety of free software projects and their developers with varying degrees of success. For instance, the Novena computer, a laptop with free schematics designed for use with free software, was successfully funded via the site Crowd Supply. After raising nearly $800,000, the Novena campaign exceeded its goals, additionally funding related projects like reverse-engineered accelerated graphics drivers for the laptop [@novena]. The model has also been applied to developers themselves with less success; for instance, the infamous programmer Eric S. Raymond earns about two-thousand dollars per month through the website Patreon, barely a living wage [@esrpatreon]. That said, while Crowd Supply is endorsed by the Free Software Foundation [@csfree], Patreon is a proprietary walled garden that does not even load without executing proprietary JavaScript [^patreon]. Still, the models are successful. Additionally, projects like Snowdrift.coop are pioneering new models specifically tailored to the needs of free software and cultural works [@snowdriftmodel].
The nature of the modern capitalist state is inherently hostile to the free software and free culture movements. Capitalism, as a model, is designed around the premise of material scarcity, so the model functions as expected with physical items. However, its virtues break down when applied to scientific and creative works where distribution is gratis. It is tempting to give up hope, faced with the choice between code that is ethical and code that is profitable. Indeed, there will be little progress as long as businesses insist on profit by any means necessary and free software activists insist on free software with the same obstinance. However, small compromises are able to ripple into large gains for both the industry and the free software movement; the goals are not inherently incompatible. It is certainly ideal to run every project like GNU: free from the onset and a labour of love. But even if this quixotic goal cannot be reached in present society, great strides can still be made through "impure" models like those used by Linux or Blender. Great care must be taken to ensure the community is preserved: the open source movement failed ethically because its corporate proponents are interested in exploiting free software developers for undue profits. Yet when compromises can be reached, as through paired projects like coreboot to Libreboot or Linux to Debian, the results can be ethical and useful. In free software, perhaps the ends justify the means.
[^patreon]: Patreon's non-free JavaScript is required to verify this citation
through normal means. To avoid this, the campaign data can be viewed directly
as JSON from the Patreon API. Campaign amounts are found in the
pledge_sum
element. This JSON file is mirrored for verification, as the
value may be volatile.
Thank you to the following people for editing: