Home > Articles > Operating Systems, Server > Linux/UNIX/Open Source

This chapter is from the book

This chapter is from the book

Who Uses Open Source?

The short answer is "everyone." If you've searched with Google, purchased books from Amazon, or placed a call with MCI, you've used open source. Each of these organizations uses open source as part of its core computing infrastructure.

Note

Open source is used by a number of major corporations.

The somewhat longer answer is that many organizations currently use, are actively experimenting with, or are thinking about using open source. To date, users of open source have mostly been early adopters; pragmatic IT organizations are now beginning to consider open source, mostly for the reasons outlined earlier. A detailed discussion of how these early adopters and pragmatic organizations use IT is contained in Chapter 4, "The Open Source Maturity Model."

Note

Many other corporations are actively experimenting with open source.

The even longer answer is that open source is used by the product's user community. This might seem redundant, but the term community (or user community) is one you will hear repeatedly in discussions about open source. One of the key differences between commercial software and open source is captured in this phrase. To understand it, you need to consider the relationship between developer and user.

Note

An open source product's user group is usually called its community.

With commercial software, there is practically no interaction between software developers and the people who actually use the product. Most companies seek to shield their developers from users to enable them to focus full time on banging out the code needed for the next release.

Note

Commercial software developers are not usually accessible to the product community.

In contrast, on open source projects, there is a great deal of interaction between developers and product users. In fact, one might say that there is a very intense relationship among all individuals involved with the product—whether developers or users. E-mails fly back and forth among the development team and product users. Feedback is sought and freely given. Without romanticizing community, it's critical to understand it and recognize how you can interact with it and take advantage of it. It's worth a discussion about community to see how it impacts how you will use open source. The place to begin community lies with the development team and how they work. After that, we can explore how the user community affects and is affected by open source.

Note

Open source developers are usually highly involved with the product community.

Open Source: Two Case Studies

Many people believe that open source software is not used in mission-critical production applications. Here are two examples of companies that rely on open source to run their mission-critical applications.

Charles Schwab

Charles Schwab runs a very large Web site that allows customers to buy and sell financial instruments, check the status of their accounts, and research potential investment opportunities. Traffic to the site varies enormously, depending on what is happening in the stock market on any given day. In the past, maintaining sufficient reserve computing capacity was difficult because of the high cost of the hardware. Over the past year, Schwab has been trading out proprietary UNIX boxes for inexpensive Intel-based machines running Linux. Geoff Penney, Schwab's chief information officer (CIO), states that the company had saved hundreds of thousands of dollars bringing in less-expensive machines. Moreover, it had also increased its ability to respond to traffic spikes, because it was now able to afford to have reserve capacity available.

Sabre

Sabre Holdings is a global travel company that operates the largest airline reservation system in the world. This system is so complex that its original mainframe systems ran an operating system written specifically for their application—the standard operating system couldn't handle the transaction load. Today Sabre not only operates this reservation system, but also offers software and services to travel organizations and airlines throughout the world. To reduce its operations costs, the company extensively uses open source software. Today, its core applications still reside on legacy systems, but they are surrounded by Linux-based servers using the open source database MySQL for storage, and communicate via the open source TAO object request broker. The services themselves are offered as Simple Object Access Protocol (SOAP)-based Web services that are constructed with open source software.

These applications perform hundreds of thousands of transactions each day, all of which execute on open source software systems. Sabre estimates that it has saved millions of dollars using open source software to enable external access to its core applications; in fact, because the airline industry has such thin margins, these applications would not have been economically feasible if the company used commercial software.

Created by Volunteers, Not Employees

Open source developers are typically IT professionals who donate their work on a voluntary basis (this is not universally true, as will be discussed in Chapter 2, "Open Source Business Models." By and large, however, most participants in an open source product are there by choice on an unpaid basis. In contrast, commercial software is written by paid employees.

Note

Open source software is usually developed by volunteers.

The fact that open source is written by volunteers affects how open source product teams form and work. Because individuals participate based on their interest in the product, open source management practices are very different from those in commercial software companies.

Note

The voluntary involvement of developers affects open source management practices.

Anyone who has worked in a voluntary organization will recognize the key differences between the two types of organizations. People volunteer for personal reasons, so getting individuals to work on something that doesn't interest them is fruitless. They won't do it—they just drift away. Volunteers must be emotionally engaged to work on a task and "managing" a volunteer is chiefly an exercise in figuring out a good way to motivate him or her. The role of a manager in an open source project involves lots of emotional stroking and personal interaction, which takes time and forfeits urgency. It can all seem very touchy-feely: There is no such thing as a well-disciplined voluntary organization.

Note

Open source management practices require very different techniques.

On the other hand, one might argue that the motivation of paid employees is less than complete. Just because an employer offers a paycheck doesn't mean that an employee is strongly motivated. Employees can accept their pay but disdain their tasks. Anyone who has spent time as a manager knows that some employees find it impossible to be enthusiastic about their work. If they're not enthusiastic, they deliver minimal effort. They might actually deliberately hinder their team's progress if they're unhappy enough. Therefore, it's important not to overstate the power that an employer has because it supports its employees' living standards.

Note

Paid employees might not be as committed as one might think.

There are tremendous benefits to having volunteers write open source software, however. Volunteers bring real passion to what they do. Again, anyone who has worked in a voluntary organization has seen the tremendous effort expended by participants. The inefficiencies in managing open source projects are balanced by the enthusiasm the engineers bring to the tasks they select. Great products are achieved by passion; it might not be missing in software written for pay, but it surely cannot be missing in software written for free.

Note

Volunteers' passionate commitment can lead to great products.

Because they are voluntary groups, open source development teams work together in a decentralized fashion with little hierarchy. The project leader is usually the individual who originated the project; he or she must manage by consensus with a "lead by example" approach. The project leader is responsible for developing a common understanding of what functionality the upcoming product release will contain, encouraging new developers to join the project, helping developers select a portion of the project to work on, and arbitrating any conflicts that arise between team members.

Note

Open source development teams work in a highly decentralized, consensus fashion.

In summary, egalitarian groups working together as volunteers create open source products. These groups operate with all the glories and frustrations that accompany any voluntary organization.

Development Practices

Open source projects tend to make early releases available for use by the user community and quickly refresh the releases as the product is modified. It's not unusual for new versions of a product under development to be released every few days. This practice is described as "release early and often." The open source community believes that this practice leads to higher-quality products.

Note

Open source projects "release early and often."

The reasons for this belief are straightforward. Developers create and test code based on their assumptions about how it will be used. However, actual users use (and misuse) the product in ways that no developer could possibly have imagined. This use or misuse exercises unexpected code paths and stresses the code in unforeseen ways. By making the product widely available, a large pool of users quickly performs this product exercising and more quickly improves the product's quality.

Note

"Release early and often" results in higher product quality.

Because the source code for the product is available, a second factor comes into play. As the epigram "two heads are better than one" illustrates, additional perspectives about problems lead to better solutions. As many of the people using (or misusing) the product access the source code to create fixes that they then submit to the core development team, the overall solution created as a blend of the different fixes will be of higher quality than any one fix possibly could be. Certainly the use of a large pool of developers beyond the central team enables a broader perspective to be brought to bear on the source code. The benefit of having many people working on the source code is summarized in the open source shibboleth "many eyes make all bugs shallow." A side benefit of having many people looking at the source is that the code is reviewed for adherence to coding standards; fragile or inflexible code can also be improved as a result of these reviews. Generally speaking, code reviews are considered to be a very positive quality practice in software engineering.

Note

Source code availability means that bug fixes are higher quality.

A third factor that affects open source development practices is that large numbers of real users work with the product and offer feedback directly to the development team. This feedback enables the team to learn what features the product really needs to include to be more useful. By contrast, commercial product companies often suffer from what is known as feature creep, focusing on delivering more features in a race to outshine competitors rather than on what product users really need. There is no pithy catchphrase to express this open source practice, but the direct involvement of end users is believed to lead to more useful products.

Note

Direct user feedback ensures that the product implements critical functionality.

A Philosophy of Community

The practice of frequent releases to gather user feedback highlights one of the most important aspects of the open source world: the community. The size and activity level of the community carries significant implications for organizations considering a product. Community pervades discussions of open source, and is discussed throughout this book. More particularly, the size and activity level of the community directly affects the maturity of the product. This book extensively addresses all the ways that the user community impacts the maturity of an open source product, and how you or your organization can use the user community to assess the product's maturity.

Note

One of the most important aspects of open source is the community.

What is an open source community? It is all the product developers, any users who are interested in participating, and any other individuals who care to be involved with a product. Essentially, it is a freewheeling organization of everyone who is interested in a particular product for whatever reason. There are no formal requirements for joining and no formal rules for participation.

Note

A product community is open to any interested participant.

However, lack of formality does not mean that there are no standards for participation or behavior. Very strong unwritten rules govern all community interactions. A community member is expected to interact respectfully, make reasoned arguments about why a particular course of action is right, and, above all, to contribute to as well as take advantage of the community.

Note

Easy participation does not imply lack of behavioral standards.

Open source product communities are very powerful and offer tremendous benefits:

  • As described earlier, the interaction between developers and users makes for a more useful product. The product is better for having more people determining its direction and improving its stability via usage.

  • The community offers a real resource to draw on for expertise in the product. It is very common for members of the community to help one another figure out problems or to suggest potential solutions for product usage.

There are some drawbacks, however:

  • Because of the need for consensus and the large community size, the pace of work and decision making can seem very slow. There really isn't any way around this, but it usually doesn't cause an enormous problem. In any case, if you feel strongly about something, there is always source access to more quickly make changes that you feel are time sensitive.

  • Despite the strong informal rules of participation, immature behavior sometimes (rarely, really) occurs. This can take the form of namecalling, but the more common form is one-upmanship based on technical opinion—the "it is obvious to anyone who really understands how objects interact that it should . . ." sort of thing.

  • Occasionally, the community will engage in protracted discussions about off-topic subjects. Depending on your temperament, these discussions might be charming, mildly distracting, or irritatingly time wasting. I tend to the latter point of view, but have learned to grit my teeth because of the community benefits.

One unique aspect of an open source community is that it is essentially anonymous and extremely decentralized. Nearly all interaction is done via e-mail and Web forums. It is common for members of the development team to have never met, but to have worked together quite closely to create a high-quality product. Many members of a product community will cooperate to solve a problem successfully, all while being scattered literally around the world.

Note

The community is anonymous and extremely decentralized.

Can Community Work?

Many IT managers are initially reluctant to use a product that relies so heavily on an informal community organization. They feel open source communities that lack hierarchical leadership and a formal governance structure must be inefficient and chaotic. It's easy to understand this reaction, because so much of corporate and governmental life revolves around hierarchies and formal rules of behavior.

Note

Many IT managers question whether a community-based product can be successful.

At bottom, this reaction is based on a fear that community means no one is truly responsible for the product—that there is no one to turn to about a specific problem or an urgent need. There is a comforting sense that a commercial provider offers a responsible point of contact, sometimes charmingly referred to as "one throat to choke." On the other hand, having a commercial provider standing behind a product is no guarantee of responsible behavior. The software industry has witnessed many instances of companies abruptly declaring products "no longer supported" or defining them as having reached their "end of life plan." Another perspective on "one throat to choke" is "single point of failure," which is usually considered a bad thing.

Note

Commercial practices are no guarantee of success, however.

However, there is a precedent for a technology successfully delivered by an informally structured organization. It is one that every reader of this book likely uses each day: the Internet. Despite its lack of formal hierarchy, use of the informal request for comment (RFC) standards mechanism, and reliance on personal reputation for leadership, the Internet has succeeded brilliantly. It is unlikely that a single commercial entity could have created what this informal organization has brought about. Many observers even argue that the lack of formal structure and regulations for the Internet have enabled it to evolve more quickly and be more useful than would otherwise have been possible.

Note

The Internet itself is an example of a community-based success.

Many discussions about open source denigrate the commercial software world and describe open source methods as far superior and perhaps even better morally. The informal community is portrayed as delivering much better products that will eventually send commercial software to its deserved burial in the elephant's graveyard. My own view is that there are many powerful benefits available from using open source and the community is one of those benefits. I don't believe that commercial software is going to disappear by any means; however, I do believe that open source software will become an important part of every IT organization's infrastructure and that taking advantage of the community is vital to success with open source. Open source succeeds brilliantly at delivering software, and the community is an important part of that success.

Note

Community is one of the benefits of open source software.

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.

Overview


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information


To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.

Surveys

Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.

Newsletters

If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information


Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.

Security


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.

Children


This site is not directed to children under the age of 13.

Marketing


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information


If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.

Choice/Opt-out


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information


Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents


California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure


Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.

Links


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact


Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice


We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020