Professional Profile
Picture
Joel P. Schroeder

Course Description:

IS  384 - Advanced Development and Design

Real-world information systems design and development cases. Includes performance/quality testing and project management in real organizational contexts. Requires understanding of design and development but not expertise. Leadership development via participation in multi-skilled teams.

A major component to this course involves a study of the Linux open community and those who participate in it.  The essay below are the findings from this project.

Participation in the Linux Open Community
Introduction

            The Linux Open Community is a meritocracy at the forefront of innovation.  It is one of the most prominent examples of the free and open source software movement. Free does not refer to price.  It refers to a philosophy like the freedom of speech.  This freedom allows anyone to integrate and run, study and change, and redistribute the Linux operating system under the GNU General Public License (Wikipedia, 2011).  It allows organizations to tailor a solution for their organizational goals. 

            In the book Two Bits, Christopher M. Kelty states an open community is a recursive public defined as a society constituted by a shared concern for maintaining the means of association through which they come together as a group.  It has no one organization at its center, rather it’s a collaborative effort to advance, maintain and support a core operating system called Linux that is used in an increasing number of products from cell phones to navigation systems, audio equipment, and super computers.  This collaborative effort is managed by the Linux Foundation, a non-profit association funded by major technology companies such as Intel and Red Hat, Inc.  The foundation’s primary function is to make sure this effort occurs in a cohesive manor (Warner, 2011).

            Approximately 660 organizations currently participate in the Linux Open Community.  Platinum members include such corporations as IBM and Intel as well as Novell and Red Hat.  Novell, Oracle, HP and Nokia are also major players in the community.  This is a growing number as more and more organizations begin to see the value in using Linux.  Growth can also be seen in the amount of contributions made back into the community.  In 2003, the kernel consisted of 5 million lines of source code.  Today, that number has increased to over 14 million lines of code since the start of Linux in 1991, showing an increase in the rate at which it is growing (Corbet, 2011).

            As seen in figure 1, organizations are not the only players in this arena.  18% of the total 13.5 million lines of source code contributed were made without a specific corporate affiliation or people working independently.  7% of the code fell into an unclassified category and the remainder of the contributions were from people working for specific companies in roles where developing that code was a major requirement (Corbet, 2011).

Picture


            The purpose of this paper to better our understanding of why organizations participate in the Linux open community. Secondly, it will evaluate how organizations contribute back into this community and/or differentiate the system in order to meet their own needs.  After answering these primary questions, this paper will offer a few recommendations that will provide a starting point for organizations interested in participating within this community.

Data

                Information to answer the above questions will primarily come from interviews with individuals within participating organizations including Brian Warner of the Linux Foundation, Chris Wright from Red Hat, Andrew Hasting of Cray Research, Tyler King from CSR, and Tom Hanrahan and Blair Finnigan of Microsoft.  Additional information was taken from class sessions, the book Two Bits by Christopher Kelty and from internet sources such as Wikipedia and opensource.org. 

WHY?

To fulfill a technical need

              There are a number of reasons why organizations participate within this community.  One reason is to fulfill a particular technical need for a flexible, feature-rich core operating system onto which proprietary applications can be installed.  For example, a company developing a navigation system may not necessarily wish to develop the entire system from scratch.  They may only want to concern themselves with the look and design of the interface.  Linux is a neutral platform that is secure and only allows access at the application layer (King, 2011).  By choosing to use a ready-made operating system, developers are free to focus their efforts on the interface application, saving valuable time (Warner, 2011).

Economic Benefit

            Saving time in development is an economic benefit that results from participating in the Linux open community.  Other economic benefits include saving costs in testing, equipment, company operating costs, and total compensation for developers (Warner, 2011).  Figure 3 below is an estimate established by the members of my team comparing the potential revenues, developmental costs and the costs of compliance for two scenarios.  The ‘pay for everything’ scenario is an example of an organization with a closed development system.  This organization will build the entire product from the ground up.  Costs are very high in this case as there is much time and resources spent in development and testing.  Also, one will see that the costs of compliance are relatively low.  This cost is associated with the need to follow the licensing rules in terms of redistribution.

            The other, ‘pay for 1/6’, scenario is a depiction of the costs and revenues of an open system model.  Revenues are approximately the same in both the open and closed development systems as consumers purchasing these products aren’t concerned with how a device works.  They just want a functional unit.  One will also notice the shift from costs to compliance in this open model.  When applying the Linux operating system to a product, the majority of the development is done for you, driving development costs downward.  Compliance costs, however, will naturally increase as the company will have to abide by the General Public License creating an indirect relationship between the two.

Picture

            Investment savings is another economic benefit to participating in this community.  According to a study on the economic impact of open source software, UNU-Merit states that open source software potentially saves industry over 36% in software R&D investment that can result in increased profits or be more usefully spent in further innovation.  And the existing base of quality open source software applications with reasonable quality control and distribution would cost firms almost $8.5 billion to reproduce internally (UNU-MERIT, 20016).

Leveraged Development

            Beyond the economic benefits available, organizations are also drawn to Linux because of its quality and functionality.  Contributions to the community are accepted on technical merit by industry experts (Hastings, 2011).  Code submitted to be accepted upstream is highly scrutinized where only the best code wins.  Of course, the majority of overall contributions back to the community are offered by larger organizations that have the man-power and the resources to designate time to the development of Linux, but small companies can also have an impact.  For example, Qumranet Inc., a small organization in Israel, has made valuable contributions that allow Linux to be used as a hypervisor which permits multiple operating systems to run at the same time on top of the core system.   In the words of Brian Warner, “it seemed to have come out of nowhere” and now everyone can benefit from it as it’s distributed with new versions of the kernel. 

            Quality can be derived from effort.  In 2006, the linux kernel represented about 131,000 real person years of effort that has been devoted exclusively by programmers (UNU-MERIT, 2006).  Quality is also enhanced as errors are more easily spotted by dozens of expert developers than by a few in-house ones (nzoss.org.nz, 2007).  Performance improvements and bug fixes can be implemented much faster. 

            Non-participating organizations can be burdened with maintaining changes indefinitely to their operating systems in order to keep up with product functionality.  Cray used to run its own proprietary version of UNIX on their systems until the engineers realized that as hardware continued to evolve, it was becoming a significant effort to write device drivers for new hardware that would run with their version of UNIX.  And so they chose to operate and distribute Linux in their systems with its many capabilities and features in order to relieve themselves from the burdens of back porting (Hastings, 2011). 

Increased Visibility

            Small, lesser known companies benefit from participating in the community just by being in close proximity to those that are doing the real work (Brain Warner).  This happens as a result of being involved and by attending activities, such as the Linux Foundation Collaboration Summit held in San Francisco in April, 2011.  In doing so, one can increase their visibility among peers which may have a positive effect on an organization.  It’s possible that this increased visibility could attract the attention of skilled developers.  Developers that want to work for an organization committed to the free and open philosophy and one that encourages ideas and innovation.

How?

Contributing/Differentiating

            In general, participating in the organization may occur in two forms creating a 2 x 2 matrix encompassing a range of low to high levels of differentiation and of low to high levels of contributions as shown in figure 2 (Germonprez, 2011).  An organization may choose to differentiate the Linux operating system by changing or forking the code or by stripping down the source code to its basic components, thus allowing them to customize products to meet the needs of their customer.  However, greatly differentiating the system may result in losing the support of the community. 

            Contributing back to the community is the other form of participation. It is not necessarily the number of lines of code one gets accepted upstream that determines a company’s level of involvement in this area.   Some organizations contribute back to the community by offering bug reports.  Others contribute by offering fixes to the source code or by cleaning up code that already exists making it more efficient.  Some organizations may provide added functionality to the source code or contribute time into testing those functionalities. 

Picture

             An organization may differentiate and make contributions back to the community.  These characteristics are not mutually exclusive.  To help visualize the roles an organization may take as participants, consider four fictitious organizations, companies W, X, Y and Z that have been plotted within the above matrix. 

            Company X is creating a product that utilizes Linux as a core operating system for their embedded device.  They determine that is it not necessary to implement the entire system and so they choose to remove a select few of the unnecessary features.  As a result, the company minimally differentiates the source code.  At the same time, Company X also chooses to be an active participant in the community by offering fixes to problems that exist within Linux as well as contributing some of the device drivers they have developed to operate in their device.

            Company Y wishes to develop a product that also operates using Linux.  However, Company Y’s strategy is to change the operating system so that it only satisfies the requirements of their device, creating a much larger margin of differentiation.  Company Y’s interest in the community is more from the standpoint of a consumer.  The want the benefits of using Linux without making efforts to contribute back to the community. 

            Company Z is an example of an organization with a desire to develop a specialized and unique product as well as invest resources into contributing back to the community.  This is where we will find the major players of the community like Microsoft.  Microsoft has an interest in getting contributions accepted upstream to reduce the number of changes to the core operating system they would have to otherwise change themselves.

            Company W in this scenario holds a very unpopular position.  It isn’t that many organizations contribute back to the community, because there are plenty of users and consumers that do not contribute back.  The issue here is that one is less likely to find organizations that utilize and implement Linux without changing it in some form. 

Compliance

            The GPL also dictates how an organization participates.  Organizations take great care in respecting the legal obligations of the General Public License in order to maintain good standing within the community.  The General Public License (GPL), originally written by Richard Stallman in 1989, is the governing body of the Linux Open Community.  This legal document defines the nature of the free program and states the regulations by which software/systems are copied and distributed.  A few of the key aspects to the license are as follows:

            1.  The GPL ensures that modified versions of this system can only be distributed under  the same license terms. 

            2.  One can differentiate the code as long as you note any differentiations made, create something that is truly different, and provide an                 opportunity to view the GPL.

            3.  One must provide the source code to any third party member upon request for up to  a period of three years.  This does not include the             extras that make the distribution unique, protecting the intellectual property of an organization.

            4.  An organization cannot change the terms of the license for any copies or distributions that one may make from the original program                 and that a distributor may not impose further restrictions on the rights given by the GPL. 

            Without the GPL, an organization would be able to consume the Linux operating system, integrate it into their product and redistribute it claiming it as their own.  The GPL ensures that credit is given where credit is due and helps guarantee that no single organization can claim the rights to the operating system’s source code.

            As the GPL is the governing document enveloping Linux, it is very important for participants to identify and understand the terms by which they participate.  Hundreds of copyright and patent infringement cases have been filed by software companies against one another over open source software, primarily based on claims that protected intellectual property made its way without permission into an open source software product (Ministry of Justice, 2007).  Some participating organizations have entire departments dedicated to managing copyright, intellectual property, and legal issues that stem form the GPL.

Direct vs Proxy

            Participating in the community does not necessarily mean one has to be directly involved with the development of the products being distributed.  A third party organization may act as a proxy between product distributors and the community.  An organization may not have the ability or the desire to support the operating system on their product.  Instead, they turn to a more knowledgeable organization or proxy to do that for them, such as CSR.  The prominent mission of CSR is to provide information technology services with an emphasis on hardware technologies.  They support this hardware on the back end or after its release (King, 2011).  As CSR states it, “The distributing company is not going to want to jump out on a limb to support a platform that they have no knowledge of.”  It is then the responsibility of this third party proxy to take all necessary means to protect the intellectual property of the distributer.

            Proxy companies can still be a contributor.  For instance, a proxy company can offer a patch or device driver that its client uses on its operating system to be accepted upstream.   They may also be a differentiator, but must also realize that they are still bound by the GPL.

Recommendations: 

Define the scope of your project

            When considering participation in the Linux Open Community, it is recommended that an organization first look at how participating in the community will fit into their business model and strategic plan.  One needs to take into account how much of the development you, as an organization, are willing to take on for a particular project.  One also needs to determine if it is within the scope of your project to develop an entire system, or are you aiming at just developing a user interface.  

Start contributing

            It is recommended that an organization begin participating by making some small contributions and eventually, work into more complex development.  Start with developing bug reports, then move into bug fixes and finally participate by offering unique additions to the kernel.  Through this chain of events, an organization will come to better understand how the community operates.

Staff accordingly

            Identifying the terms of licensing and redistribution as stated by the General Public License can be a complicated matter.  A number of organizations have employed legal consultants to manage the issues surrounding this license.  An organization may consider hiring a person who has the knowledge to interact effectively with the community.  Participants need someone familiar with the programming language used, one who has the ability to collaborate with other participating organizations, and one who knows how to protect the intellectual property.

Consider the economic benefits

            Economic considerations must also be taken into account.  An organization should establish estimates for potential revenues and investment savings and compare them to the developmental costs and the costs of compliance required by the GPL. This is also a complicated matter which may require additional staffing.

Keep development platform neutral

            Lastly, it is also recommended that development remain platform neutral.  It allows for flexibility in development as well as allows additional functionality to be integrated into a systemNeutrality also creates openness to future advancements in technologies. 

Conclusion:

            In review, this report briefly defines the free and open philosophy that surrounds the Linux Open Community, the Linux kernel at its center, and those that currently participate in it.  In order to encourage organizations sitting on the periphery, the focus was primarily on why and how organizations do participate.  And finally, this report provided recommendations on how to start participating and what to look for in the way of legal obligations for those considering this as a viable business option.

            Major tech companies have a vested interest in the Linux Open Community as their goal is to develop a product that will ultimately make them a profit.  They need to see that the Linux operating system remains healthy and that it remains tech neutral.  Our research indicates that Linux is embedded into an increasing number of firmware/hardware devices and that trends are moving Linux innovation into areas of cloud computing and virtualization.  This demand is creating a need for participants, a need for organizations and the developers within them, who are willing to make contributions and/or test the contributions made to the kernel. 

Sources:

Tom Hanrahan, Blair Finnigan. In class interview: Microsoft Corporation. [interv.] Matt Germonprez. March 15, 2011.

 Hastings, Andrew. Private Interview: Cray Inc. [interv.] Matt Germonprez. Febuary 11, 2011.

 King, Tyler. Private Interview: CSR.plc. [interv.] Matt Germonprez. March 11, 2011.

 Warner, Brian. Linux Foundation Interview. [interv.] Matt Germonprez. March 1, 2011.

 Wright, Chris. In class interview: Red Hat. [interv.] Matt Germonprez. March 31, 2011.

75% of Linux Code Written by Paid Developers." OSNews Is Exploring the Future of Computing. Web. 11 Apr. 2011. <http://www.osnews.com/story/22786/75_of_Linux_Code_Written_by_Paid_Developers>.

Germonprez, Matt. "IS 384." SSS 204, UWEC. Lecture.

Kelty, Christopher M. Two Bits: the Cultural Significance of Free Software. Durham: Duke UP, 2008. Print.

Wikipedia, the Free Encyclopedia. Web. 11 Apr. 2011. <http://en.wikipedia.org>.

Mission | Open Source Initiative. Web. 09 Apr. 2011. <http://opensource.org/>.

Ministry of Justice | Open Source Discussion Paper. Web. 11 Dec. 2007.   <http://nzoss.org.nz>.

Dirk Riehle “The Economic Motivation of Open Source Software: Stakeholder Perspectives."  IEEE Computer, vol. 40, no. 4 (April 2007). Page 25-32

UNU-MERIT, the Netherlands “Study ontheEconomicimpactofopensource software”    Web. 26 Sept. 2006 < http://stuermer.ch/blog/documents/FLOSSImpactOnEU.pdf>

paper_-_participation_in_the_linux_open_community.docx
File Size: 49 kb
File Type: docx
Download File