Open Source and Linux
By Ryan Rhodes
IBM's commitment to open-source software and open standards isn’t new–the
company has been promoting offerings such as Linux for years. However, with the
new IBM Systems Agenda unveiled in 2005 comes a renewed commitment to openness,
making significant investments in development communities and creating a broad
portfolio of systems incorporating open-source applications and open standards
into their design.
The goal of openness is to build an application portfolio that promotes
increased flexibility, interoperability, scalability and choice when it comes to
building an IT infrastructure, rather than the "one-size-fits-all" vendor
models, which are often inflexible when it comes to future growth and general IT
direction changes.
As a component of openness, a commitment to open source, standards-based
solutions and initiatives allows customers to more easily and seamlessly
integrate technology and systems into their existing environments. Because
customers often need to leverage their existing investments and often lack the
manpower and personnel to deal with introducing new technologies, disruptions
may occur. Openness can help customers deal more effectively with disruptions.
Open Source and Linux
As its name implies, open source means opening up software source code–either
completely or specific segments of it–so that it can be accessed and altered by
others.
The most obvious example of this sort of application development is the
evolution of Linux, an operating system (OS) created by Linus Torvalds, who put
his creation out for general consumption as an open-source development project
on the Internet in 1991. Since then, thousands of Linux enthusiasts have built
on that original creation, and the Linux versions available today are a result
of a worldwide collaborative effort to improve and customize the OS.
Linux development was for many years considered an interesting–but mostly
fringe–phenomenon that wasn't yet "ready for prime time," particularly when
matched up against the Microsoft® Windows® OS offerings. It wasn't until
companies such as IBM started looking at Linux as a viable OS for powering
business servers and storage arrays that it really started to come into its own.
What Linux brought to the table for IBM was a common OS platform that could work
across the different hardware types IBM offers, including mainframes, mid-sized
servers, Intel® technology-based servers and storage devices, not to mention
mobile devices, etc.
"IBM was very interested in Linux because of its interoperability across its
different platforms and devices" says Bob Sutor, IBM vice president of standards
and open source. "You can see why Linux makes a tremendous amount of sense to
us, allowing us to transfer software-development expertise from one hardware
platform to another. It provides a platform that is so similar across these
different hardware environments that we can build many products such as DB2® and
WebSphere® to run on top of them."
More generally, Linux development showed IBM an emerging and powerful method of
application development that offered a complementing model to the more
established proprietary-application-development model.
"I would say that really over the last eight years or so, IBM has really learned
a lot about open source, thanks in no small part to watching how Linux
development occurred," says Adam Jollans, IBM software worldwide Linux marketing
strategy manager. "We've learned how to adapt to open-source business models and
licensing, which are still evolving. We’ve learned a lot about the benefits of
open-source software and how those benefits tie in when used in conjunction with
proprietary software."
Proprietary Software and Open-Source Development Models
People often compare open-source development with traditional, or
proprietary, software development that typically takes place inside a single
company. Proprietary development is the model in which someone basically says,
"I created this, I paid for the people who developed it, so it's mine and I'll
do with it what I choose."
Proprietary development is arguably the most widely used model across the
software industry, used both for popular offerings such as Windows and also in
more specialized markets.
Alternatively, there's open-source development which, as stated, means some or
all of a product's source code is available, as well as the executable code, so
everyone can access, alter and distribute it. What that means is there's more
live peer review–people can see the source code, comment on it, and suggest a
better way of doing something. They can even spot bugs and suggest fixes. This
model isn’t limited to OSs like Linux; it can apply to almost any area of
software, including database and e-mail systems and virtually any application.
"What's remarkable about open-source collaboration is how it happens so
spontaneously," says Jollans. "If you want a sort of a model of how this has
happened before, you can look at academic research, where an intellectual has an
idea and publishes it, and that, in turn, is built upon by another academic and
takes the idea to the next level and so on."
Obviously, the question that arises regarding open-source development is how it
makes money. To answer this, it's important to remember that in the traditional
proprietary model, licensing the product isn't necessarily the only way to make
money off that product.
For example, support services can drive considerable revenue, and subscription
fees and maintenance fees can be charged instead of flat licensing. SUSE and Red
Hat variants of Linux are examples where commercial companies have found ways to
profit from a core product that 's essentially free of charge. Through
customization, bundling and service agreements, SUSE and Red Hat make money
largely without the traditional licensing model.
"However you want to develop software, the main thing is to realize that there
are many ways to generate some sort of revenue from it," says Sutor. "The
licensing, such as it is, that takes place in the open-source model is different
in that users are allowed to modify the software if they want, redistribute if
they want, and even be able to sell those modifications further down the line.
It's potentially a much more flexible model. Of course, there are
responsibilities that go along with the new model, and that depends on the
software. Linux, for example, uses the GPL license and so allows a developer to
modify it, compile his or her own version and use the result–but if you’re going
to try and distribute it, you're required to make all your modifications
publicly available. Other licenses will vary a bit according to the software,
the company and the development community."
This doesn't mean that a company has to opt entirely for one model over another,
and it doesn't mean that people who work for traditional proprietary software
companies can't work on open-source projects. In fact, if there's one message
about open source that IBM wants people to understand, it's that it isn't a
binary choice–it’s not a matter of using only proprietary software or
open-source software. According to Sutor, the world's a hybrid, and at any given
moment a company may be using a combination of open-source and proprietary
software.
With that in mind, the question that remains is: "What’s the best mix?" "Let's
say a company is just this little dentist office down the street; a proprietary
solution might be the way to go, or they might decide they want to run Linux and
run commercial applications on top of that," says Sutor. "What we're in the
midst of learning about and understanding is the essence of this hybrid
environment."
"Open-source adoption doesn't mean that commercial application development is
going to go away," adds Jollans. "It's going to go to a mixed model and it's
going to vary from area to area as to how mixed the model is. Just as Linux
didn't mean Windows or UNIX® was going away, open source doesn't mean
traditional development is going away. It just adds another option, and choice
is obviously a good thing."
Open-Source Pros and Cons
Open source is all about tapping into the minds and experiences of people
around the world. In particular, that means people who don't necessarily happen
to work in niche environments, so they can bring to bear all of their collective
knowledge and everything they've learned about different IT situations. Because
of that, code put up for open-source development can often produce a
high-quality piece of software for a low overall cost. Additionally, a piece of
code put out for open-source development might be plugged into a much larger
offering that's still considered a proprietary offering because of the way
different things are mixed in.
The type of code best developed through open source varies, but one area in
which open-source developed code shines is in the realm of industry and
government standards. If a product is going to provide functionality that must
adhere to standards, the code behind that functionality may be best served by
open-source development.
"A good example of this is the Apache Web server, which IBM uses as a component
module of WebSphere," says Sutor. "It's a straight-up HTTP server we opted to
use within WebSphere in the late 1990s, because there was no point in
reinventing the wheel. It was a perfectly fine, high-quality,
community-maintained piece of software that tracked the standards extremely
accurately. Today, nearly 70 percent of the Web servers in the world run Apache.
It was a very smart decision on the part of IBM, in retrospect, to do that."
Perhaps one of the most compelling benefits open source brings to the market is
its capability to develop software with only a relatively modest but shared
investment, rather than one person footing the entire bill.
For example, IBM has invested an estimated $100 million in Linux development,
which underscores IBM"s commitment to Linux. However, when you consider that
$100 million is only about 20 percent of the total estimated cost of developing
Linux so far, you may understand that IBM is realizing a considerable cost
benefit through the open-source development of Linux. Through that 20 percent
investment, IBM has so far leveraged a high-quality, enterprise-class and highly
secure OS out of the bargain.
"You look at this equation, and you see you only have to invest 20 percent into
something to get this wonderful thing," says Sutor. "You start looking at how to
leverage that kind of development model in other situations and say, 'Well,
where can we do this again?' "
Among the biggest potential shortfalls when it comes to open-source offerings is
in the realm of product support. When there's not one obvious company you can
call for support, it can be an inconvenience. Some companies offer support, but
in some cases it's not as easily available, so you may have to provide your own
support, which of course requires some level of technical savvy and expertise.
This is an area that's evolving, though, and the industry is responding to
provide new support options. In this way, open source is stimulating innovation
around business models.
"Another drawback is figuring out how to integrate open-source offerings with
each other," says Jollans. "There's no 'open source guru in the sky' designing
all of the open-source programs to work seamlessly with all other open-source
and non-open-source programs. If you want to use Linux in conjunction with
Apache in conjunction with MySQL and so on, for example, either you have to put
them all together and integrate them yourself, or you pay someone else to do
so." Of course, proprietary offerings have sometimes had the same type of
criticism leveled at them.
Open Source Going Forward
In the past, open-source development was usually performed by people in their
spare time. Today, open-source development has evolved to a point where entire
companies come together to create open-source offerings.
For its part, IBM is investing in several collaborative and online communities
that promote open-source initiatives. IBM was the initial contributor to several
important XML and Web services open-source projects, as well as the
industry-transforming Eclipse software development environment. On the storage
end, in late October 2005, Aperi (which means "open" in Latin), a nonprofit,
collaborative open-source storage platform initiative was announced, consisting
of founding members such as IBM, Cisco, Computer Associates (CA), Brocade,
NetApp, McDATA, Sun Microsystems, etc. In addition to its investment in this
initiative, IBM is also donating a part of the source code for its TotalStorage®
Productivity Center to establish an available base storage-management platform.
According to Jollans, open source is an industry trend that's speeding up at
varying levels from area to area. In terms of development tools, it's fairly
widespread, whereas systems management isn't catching on as quickly.
"What we saw happen in 2005 was an acceleration in both interest and adoption in
terms of open-source software," says Jollans. "I think that's a clear dynamic
that's taking place, and the industry is seeking a new equilibrium."
"Remember that companies should think in terms of hybrid open/proprietary
environments," adds Sutor. "Whenever a company is thinking about software
solutions and is thinking about proprietary options, and they say, 'It's
definitely only just this way,' they probably have more research to do. Rather,
it's about exploring combinations of open source and proprietary software that
makes for interesting and successful business opportunities."
Ryan Rhodes is a managing editor with MSP TechMedia. Ryan can be reached at rrhodes@msptechmedia.com.
Copyright 2007