IBM Turns to Open Source Development

By David Worthington | Published June 13, 2005, 2:47 PM

INTERVIEW Is open source changing the way that software is made? It is at IBM. BetaNews sat down with Doug Heintzman, IBM Software Group's VP of Strategy and Technology, to discuss the adoption of a hybrid development model called Community Source that combines the best elements of the open source model with decades of IBM programming practice.

This componentization, says IBM, will liberate the creativity of programmers, drive efficiency, and bring products to the marketplace at a faster rate then was previously possible - avoiding a top down approach that IBM says could make Microsoft's Longhorn obsolete upon arrival.

BetaNews: Let's begin with an introduction to Community Source for our readers.

Doug Heintzman: The quick gist of it is really quite simple. We run a very large software development company and we have laboratories around the world. And due to a number of technological factors as well as some efficiency enablers like the Internet, we have decided to move to a new development methodology.

We are systematically decomposing our technologies into a number of components and a lot more reuse than was previous possible. Because of that strategic decision we need to move to a development system that allows us much greater transparency, and a much greater awareness and cross pollination of expertise, ideas and requirements between all of the various different laboratories.

Increasingly our products are assembled from components instead of architected from the top down. We basically leveraged our rather extensive experience with the open source communities and we have borrowed many of their philosophies, strategies, tools and a lot of their culture to transform IBM's internal development practices to support global component development and promote collaboration and reuse of technology.

That's the high level synopsis.

BetaNews: What inspired IBM to begin the Community Source program?

Doug Heintzman: The community source approach at IBM is a means to an end. We believe in an Internet connected world with the business requirements that the on-demand era of information technology is suggesting. There is going to be an important shift and to deliver technology that addresses that shift in both customer requirements as well as our technological capacity, we have decided to systematically componentize and modularize our software. That is allowing us to get to the market much more quickly to address these requirements in a much more time and cost effective manner.

So with that recognition that this is the way we are going to develop software going forward it is clear to us that the way we traditionally develop applications is sub-optimal to achieve this goal. It's a very ambitious goal; no one has tried to do it on the scale and scope that we are doing it.

We very much believe that the software industry is moving through the same kind of componentization transition that many other industries ranging from the automotive industry to the disk drive industry and chip industry have all gone through. And the companies that emerge from this transition and have successfully broken their products down into sub-assemblies to reusable components will have tremendous advantage in the marketplace. So that's the driving motivator. Community Source is a way to get there.

BN: Would you consider it to be managed code or something different? To elaborate, Microsoft is attempting to push its developers to use modules of managed code within Visual Studio to create more reliable Windows applications more efficiently.

Heintzman: I think that managed code is a way of referring to a structured component and we've got a number of names for them ourselves. We believe a few things: First of all, we have a systematic architectural view of our entire product portfolio. And we have a group of people dedicated to identifying what groups of technologies should be componentized and providing the heavy architectural framework to the development team so that they can do that componentization more effectively.

From that sense there is a managed code approach in that there is a group of people whose full time job it is to worry about what ought be componentized, how should that componentization be done, what standards need to be adhered to.

Now that being said, there is a second part of this, and this is really borrowing from the culture of the open source community. There is a very important role in a software company like IBM for top down managed code architecture and all that kind of good stuff. But there's also a tremendous amount of potential innovation that is locked up in the heads of the front line programmers and we try to liberate that creativity and the innovative potential of all of those people.

We look at the open source communities out there and we are witnessing this kind of fascinating bottoms up grassroots innovation where great people have an idea and collaborate with other people and get together to make those ideas into something real. That's a very exciting phenomenon. So certainly we have a structured approach to community source, but we also have an eye to promoting this bottom up, collaborative, creative process. This is part of borrowing the culture from the open source community.

BN: Speaking of scale and scope, when will Community Source be fully implemented companywide?

Heintzman: It's already been implemented companywide. We have a hundred projects that are currently up using the Community Source. We have over 2,000 users that are currently registered and using the Community Source tools and processes. There are nine or so new projects that have been registered just in February, which is the last time I saw the numbers on the progress we are making.

We actually have 34 or so projects that we call "in active production." They are not just kind of hobbies; these are active development projects that run directly into our product line.

BN: Is Community Source phased in throughout every product group, or is it targeted more towards improving core IBM software technologies that are more modular in nature?

Heintzman: Good question. There are two ways to answer that. Certainly a lot of our componentization efforts, and subsequently the tooling to support those componentization efforts, are focused on the core enabling. But the real key here is that we are looking at a lot of the new emerging applications especially in some of the development areas where we are seeing the first real projects. We don't want to be overly disruptive; we want to phase these things in responsibly.

A lot of projects in Rational are coming online using these kinds of techniques. And of course the Rational people have exposure to the Eclipse open source world. We are learning a lot from that experience. So it's not as systematic; it's the first area to really go at it. The first area that the open source community went out and really attacked was the development phase, so in many ways I suppose it makes some sense for that to be the place where we actually start ourselves. But increasingly, just like the open source community has gone into other areas, that is also true of the community source efforts inside of IBM.

BN:You mentioned grassroots Doug. Is it conceivable that IBM developers could be inspired to contribute projects they are not assigned to in their own spare time?

Heintzman: We would be very happy for programmers to program in their spare time, assuming of course, they have an appropriate degree of life/work balance and all of that. You actually raise a very interesting question. One of the most important reasons we are doing this is because of transparency issues.

It's because the code, the design specs, the documentation are really out in the open that any laboratory working on any product properly registered with the proper authority to do so can go in and make comments. We may have interesting techniques that we have developed in one group that they recognize have not been implemented in the product that they are consuming.

We want them to go out and say, "You know what guys we figured out how to do this six months ago, try it this way." Not coaching them, but to help them along. At the end of the day we want the whole engine to be running as efficiently as possible, and if that means different people working on projects that may need help and need work then so be it.

BN: Moving down another path in this discussion - what is the backend to Community Source? Is it similar to the SourceForge community Web site?

Heintzman: It is similar; in fact we use a lot of the same tools that a lot of these projects use. We have tools that store the actual source logic using repositories very much like SourceForge, documentation and specs, news and bulletins, patches and fixes, and educational material – just the way you would see it in SourceForge.

We have a bunch of other technologies and community tools that we surround it with. In many ways, because our developers aren't just working on one particular project, we have recently implemented a developers' intranet that provides a centralized umbrella for best practices and new tools that are available.

There's a broader community set that in many ways is a superset of what you would see in something just like SourceForge. It's a more comprehensive approach, but we have the resources and the requirement to do that. We also want high degrees of mobility of our programming staff.

That's a degree of discipline that you really don't see in the open source world per se. It's not that we are just copying the open source world, we are borrowing its culture and we are applying our own twist on it to be sure that it runs the way that we need it to run.

BN: So IBM feels it is taking the best of the open source culture. How will IBM keep its source code secure and guarantee the code's safety and integrity inside of this system?

1 | 2 | Next Page →

Comments

View comments by with a score of at least

Typical IBM hyperbole. Is that Rational {Rose]? The same software that was a tremendous failure at Liberty Mutual years ago--generalized junk which could not be tailored to specific needs.

Score: 0

|

I'm surprised, and tentatively hopeful, to hear that Rational is taking a lead in using this model. We're a ClearCase shop and it's been very tough to adopt open source techniques with ClearCase. I'd be happy to discuss this with the right folks. -- Ken.MacLeod@RadiSys.com

Score: 0

|

My experience with generalized code development is that the first version of the code is not very generalized. Even with the best of intentions the initial developers will produce code that is overly specific to its first usage. Generally, the second time that the code is used it will be rewritten to be more truly general purpose code.

------------------
Steve Stites

Score: 0

|

A few points of clarification. I want to draw a distinction between open source code and open source development procedures. IBM is a very active participant and contributor to a great many open source communities. We believe that open source and the standards that it promotes and the collaborative innovation it represents is an important and significant phenomenon and we are executing a strategy to leverage open source code to deliver value to our customers. The point I was trying to make in this article is somewhat different. Many of the code lines that IBM and other commercial software companies have been working on have become very large and difficult to manage and represent significant engineering challenges. We made a strategic decision a number of years ago to move to a much more componentized/modularized group of code bases. It is our belief that this will allow us to deliver more flexible, consistent, and cost effective solutions to the market in a more timely manner. To accomplish this goal, and coordinate the many programming resources that we have around the globe we have been adopting many of the practices, procedures and tools from the open source community. In this case I am not referring to leveraging open source code but instead open source culture which we have adopted internally and refer to as community source.

Score: 0

|

Thanks for the clarification Doug. The approach IBM is taking is a very smart one (in my opinion), and perhaps Microsoft can learn a thing or two about learning from the open source approach - even if the code is only open internally.

Score: 0

|

"IBM, will liberate the creativity of programmers, drive efficiency, and bring products to the marketplace at a faster rate then was previously possible - avoiding a top down approach that IBM says could make Microsoft's Longhorn obsolete upon arrival."

IBM making another OS or something? Longhorn obsolete, very funny.

Score: 0

|

As if Appple was ever a a threat to IBM? PLease. They have goverment contracts, they are going to be here for a minute.

Score: 0

|

IBM is not dying. Apple may have been a blow to them, but they have several other deals for their proccessor (maily gaming consoles). IBM also has several other businesses such as consumer computers & servers, software and storage. They also have massive R&D which although not directly profitiable, it may lead to something good in the end.

just a note: Betanews is starting to have a lot of articles with misleading titles. The title makes it seems like IBM is using Open Source or going Open Source. They are just using techniques used in the Open Source arena.

Score: 0

|

I wouldn't say IBM was dying, but it certainly has started to deconstruct itself. A reliance on open source may be technically wise, but from a profitability standpoint it will probably be a hard sell to investors. Then again, I suspect we will find IBM's version of "open source" is somewhat different than the normal definition of same. Imposing layers of architecture to stifle creativity is a more likely outcome than actually leveraging the value of an open source community.

Score: 0

|

Read the interview all the way and you'll see the plan is to leverage open source internally - it doesn't necessarily mean IBM will start to rely on the masses to program what it sells, which is what you're thinking. IBM is taking the areas of open source that have worked well and applying them to its current methodologies. It's very possible many of these components only remain open source within IBM as a corporation.

Score: 0

|

Actually, Nate, my post was not as clear as I intended, but I was referring only to IBM's internal process there.

What I was getting at is that given IBM's bulky methodology (not always a bad thing), a lot of the open source qualities that are beneficial will probably be lost in translation. It is hard to be creative in an architectural framework that is by nature heavy, and within the corporation I am doubtful that they can both maintain their architectures effectively and at the same time benefit from open source to any real degree. One of the main reasons open source approaches work is that they tend to place creativity in high regard.

I'm doubtful that IBM can make this transition without deconstructing its business from the point of view of savvy shareholders.

Score: 0

|

In response to nate: cause school1012 is an idiot who likes making dumb comments that he thinks will make him look smart.

Score: 0

|

IBM is a company that is dieing. Just let them die, open source is the best way to do so. Open Source has not helped IBM nor Novel.

Score: 0

|

IBM has a market cap of $121 billion, just signed deals to get its chips into both of the major next generation gaming consoles, and recently purchased a number of leading enterprise software vendors.

Can you please explain why you think IBM is dying?

Score: 0

|

Because he knows everything.

My guess, he's somewhere between 11 and 16.

Score: 0

|

He's actually 13 going on 30 !!! GO BACK... NOW !!!

Score: 0

|

ahhhhhhhh.... "dieing". One of the few words that can prove illiteracy. school1012, you are an illiterate.

Score: 0

|

I got into linux at the age of 11 and I am currently 15. I compile my own kernel and can expertly modify any configuration. I understand the opensource model perfectly. Age doesn't matter in stupidity. Please do not tarnish the future. 11-16 year olds are linux's future. Some of us "kids" will be the next Alan Cox or Linus Torvolds. Some will help take KDE, X11, and Gnome to a level hopefully beyond Microsft. Some linux kids will take the kernel farther than many could ever dream of. Some us will grow up and be the next Novell and IBM. Some will have businesses and run computers at schools. These areas need linux badly and these kids will take it there. Yes, some are kids who hack all the time and damage other teens' reputations.

( I am not trying to start a war, just inform the general public)

The more documentation and How-Tos out there will help me and other teens of "the next generation" surpass others before us. We need you as linux users and coders to help pass on your knowledge. Please use screen shots and other visual aids to help make your howtos user friendly.

Score: 0

|

mmcm4,

I have met many young people like yourself. You (and others like you) are one of the reasons that I spend so much time and energy supporting the Free and Open Source Community.

Thanks for speaking up.

maddog

Score: 0

|

PDC 2009: What have we learned this week?

There was the freebie that no one will forget, the heebie-jeebies courtesy of Scott Guthrie, and a teensy bit clearer picture of how this cloud thingie should work.

Live report: Will Google Chrome OS change Linux?

The mysteries of just what Chrome OS is, and how much of an operating system it truly is, may be resolved today.

PDC 2009: Microsoft cares about Web browser performance

The effort to give users of the world's dominant Web browser the impression of quality, is a personal one for the man who leads that battle.

Nokia re-affirms its commitment to Symbian, sort of

Maemo won't necessarily be replacing Symbian in the Nokia N-Series, but that's definitely a place where it will be found.

E-book readers will be in short supply this holiday season

E-readers are hot this year, and a lot of compelling new products have been released, but are there enough electrophoretic displays to go around?

Sony looks to finally open a single storefront for downloads

Sony has had many different download portals for movies, music, e-books, and games, and now it's looking to make a single shop for all of it.

Tuning out the tablet: Time to give the endless speculation a rest

Wide Angle Zoom: Wishing and hoping and thinking and praying....won't put an iTablet on the market.

Five improvements for IT managers in 2010

If businesses are to improve their efficiency for next year, they need to stop and reassess the basic tenets of their job.

AOL's spinoff from Time Warner to shed 2,500 jobs

As AOL moves toward become an independent company again, it will cut nearly a third of its workforce.

Gartner: SMS-based money transfer will be bigger than mobile browsing, search

Gartner issues its predictions for the 10 things our phones will be doing in 2012.

Don't forget to upgrade to Firefox 3.6 beta 3 today

Mozilla has released the latest beta its Firefox 3.6 browser software, just over one week after beta 2.