Bringing Eclipse into the Open
Bringing Eclipse into the Open
Dave Bernstein is a former senior vice president of product development at Rational Software Corp., who was tasked with leading the effort to transition the consortium of vendors working on the Eclipse open-source development platform from an IBM-dominated group into an independent organization. Bernstein decided to go his own way rather than to join IBM following its acquisition of Rational early last year, but he stayed on in a "consulting" role to facilitate the transition. These days, the Wayland, Mass.-based Bernstein is "developing ideas around which I might build a new company," he said. Bernstein spoke exclusively to eWEEK Senior Editor Darryl K. Taft for a cover story on Eclipse.
With Mike Milinkovich now ensconced as the director of the Eclipse Foundation, whats next for the foundation?
Well, the foundation has a huge opportunity in front of it in terms of the impact it can have. Its one of those rare conjunctions where its a win for the large suppliers, its a win for the small suppliers, and its a win for the end users. And to take advantage of that opportunity the foundation has to drive collaborative development among the contributorsthe tier one companies. And has to organize the rest of the foundation members, the membership at large, to grow the infrastructure. And has to build the Eclipse management organization to facilitate that and make it all work.
So what were you looking for in terms of an executive director? What kind of qualities?
Well, first and foremost would be leadershipsomeone who can lead the organization and lead its members. Eclipse doesnt have any power. Eclipse doesnt control what individual members do. It operates by inspiration and by leadership.
So first and foremost we needed an executive director who could inspire and attract the members of the consortium who were going to collaboratively develop the parts of Eclipse. These are companies who were natural competitors. Collaborative development is fundamentally hard inside a single, monolithic company. To accomplish it among multiple competitive companies at multiple sites will be extraordinarily challenging. And the fundamental skill you need there is leadership. Thats followed closely by management ability, the ability to orchestrate projects and execute and deliver, and by a set of technical skills that would enable the person to effectively interact with a broad range of participantssome of whom are operating at the appliance level and some who will be fundamental technical contributors.
So those were the top three qualities, I think.
Next Page: Getting started.
The obvious question is why did you not pursue it?
Well, I am fundamentally a person who loves building teams that build products. And thats not what the Eclipse role is about. The Eclipse role is about orchestrating and leading collaborative development among multiple companies. And thats a great thing to do; its not what I personally enjoy doing. I like creating teams and building products directly.
How did you originally get the role of facilitator in this whole process?
Let me give you a little bit of background. I was at Rational for 22 years or so. The company was formed in 1981. I joined in 1982 and I was the 10th employee. I was the original VP of development. And over the years, in the year 2000 I was the senior vice president of what we called the product group at Rational, which was responsible for all product development and all marketing. We had made the decision that the Rational suite would ultimately need to be available in two environments. One inside Visual Studio .Net, the Microsoft environment. And we were seeking a second environment that would be platform independent. One that would run on Unix, Linux, Windows and have a consistent look and feel. And ideally be an open industry platform. So we spent some time looking around to see what was available. And we considered the usual suspects, which would be the Borland stuff, Sun NetBeans and a couple of other things. At that time IBM had not gone public with any of its technology in this area, but I had developed with IBM a strategic relationship where IBM was "OEMing" ClearCase, our configuration management tool.
So I had met Lee Nackman and Danny Sabbah[ IBM development software managers], and had a pretty good relationship with them and mentioned that we were seeking this platform neutral development shell, within which all the Rational suites could run, that would complement .Net. They mentioned that they had developed a technology inside IBM, which they had called Eclipse. And that they were doing this because they were tired of having all of their development tools: A, be incompatible; and B, require complete reinvention of the same wheel. And they described for me the basics of what Eclipse was. And so they released enough information so that we could take a hard look at it. And when we compared it to everything else that was around it was by far superior. And IBM allowed Rational access to Eclipse. They also mentioned that at some point they might decide to put the technology into open source. That really wasnt a driver for us. It was a nice to have. We were just happy we could use this IBM shell as a standard shell for Rational that would run on all platforms.
At some point in 2001 I got a call from either Lee or Danny and they said were going to go ahead and make Eclipse open source, wed like to create a consortium around it and wed like Rational to participate in this. And I immediately agreed and I became Rationals steward or representative to the consortium. So basically Ive been involved personally in Eclipse since before it was Eclipse. Certainly not as early as IBM was, but we were the first non-IBM user of the technology as far as I know and had been involved with it from the beginning.
You know that Rational was acquired by IBM. I made it very clear that I would not stay with IBM after the acquisition. I spent 22 years building Rational. IBMs a great company and has great people, but its just too big for me. They asked me to stay on for a year to help with the transition. So within a month I was asked by Lee Nackman and the board of stewards to take a serious look at how to grow Eclipse.
So right around that time IBM acquires Rational [February 2003], I make it clear that I am not going to stay, and Eclipse clearly has a scalability problem. And I dont know how they came up with this idea, but I was approached by Lee Nackman at IBM and other members of the board of stewards and the request was for me to build and lead a team that would propose an independent Eclipse consortium whose technical, financial and legal structure would be attractive to the Eclipse member companies. So clearly one of the things that had happened was that IBM had made the fundamental decision to release Eclipse from what had been an IBM-dominated consortium to a vendor-independent consortium. And they and the Eclipse stewards were asking me to lead the effort to figure out how to do that. And they gave me a very specific set of objectives. The objectives they gave me were to evolve Eclipse.
What they wanted in this evolution was an independent entity that would continue to support the open source development effort, would encourage the development of an Eclipse ecosystem in the industry, and would provide the mechanisms needed to fund this organization and spreading its cost across the member companiessomething that would have legal entity status so it could engage in contracts and accept donations and collect dues and disburse funds and provide formal trademark protection and have an independent counsel that could advise the community on IP and licensing issues and limit the liabilities of the members.
So it was basically to support the open source effort, encourage the development of an ecosystem, and provide a management infrastructure. And the way to do that was to create a team within Eclipse that came to be known as the Eclipse Independence Subcommittee that would drive this. And I was to lead that subcommittee. And this became my primary responsibility during my final year with Rational/IBM. And I was able to devote a significant portion of my time to doing that.
How did you approach the process of rallying the troops for the transition to an independent entity?
The first thing I did was to try and understand and prioritize the issues. And I did that by talking with every member of the consortium and by seeking out users of Eclipse and talking to them and listening. I engaged with several industry analysts to understand their perspectives on Eclipse. And for somebody whod been involved with Eclipse from very early on I was somewhat surprised with what I came up with. Because there were a lot more issues and challenges in Eclipse than I was aware of.
And Im going be very direct and tell you what those issues were. The issues as we saw them were that Eclipse had a relatively poor image with commercial end user organizations, in the sense that it wasnt really understood what Eclipse was. It was often mispositioned as a standards organization as opposed to a creator of a platform that many different companies could use. It was well understood by developers, but as one went up the management chain in larger companies the understanding of what Eclipse was would decrease. So it wasnt well understood. There was no articulated vision for Eclipse and there was no credible roadmap for it. That was the second issue. The third issue was Eclipse was widely perceived as divisive.
So we had a set of issues: Poor image with end users, no vision or roadmap, Eclipse is perceived as fragmenting Java, there was the friction between the consortium and the open source project that came down to insufficient resources and the fact that all the development was being done by IBM (90 plus percent), organizational scalability.
Theres a key characteristic and that was that Eclipse was an ingredient brand. We were not aiming to make Eclipse a product, but rather an ingredient upon which products would be created by multiple companies. And what we wanted was for end users to preferentially seek development tools that were based on Eclipse or that complemented Eclipse.
Next Page: Eclipse unfolds.
You seemed to have made a lot of progress in a short time. How did things unfold?
So there was a board of stewards meeting on May 28th . And I proposed a set of next steps. And the first of those next steps was to prepare a business plan which would refine the organizational structure and include a high level architecture for Eclipse that was suitable for collaborative development. The second next step would be to recruit five tier one companies. At that time what we meant by tier one companies were companies that sat on the board of directors and contributed the majority of the financial resources for the organization. The third next step was to recruit three high-quality executive director candidates. There was a step having to do with converting the IBM Common Public License, which Eclipse was using, to a formal Eclipse Public License, which would be needed by the independent activity to engage with the independent legal counsel. And there there were three specific things we needed to do: Create the independent entity, prepare its bylaws and prepare its membership agreement. So there were formal documents we needed to create. And that set of next steps was unanimously approved on May 28th. And we said wed have a series of monthly calls that were open to any stewards who wanted to attend.
And we basically said we had another six months to run until we finished the foundation.
And some of those calls were attended by prospective members, including Sun [Microsystems Inc.] So we were very open about this process. The information I just reviewed with you, Skip and I reviewed with Sun very early on. We were very candid with them with respect to our assessment of the issues, the concerns and what it was we were trying to accomplish. They influenced what we did with their experience with JCP [the Java Community Process] and the sorts of things they thought we would need to do to enable them to join the organization. So the whole time we were doing this we were working with Sun and other companies. And that was fundamental to the resolution or eliminating the perception that Eclipse fragmented Java.
Was it Rich Green [former Sun software vice president, now at Cassatt Corp.] who was involved?
I worked with Rich Green. And they understood from the very beginning that in forming the Eclipse foundation, the most effective means we could think of to eliminating the perception that Eclipse was fragmenting Java was by having Sun join Eclipse and in effect by having Eclipse become a part of JCP. Now in the end I failed at that and its a disappointment. I think it was our best opportunity to get Sun involved. We made it very clear that if Sun were to join Eclipse we would change the name. And that was approved by the stewards unanimously.
So was Eclipse named as an attack against Sun?
Well, I think the original naming inside IBM that was a factor. How could it not be? I think that in agreeing that if Sun were to join the Eclipse foundation at its forming, that we would change the name. It would be an enormously expensive thing to do, but we felt that that was the one time, at its launch, where Suns joining would offset the costsboth the financial costs and the momentum costs of a name change. And we held out that option until the bitter enduntil the day we incorporated the thing.
So did you have a possible alternative name?
Actually, we didnt. I mean I dont think it would have been difficult to come up with one, but to be honest, until there was more of a sign from Sun that they were likely to join; no one was going to go spend time down that particular avenue. But I dont think it would have been problematic.
There were a lot of products that came out of Rational that had the word "unified" in them, which was sort of a penchant of mine. You know, the Unified Modeling Language, the Rational Unified Process. And I might have suggested something like that in this area, but we never had any serious discussions like that.
What do you think of the Microsoft Visual Studio Team System announcement?
Well, it certainly looks a lot like the stuff we did at Rational. And considering the number of ex-Rational people involved in it I guess Im not surprised.
Well, what impact do you think itll have? Does it change the complexion of the tools market?
I think that fundamentally its a good thing. The better tools there are out there that support the best practices of modern software engineering, iterative development, component-based development, and an organized approach to requirements management and an organized approach to change management, those kinds of things. Those are good. Having better tools is a good thing.
Now, that said, it would be better if the competition in tools was within a common infrastructure such as the one Eclipse provides. Because it avoids having incompatible tools, it makes things integrate; customers dont have these huge learning curves because tool A has a different user interface than tool B, which has a different user interface than tool C.
But realistically, Microsoft is always going to have their own development environment. So I think Eclipse represents the great platform independent alternative to Visual Studio .Net. Id love to see Microsoft join Eclipse. Maybe they will someday, maybe they never will. But theyre never going to back off from Visual Studio .Net.
Next Page: Effects on the competition.
Effects on the Competition
With this Team System Microsoft is saying theyre creating this big ecosystem around it, which provides both opportunities and competition for other vendors. How can people like Borland compete?
Well, Eclipse has some of the same impact on Borland that Visual Studio .Net does. I made the comment earlier on that Eclipse was one of the few win-win-wins for the industry. Its great for the larger companies, the IDE suppliers. Its great for the smaller companies because they get a big market in which to build add-ins and its great for the end users. But its not so great for the Borlands and the Compuwares of the world who are trying to build independent toolsets.
And so Ive had candid conversations with Borland about how they might exploit Eclipse. Because what you have to do when somebody commoditizes your core infrastructure is you have to go up a level or two of abstraction and contribute there. So I would love to see Borland take a more aggressive role in contributing to the Java technology in Eclipse using their own technology. I think there are ways for Borland instead of seeing Eclipse or even Visual Studio .Net as commoditizing competitors, to see them as an opportunity on which to focus their resources on what they do best and better than anyone else. But thats a tough transition for companies to make.
So getting back to your core point, Visual Studio .Net is a reality in our industry. Eclipse is gaining share very rapidly, particularly if you think of Eclipse, not as how many customers use Eclipse off the shelf, but rather whats the percentage of users who are working on Eclipse-based platformswhere youre considering Eclipse itself, SAPs NetWeaver, HPs OpenView, IBMs WebSphere, the thing has more than a 50 percent market share in Java. And thats the important metric. Its not how many people use Eclipse out of the box, its how many people use Eclipse-based development environments. Whats the market share there?
Whats next for the Eclipse platform?
The technical direction was absent from what we were doing. Its growing broadly because of the foundations independence from IBM. A lot of companies who were nervous about IBMs role when it was an IBM-dominated organization are a lot more comfortable now, both formally and informally. I think if anything the boogeyman is going to be growth.
Do you think well see an open source Java?
I certainly hope so. Its a perfect technology to open it that way. And it would dramatically accelerate innovation and adoption. And I think it would create more opportunities for all parties. I think, like Eclipse, it would be a win for all of the major players and the users.
Check out eWEEK.coms for the latest news, reviews and analysis in programming environments and developer tools.