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