Community Driven Software Development
Some people have suggested that the future of E-Commerce will be shaped by various kinds of “communities” (both online and offline); other are more sceptical about the potential. This report analyses the competing argument, focusing on the key actors and using Free and Open Source Software (FOSS) as a case-study to analyse the effects of online communities.
The future of E-Commerce is shaped largely by technological and sociological developments in the field and within society. On the technological front, one of the backbones allowing Internet-based E-Commerce to be possible is Free and Open Source Software (FOSS). Many Email, CMS systems, databases and web servers are FOSS and CRM systems and the majority of other enterprise applications will be running on a FOSS operating system.
As a result, the development and shaping of these technologies is crucial in the development of E-Commerce and the community-based software model has moved out of the universities and into the data-centres, with large corporations such as Sun, IBM, HP and Novell relying and heavily contributing to FOSS and steadily more companies making use of FOSS components.
FOSS shows some promise but there are also possible issues that may need to be addressed before it could ever replace traditional proprietary software.
In the late 1950s when mainframes started to appear in academic institutions the software available to perform tasks was freely shared by programmers within these institutions, similarly to how academic research is shared in other fields. As mainframes found their way into the business world in the late 1970s, the programmers and academic institutions realised the ability to obtain monetary reward for their software or wished to keep the intricacies of what they were doing secret. As time went on more software was being sold, frequently with prohibitive license agreements, preventing unauthorised duplication and/or restricting access to the source code used in creating the software.
In 1983 a programmer at MIT named Richard Stallman created the GNU project with the goal of designing an operating system with an approach closer to that adopted in the 1950s-70s: the free sharing of information. In 1985 he founded the Free Software Foundation (FSF) whose goal was to promote and support his new “free software” movement. The key foundation in this was the creation of the GNU General Public License (GPL), a license for the new software allowing any user of the software access to the source code and the rights to modify and redistribute any changed version. This software does not necessarily have to be provided monetarily free but frequently is [Stallman, 2002].
In 1989 the University of California, Berkeley released Networking Release 1, a version of their Unix operating system where all the proprietary AT&T Unix code had been rewritten, allowing use by non-licensees of AT&T code and was redistributable under the BSD license. This license was even more permissive than the GPL, allowing proprietary commercial use and modified versions to be used in proprietary software. BSD code has been notably used in the networking layer of Microsoft Windows and heavily used in Apple’s Mac OS X operating system’s core.
In 1991 Linus Torvalds, a student at the University of Helsinki, decided to create a kernel to better learn about computer hardware. He publicly released this under the GPL license. This is now the core of the Linux operating system, now an important part of many businesses such as Google, Novell, HP, Red Hat (the first company to sell the Linux operating system) and IBM. The projected income for this “free” operating system’s software, servers and desktop is predicted to be worth $40 billion by 2010 and is currently worth $18 billion in a study by IDC analysts.
Since Linux was created companies have been open-sourcing previously proprietary solutions. Two large examples of this was Sun releasing the code for StarOffice, which became OpenOffice.org and Netscape releasing the source for Netscape Communicator, which became Mozilla’s Firefox and other projects.
Linux is used across computing in embedded devices, servers, supercomputers, mainframes and desktop machines. It is seeing increased use in governments such as South Korea and Germany and in schemes such as the One Laptop Per Child scheme, delivering a low-cost laptop computer to children in developing nations, using FOSS to allow sale at $100.
IBM announced support for Linux in 1999, providing applications, support and working with the open-source community to provide support for it’s hardware. Today IBM employs more than 300 full-time staff to work on Linux. IBM also releases code under FOSS licenses, such as Eclipse (a software development tool) and Apache Derby (a high performance database). IBM is also currently engaged in a lawsuit with SCO over the intellectual property of the Linux operating system.
HP supports the open-source community through employees with open-source job responsibilities and sell Linux workstations.
Apple Inc. made extensive use of open-source software in the development of Mac OS X, and make use of large open-source projects such as CUPS and Samba in providing print and networking services respectively.
Novell sells the Linux operating system for servers and desktops, acquiring major open-source companies Ximian and SUSE in 2003. In 2006 Novell reached a joint patent agreement with Microsoft, agreeing to collaborate on increasing interoperability between Windows and Linux each party agreeing not to sue the other for patent violations. This caused a rift in the FOSS development community; the collaboration implying that non-Novell Linux users could be sued by Microsoft. Jeremy Allison, a member of the Samba team and employee of Novell resigned in protest. The GPLv3 license is subject to debate on whether it will ban the rights on Novell to continue to develop Linux or prevent similar deals from occurring in the future.
Microsoft was ruled by the US DOJ to hold a monopoly in the operating systems market so the development of open-source operating systems (such as Linux) or operating systems based on open-source software (such as Mac OS X) threatens their market share. As a result, Microsoft have a “Get the facts” campaign, comparing the total cost of ownership of Linux and Microsoft operating systems. As previously mentioned, they have recently agreed to collaborate with Novell. Steve Ballmer, the CEO of Microsoft said, when speaking about the Novell deal that Linux “uses our intellectual property”.
Sun Microsystems supports Linux on its systems and open-sourced major pieces of software such as StarOffice, Java and its Solaris operating system. This makes them the largest commercial contributor of FOSS, at an estimated 312 million euros worth of programmer time by the EU-commission study “Economic impact of open source software on innovation and the competitiveness of the Information and Communication Technologies (ICT) sector in the EU”. The FSF own the copyright on most GNU software and some non-GNU FOSS. They actively campaign against DRM, software patents and user interface copyright.
Raymond argues that the proverb “Necessity is the mother of invention” is especially relevant in the software world and the that “Every good work of software starts by scratching a developer’s personal itch” [Raymond, 2001]. He claims that the reason the quality of software in the FOSS is so high is that developers tend to work on software that benefits them personally and that they enjoy working on. Another point is that “Great [programmers] know what to … reuse”, highlighting that time is frequently wasted in software development solving a common problem but, in the case of proprietary-software, existing “encumbered” code is not or cannot be reused. Microsoft and Apple made use of existing BSD code in their development of their respective platform operating systems but cannot use any GPL code. However, all GPL applications can reuse this code in applications.
Madanmohan and Deapos reveal some of the benefits of this reuse of FOSS, such as the open disclosure of bugs and performance details, frequent updates, documentation and the ability to modify the existing code, allowing a firm to aid their competitive position by reducing development costs and increasing development speed of new products [Madanmohan and Deapos, 2004]. They highlight the popularity of the BSD license over the GPL in companies, due to the ability to keep the modified source private and include only an attribution to the original source.
Von Hippel and Lakhani discuss “field support” for Apache, a popular FOSS web server and the most widely used web server on the Internet. Despite the official developers claiming no “official” support availability for Apache, questions posted on a Usenet forum tend to receive helpful responses from other users. In a referenced poll by Serverwatch in the paper, Apache is ranked 4.5/5 for technical support compared to Netscape’s 4/5 and Microsoft’s 4/5 [Lakhani and von Hippel, 2003] These results are discussed to be motivated by reciprocity within the community, a desire to “help the cause”, to gain reputation and intrinsic personal rewards. Another advantage highlighted of the community-support mechanism is the rapid response time and lack of financial cost.
Castells raises the concept of a network society and states that electronic communication systems, such as the internet, give the flexibility of distribution without sacrificing performance and “because of their superior performing capacity [they], through competition, are gradually eliminating centred, hierarchical forms of organisation in their specific realm of activity”[Castells, 2000]. This argument was used in the justification of the network enterprise, but illustrates the reasoning that open-source software, although frequently created by developers across vast geological differences and little face-to-face contact, can be seen as another form of “the networked enterprise”, and operates similarly to a traditional business, albeit usually without same financial system. Castells claims his book “The Internet Galaxy” was produced “in the spirit of ‘open source’ that is the root of the Internet world”, referring to the networked system of researchers and experts across fields contributing to a single project [Castells, 2001].
O’Reilly provides an explanation for why open-source communities are secure, despite a frequent lack of financial transactions [O’Reilly, 1999]. He claims that the “heart of many open-source communities is the social compact between the software developer and [their] users, in which both agree to cooperate under certain rules that are beneficial to both parties”. He highlights that this is the “glue” that holds these communities together, rather than financial transactions in proprietary software. This is also strengthened by the fact that frequently, as mentioned previously, developers of FOSS are frequently part of the user-base. Within this article Ousterhout argued that open-source and commercial development complement each other with FOSS providing the “raw material” which can be “further refined and extended by commercial development”.
Bitzer et al. argue that FOSS is “a public good” due to “non-rivalry in consumption … and non-excludability”, the latter due to the GPL license [Bitzer et al., 2004]. They expand on Raymond’s focus on personal benefit from programming, such as his so-named “scratching an itch”, and creates a “family” model, where members of the FOSS community see the community as kin and will therefore be willing to do something that may not benefit them directly but may benefit the community. This justifies why FOSS code frequently is very well documented, when the writer of the documentation will obviously not need to use it. This requires time investment more than simply writing code and provides no direct benefit to the documenter, but bolsters the community development attitude whilst requiring more effort than simply releasing the code to the software and licensing it under a suitable FOSS license.
Gabriel and Goldman argue that the ideals and seeming effectiveness of FOSS practises arose from the optimum use resources, highlighting past distributed community efforts such as the original Oxford English Dictionary and, less directly, literature [Gabriel and Goldman]. They raise this comparison by saying:
“It is as if all writers had their own private companies and only people in the Melville company could read ‘Moby Dick’ and only those in Hemingway’s could read ‘The Sun Also Rises’. And we expect people to learn to program in this exact context?”
Issues and Tensions
Castells claims that the next frontier of FOSS development is “user-orientated commercialisation”, raising the lack of interested of computer programmers in developing user-friendly software to directly try and attack Microsoft’s market share [Castells, 2001]. Since this paper was written, there has been some advancement, with projects such Ubuntu Linux aiming to be easy to use and “not made any more complex than absolutely necessary”. Another major project is OpenUsability, a project aiming to coordinate usability experts to analyse and improve open-source software.
Nichols and Twidale further elaborate on this problem, showing that software developers are not suitable at designing user interfaces for non-technical users [Nichols and Twidale, 2003]. To fix this imbalance, software firms hire usability experts but open-source suffers in this area. As previously mentioned, there are some usability experts contributing to open-source software, but there are far fewer than needed working with FOSS. They also highlight that, due to the frequently self-motivated functionality improvements, technical users may be less likely to work on features for novice users. This difference in motivation is a major difference between FOSS and commercial development, with commercial developers focusing on user satisfaction as the primary goal whereas with FOSS this may be secondary to nonexistent.
Some promise in this area is highlighted by Benson et al.[Benson et al., 2004], employees of Sun Microsystems. They agree that there are poor user interfaces in FOSS, due to being created “by engineers for engineers”, and they discuss their work in usability on three major FOSS projects. Sun Microsystems’ business model increasingly relies on open-source software so, although there is little lack in professional developers for large projects, Sun can pay usability specialists to work on this software, providing free consultancy and as a result aiming for these projects to see wider use.
Software communities tend to have a gender bias (only 28% women), the FOSS has an even more dramatic bias with around 1.5% of FOSS community members being female. Deliverable claims that “women are actively (if unconsciously) excluded rather than passively disinterested” [Deliverable, 2006]. He explains this is due to a decreasing proportion of women in ICT professions and that women in FOSS projects tend to do graphics, usability and documentation rather than the more “prestigious” software development. This points back to the lack of usability specialists and other non-programmers in FOSS.
Shirky claims that groups are reinforced by an external enemy and in the case of FOSS this enemy is, correctly or incorrectly, viewed as Microsoft[Shirky, 2003]. He also claims that this group ethos can contain elements of “religious veneration” with people failing to admit flaws or faults in a certain icon or tenets; something becoming “beyond critique”. The accusation could be made that this is sometimes applicable to FOSS communities, failing to accept seeming gestures of cooperation from Microsoft, such as the deal with Novell. He also raises the importance of sometimes have a core group with higher rights or greater vetoing power than the majority of users. This example applies nicely to the management of FOSS. These projects sometimes suffer from lack of organisation or a clear set of goals. As a result, it’s unusual to find projects where the users dictate the roadmap for a piece of software, but is instead decided by the main core developers or a so-called “Benevolent Dictator”. In the case of the Linux kernel, this dictator is the original creator, Linus Torvalds. He decides on the inclusion or rejection of new features or modifications to existing features. This power is occasionally criticised, but the dictatorship is supported by the masses as, due to the GPL, the project could be “forked”, that is modified and continued along a different path with a different development/leadership team. This model is indirectly endorsed by Shirky who claims that you need “barriers to participation”, which the “dictatorship” provides and a way to separate the group from scale, also helped by the model with one sole voice making final decisions.
Lerner and Tirole perform some further analysis of the possible dangers of “forking” in FOSS projects [Lerner and Tirole, 2002]. They present the example of Sendmail FOSS which was “forked”, which each version being “enhanced” in various conflicting ways, resulting in incompatible versions. This problem was solved when the initial creator of Sendmail returned and performed a rewrite, adding the desired features and causing the incompatible versions to be abandoned. They point to the need for a powerful, directed leadership model with clear goals and support from the other developers in order to prevent “forking”.
Hein shows another example of a “fork”, this time illustrating the benefit of the ability to “fork”. They discuss the X.org “fork” from XFree86, caused by a disagreement amongst the development team over a license change [Hein, 2006]. X.org is now the dominant version used and the “fork” has spurred more interest in development with new developers and new technologies appearing since the “fork”, despite a slight stagnation prior. Hein also raises another important point; the open nature of the FOSS community may appear more argumentative and conflicting, but this is common inside many proprietary software companies but just not viewable to the public at large.
FOSS community projects have influenced many areas from food (e.g. OpenCola) to movie production (e.g. Elephants Dream) and encyclopedias (e.g. Wikipedia). Governments around the world are starting to recognise the importance in open standards, with the EU recently fining Microsoft and enforcing them to release interoperation documentation and various countries demanding the use of OpenDocument for their external documents. Clearly there is a rising demand for transparency and openness, something FOSS inherently provides.
FOSS may never fully replace traditional proprietary software but it has certainly made an impact and highlighted the benefits of leveraging geographically distant communities to work together and solve problems. Community-based support and development have always been commonplace on the Internet and with the rise of Web 2.0 (the focus on a community-driven Web) more businesses are seeing online communities as a way to remain competitive in an ever-changing field.
- C. Benson, M. Muller-Prove, and J. Mzourek. Professional usability in open source projects: GNOME, OpenOffice. org, NetBeans. Conference on Human Factors in Computing Systems, pages 1083-1084, 2004.
- J. Bitzer, W. Schrettl, and P.J.H. Schröder. Intrinsic Motivation in Open Source Software Development. Freie Univ, 2004.
- M. Castells. Materials for an exploratory theory of the network society. British Journal of Sociology, 51(1):5-24, 2000.
- M. Castells. The Internet Galaxy: reflections on the internet, business, and society. Oxford University Press, 2001.
- D. Deliverable. Free/Libre and Open Source Software: Policy Support. March 2006.
- R.P. Gabriel and R. Goldman. Mob Software: The Erotic Life of Code. Proc. ACM Conf. Object-Oriented Programming, Systems, Languages, and Applications.
- G. Hein. Open Source Software: Risks and Rewards. mar 2006.
- K.R. Lakhani and E. von Hippel. How open source software works:” free” user-to-user assistance. Research Policy, 32(6):923-943, 2003.
- J. Lerner and J. Tirole. Some Simple Economics of Open Source. Journal of Industrial Economics, 50(2):197-234, 2002.
- TR Madanmohan and R. Deapos. Open source reuse in commercial firms. Software, IEEE, 21(6): 62-69, 2004.
- D.M. Nichols and M.B. Twidale. The Usability of Open Source Software. First Monday, 8(1): 59-67, 2003.
- T. O’Reilly. Lessons from open-source software development. Communications of the ACM, 42 (4):32-37, 1999.
- E.S. Raymond. The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary. O’Reilly, 2001.
- C. Shirky. A Group Is Its Own Worst Enemy. Economics & Culture, Media & Community, Open Source, 2003.
- R. Stallman. What is Free Software. Free Society: Selected Essays of Richard M, 2002.