Open Source









PDF version of this report
You must have Adobe Acrobat reader to view, save, or print PDF files. The reader
is available for free
download
.

Open Source

by James G. Barr

Docid: 00021049

Publication Date: 1910

Publication Type: TUTORIAL

Preview

"Open source" denotes a type of software in which the source code is
made freely available and may be modified and distributed at will.
Until recently, enterprise officials generally eschewed the use of open
source software, believing the systems were inferior in quality
and support to those featuring proprietary code produced by
established developers like IBM and Microsoft. Attitudes, however,
are changing thanks to the advocacy of the open source community.

Report Contents:

Executive Summary

[return to top of this report]

"Open source" denotes a type of software in which the source code
is made freely available and may be modified and distributed at
will.

 

Linux Operating Systems Tutorial
LAMP & WAMP Basics
Tutorial

Open source is distinguished from "closed source" or "proprietary
software" in which access to the source code is denied. Most
commercial software, i.e., software that is sold or made available
for a fee, is closed source.

While the term open source was coined in 1998 when Netscape released the
source code for its Web browser Navigator, the concept of freely shared
software has been around since the 1950s, particularly among computer scientists
working in academia. But "as computing systems became more complex, as
software development became more costly, and as markets for computing products
expanded, by the 1960s computer companies often bundled hardware products with
the software required to operate them and sold them together."1

One notable exception was IBM, which in the 1970s released its VM/370
operating system complete with source code, thus enabling customer personnel
(systems programmers) to add, delete, or modify OS functions at the System/370
Assembly Language level.

Until recently, enterprise officials generally eschewed the use of open
source software, believing open source systems were inferior in quality and
support to systems featuring proprietary code produced by established developers
like IBM and Microsoft.

Attitudes, however, have changed, especially as software heavyweights like
Microsoft, IBM, Oracle, and SAP actively participate in the open source community.

Citing advantages like a lower total cost of ownership, analyst Ben Balter
declares that "Open source is in your best interest, whether you’re an individual, a
corporation, a small business, a non-profit, or a government agency."2

Definition of Open Source

[return to top of this report]

Open source means more
than free access. The definition of open source, as advanced by the Open
Source Institute3, also prescribes the terms of distribution:

1. Free Redistribution

The license shall not restrict any party
from selling or giving away the software
as a component of an aggregate software
distribution containing programs from
several different sources. The license
shall not require a royalty or other fee
for such sale.

Rationale:
By constraining the license to require
free redistribution, we eliminate the
temptation for licensors to throw away
many long-term gains to make short-term
gains. If we didn’t do this, there would
be lots of pressure for cooperators to
defect.

2. Source Code

The program must include source code, and
must allow distribution in source code as
well as compiled form. Where some form of
a product is not distributed with source
code, there must be a well-publicized
means of obtaining the source code for no
more than a reasonable reproduction cost,
preferably downloading via the Internet
without charge. The source code must be
the preferred form in which a programmer
would modify the program. Deliberately
obfuscated source code is not allowed.
Intermediate forms such as the output of a
preprocessor or translator are not
allowed.

Rationale:
We require access to un-obfuscated source
code because you can’t evolve programs
without modifying them. Since our purpose
is to make evolution easy, we require that
modification be made easy.

3. Derived Works

The license must allow modifications and
derived works, and must allow them to be
distributed under the same terms as the
license of the original software.

Rationale:
The mere ability to read source isn’t
enough to support independent peer review
and rapid evolutionary selection. For
rapid evolution to happen, people need to
be able to experiment with and
redistribute modifications.

4. Integrity of The Author’s Source Code

The license may restrict source-code from
being distributed in modified form
only if the license allows the distribution of
“patch files” with the source code for the
purpose of modifying the program at build
time. The license must explicitly permit
distribution of software built from
modified source code. The license may
require derived works to carry a different
name or version number from the original
software.

Rationale:
Encouraging lots of improvement is a good
thing, but users have a right to know who
is responsible for the software they are
using. Authors and maintainers have
reciprocal right to know what they’re
being asked to support and protect their
reputations.

5. No Discrimination Against Persons or
Groups

The license must not discriminate against
any person or group of persons.

Rationale:
In order to get the maximum benefit from
the process, the maximum diversity of
persons and groups should be equally
eligible to contribute to open sources.
Therefore we forbid any open-source
license from locking anybody out of the
process.

6. No Discrimination Against Fields of
Endeavor

The license must not restrict anyone from
making use of the program in a specific
field of endeavor. For example, it may not
restrict the program from being used in a
business, or from being used for genetic
research.

Rationale:
The major intention of this clause is to
prohibit license traps that prevent open
source from being used commercially. We
want commercial users to join our
community, not feel excluded from it.

7. Distribution of License

The rights attached to the program must
apply to all to whom the program is
redistributed without the need for
execution of an additional license by
those parties.

Rationale:
This clause is intended to forbid closing
up software by indirect means such as
requiring a non-disclosure agreement.

8. License Must Not Be Specific to a
Product

The rights attached to the program must
not depend on the program’s being part of
a particular software distribution. If the
program is extracted from that
distribution and used or distributed
within the terms of the program’s license,
all parties to whom the program is
redistributed should have the same rights
as those that are granted in conjunction
with the original software distribution.

Rationale:
This clause forecloses yet another class
of license traps.

9. License Must Not Restrict Other
Software

The license must not place restrictions
on other software that is distributed
along with the licensed software. For
example, the license must not insist that
all other programs distributed on the same
medium must be open-source software.

Rationale:
Distributors of open-source software have
the right to make their own choices about
their own software.

10. License Must Be Technology-Neutral

No provision of the license may be
predicated on any individual technology or
style of interface.

Rationale:
This provision is aimed specifically at
licenses which require an explicit gesture
of assent in order to establish a contract
between licensor and licensee. Provisions
mandating so-called “click-wrap” may
conflict with important methods of
software distribution such as FTP
download, CD-ROM anthologies, and web
mirroring; such provisions may also hinder
code re-use. Conformant licenses must
allow for the possibility that (a)
redistribution of the software will take
place over non-Web channels that do not
support click-wrapping of the download,
and that (b) the covered code (or
re-used portions of covered code) may run
in a non-GUI environment that cannot
support popup dialogues.

Note: The Open Source Definition was originally derived from
the Debian Free Software Guidelines (DFSG).

State of Open Source

[return to top of this report]

Open Source Is Ubiquitous

On February 3rd, 2018, open source celebrated its 20th anniversary,
maturing from a suspect software category to wholesale enterprise acceptance. As analyst
Steven J. Vaughan-Nichols observes, "Every company in the world now uses open-source software. Even
Windows is now built using open-source techniques.
And if you ever searched on Google, bought a book from Amazon, watched a movie
on Netflix, or looked at your friend’s vacation pictures on Facebook, you’re an
open-source user."4

Misappropriation of Open Source

Like closed source
systems, open source systems are vulnerable to abuse. "Open", after all, means
open to everyone and open
source systems can be exploited by bad actors owing to the fact that their
licenses are not permitted to discriminate against persons or groups.5

Sustainability and Wealth Inequality

With so much of our information infrastructure relying on open source
software, there is growing concern about open source sustainability. As analyst
Danny Crichton observes, "Open
source maintainers are exhausted and rarely paid.
Engineers around the world pour their sweat and, frankly, their hearts into
these passion projects that undergird all software in the modern internet
economy. In exchange, they ask for nothing in return except for recognition and
help in keeping their projects alive and improving them."6

This spirit
of volunteerism may change as open source contributors realize that they are, in
effect, unpaid employees of giant tech companies like Microsoft and Google. As
analyst John Mark explains, open source was supposed to "[undermine]
entrenched monopoly powers and [establish] a more equitable approach to building
wealth around the tools that would power humanity in the 21st
century. It was about the democratization of software and would smash what we
then called the ‘digital divide.’ That premise was entirely false. [Not] only
did open source not stem or stall the redistribution of wealth and power
upwards, but rather it aided and abetted the redistribution of wealth and power
upwards.

Consider
that

Amazon, Google, and Facebook "built their entire business model on open source
software, and they have paid very little in license fees to software vendors.
That’s their secret. They all applied the lesson very early on that the way you
build profitable businesses is to start with a foundation of open source
software, hire a team of smart engineers, and build your way to glory." After a
slow start, Microsoft, too, began to embrace this formula.

Compounding the problem, tech firms and others are
free to integrate open source into proprietary, i.e., paid, services.7

How the open source community chooses to combat this
"wealth inequality" is to be determined. Members may seek financial compensation for
their work, or they may abandon open source projects.

Open in the Middle

Some open source purists argue that commercial interests are violating the
spirit of open source by employing it as a type of middleware, flanked on either
side by proprietary, i.e., non-open, code. Their complaint, as articulated by
analyst Thierry Carrez is that "the growing share of code running operations for
[computing, storage, and networking] infrastructure software is almost always
kept private. The glue code used to provide users access to this infrastructure
(what is commonly described as "cloud computing") is more often than not a trade
secret. And if you look to the other side, the desktop (or the user-side
applications in general) are still overwhelmingly driven by proprietary
software."

Citing Amazon Web Services and Android as examples, Carrez asserts that this
open in the middle phenomenon matters because "as an AWS user, you don’t have
transparency: you can’t really look under the hood and understand how AWS runs
things, or why the service behaves the way it does. As an Android user, you
can’t really engage with Android upstream, contribute to the creation of the
software and make sure it serves your needs better tomorrow."8

Big Tech Open Source

While some see problems with Big Tech’s embrace of open source, others see a
positive influence. Analyst Adrian Bridgwater reports that Mathias Golombek, CTO
at Exasol, an analytics database company, believes that commercial software
providers, particularly Big Tech, help open source developers by exposing their
technology ideas. Examples include Twitter with its Bootstrap project – which is
today the de-facto standard for website development – and Facebook’s Presto
project.

For its part, Microsoft contends that, “Enterprises can help accelerate the
adoption and usage of open source by getting an open source solution in more
customers’ hands. This doesn’t just mean our own open source solutions. In
Azure, making open source ISVs successful is one of our top priorities. With
Databricks, Red Hat, NetApp, Canonical, Docker and more, we have proven we can
turn technology from our open source partners into Azure consumable services
complete with billing, commerce, go-to-market support and more."9

Why Select Open Source

[return to top of this report]

For those enterprise officials who remain resistant to open source software
(in some cases, stubbornly), the proponents of OSS point out the following:

1. Open Source Promises a Lower Total Cost of Ownership

As analyst Ben Balter observes, "Using open source software yields a lower
total cost of ownership when compared to closed source and proprietary
alternatives. Adopting open source software generally has a lower up-front
cost (because the software often comes at no cost or relatively low cost), and
shifts the cost center from licensing (an operating expense) to customization
and implementation (a capital expense). Additional costs like training,
maintenance, and support are sunk costs. You’re going to be paying for
both regardless of [whether] the software is open or closed source, the cost
often being baked into the license in the case of commercial, off-the-shelf
software (COTS). What makes open source unique is that you’re not paying
for the right to use the underlying intellectual property."10

2. Open Source Is Often More Secure Than Closed Source

It’s known as Linus’s Law: "Many eyes make all bugs shallow." With
proprietary software, only the developers and maintainers are "on the lookout"
for software defects. With open source software, dozens (or even hundreds)
of programmers are scrutinizing the code. As a result, open source
problems are generally detected and resolved more quickly, thereby improving
security.

In addition, open source customers can apply software patches immediately. They do not have to wait for closed source vendors to address business-critical
problems.

3. Open Source Is Endorsed By Major Software Developers

Firms like Microsoft, Apple, IBM, SAP, and Adobe are active within the open
source community, thereby legitimizing, if not encouraging, the deployment of
open source software.11

4. Open Source Is Customizable

Unlike a closed source system in which a customer has to petition the
controlling vendor for enhancements (or even bug fixes), open source customers
can implement new functions and fixes at will.

5. Open Source Systems Normally Employ Open Standards

By utilizing open standards, open source systems are usually more compatible
– and interoperable – with other software, even closed source systems and
applications.

6. Open Source Prevents Vendor Lock-In

Perhaps the biggest advantage of open source is customer freedom. Customers are not "locked in" to a particular vendor’s products, upgrade plans,
and update schedules. They are also unaffected by a vendor’s decision to
withdraw support.

As analyst Matt Hartley explains, "let’s say
you’re using a proprietary publishing application. One day, the company
releases a new version and explains that going forward, older [files] … won’t
be supported by the new version. This means if you have an older version
on one PC, and the latest version on [a] second PC, they can’t exchange files
due to compatibility issues. The company’s motivation is for you to run
the latest version of the software on BOTH computers. Had the company been using open source software, the file format would
have either remained unchanged between software versions or the ability
to import the older files would have been provided."12

7. Open Source Software Support IS Available

Analyst Matt Hartley reports that "In the open source world, especially in
terms of enterprise applications, there are numerous open source support companies willing to help. Many open
source projects have commercial support available. And if a project
doesn’t, often you can find a separate company that provides paid support for
most open source applications."13

8. Open Source Developers Can Make Money

According to the Open Source Initiative, "[Developers] can sell services
based on [their] code (i.e., sell [their] time), sell warranties and
other assurances, sell customization and maintenance work, license the
trademark, etc. The only kind of profit strategy that is incompatible
with Open Source is monopoly-based sales, also known as ‘royalties’."14

Recommendations

[return to top of this report]

"Upstream" Improvements

Enterprises that consume open source software have an implied obligation to
give back to the open source community by:

  • Reporting bugs
  • Supplying fixes15

Use Due Diligence When Selecting Open Source Software

When selecting open source software:

  1. Learn about the team sponsoring the open
    source application or system. Inquire about their future plans.
  2. Contact current customers and ask about their
    open source experiences.
  3. Check the Internet and trade publications for
    relevant software reviews.
  4. Identify and investigate any incompatibilities
    with existing enterprise software – open or closed.
  5. Establish what level of support is available,
    either from the team or commercial support organization.
  6. Contact local universities for possible advice
    and assistance. Many universities use open source software, and some
    have a commercial open source operation.16
  7. Consult with the enterprise’s general counsel before making any open
    source commitments.

References

[return to top of this report]

About the Author

[return to top of this report]

James G. Barr is a leading business continuity analyst and

business writer with more than 30 years’ IT experience. A member of

"Who’s Who in Finance and Industry," Mr. Barr has designed,

developed, and deployed business continuity plans for a number of Fortune

500 firms. He is the author of several books, including How to

Succeed in Business BY Really Trying, a member of Faulkner’s Advisory

Panel, and a senior editor for Faulkner’s Security Management

Practices. Mr. Barr can be reached via e-mail at jgbarr@faulkner.com.

[return to top of this report]