Most Read Latest News Blog Resources

Guest View: Eclipse as a Test of Darwin's Theory




April 15, 2008 — 
What is the major factor in software evolution: short-term survival of the fittest or long-term strategic cooperation? For a hint, look at Eclipse, an open, extensible development platform built on a mechanism for creating, integrating, and running modules called plug-ins. Put another way, Eclipse provides a common infrastructure for tool providers to plug in their tools.

The Eclipse project is run by the Eclipse Foundation, and most of the people behind Eclipse’s plumbing are on the payroll of companies that have a vested interest in Eclipse. Eclipse, and the Eclipse Foundation, is an example of a software cooperative. Its business purpose lies more in cost reduction than in revenue generation.

At the root of software co-ops, such as Eclipse, is the idea of pooling R&D resources to work on and share a common technology base, which is then tailored and adapted by each member of the co-op to its needs and those of its customers.

And where does Darwin fit in all this? In 1902, Peter Kropotkin wrote a book, “Mutual Aid: A Factor of Evolution,” in which he described how in animals in Siberia must work together to stay alive, as opposed to competing for resources. Throughout his book, Kropotkin stresses that cooperation is the main factor in evolution, rather than the competing forces as described by Darwin and his supporters.

It is precisely this drive for cooperation to solve a mutual problem, too hard or too costly to solve alone, that is the business case for the Eclipse co-op.

You have heard of ecology and economics. Have you ever wondered about the meaning of “eco”? In ancient Greek, “oikos” means house. In Latin, oikos evolved into “oeco,” which means household. Thus, at the root of an ecosystem, such as the one for Eclipse, you find a household with its internal exchanges, connections and inter-plays. This household is the co-op.

The notion of industrial cooperation is not new. The creation of the Airbus consortium in the 1960s exemplified a cooperative effort across aerospace companies and nations. What is interesting, and what the Free Software and Open Source movements have shown in the last decade, is that the idea of cooperation can be applied to the development and evolution of software.

So, should we cooperate or extinguish? As we peer down the software evolution chain, let’s remain focused on Eclipse. Its obvious evolution is to become Web-based. By that, I mean that Eclipse itself should be a Web application, much like Google Apps.

Why do you want to keep a rich (read heavy) client on your machine while most of the time you read or write text—something a Web browser is perfectly capable of doing efficiently without bogging down your machine? And this is without even mentioning collaboration or sysadmin-ing bundles of workstations to keep them up-to-date.

Yes, I hear you. At the graphical level, Web-based applications, even with lots of AJAX, are not quite where Eclipse is today. But who cares? Do you really need all those whiz-bang widgets, and are you sure Web technology won’t be able to go beyond that in a few years?

We’re seeing evolution at work. As the surrounding IT environment changes, the software creatures that populate that environment need to evolve or gradually disappear. Making Eclipse Web-based is the way to go. Think about it. The Internet promises a universal lightweight client that can display rich content with which you can interact pleasingly, as well as a common platform for developing user interfaces. Today’s fiction, tomorrow’s reality.

What is the difference between a Web browser and Eclipse? The browser is for everyone, Eclipse is for software developers. The browser is a developer’s nightmare—have you ever tried to mix some HTML, CSS and JavaScript and get the same results on different browsers? Meanwhile, Eclipse gives you a consistent, high-level user interface paradigm. The browser is lean and fast. IT applications that use browsers for their UI are easy to admin, deploy and update. I can’t say the same for Eclipse-based technology.

Think about a platform offering the advantages of both Eclipse and a browser without their disadvantages. Pretty cool, isn’t it?

Making Eclipse Web-based is a major software evolution. But can the Eclipse co-op make the turn? Can its present and future members make it happen? And who could these members be? The answer is: those who have something big to lose if they don’t and those who have something big to gain if they do. In a nutshell, it is those people who have a vested interest in making the Internet promise a reality, badly.

Let’s start with Eclipse’s strategic members. The first obvious candidate is IBM’s Object Technology International (OTI) labs, the folks who made Eclipse possible. On its third attempt, OTI labs did what nobody else had managed to do: a graphical toolkit with an API common to all platforms where the visual look-and-feel is that of your host machine.

Who else? Let’s review the roster of Eclipse add-in providers members. In this long US$5,000-a-logo list, you find at least two interesting candidates: Google and Adobe.

Google, with its apps technology, is the obvious candidate for working with IBM’s OTI labs. Google has everything to gain. Advertising is its money maker. To turn ads into dollars and cents, Google must attract clicks and, hence, eyeballs. Search is good for that, but real apps are even better.

What about Adobe? Look in the direction of flash. The technology that was going to take over the Web but never quite did and at this point never will unless it becomes part of a bigger whole.

Now, let’s look outside of the Eclipse co-op, to companies that compete today but might not tomorrow. Sun and Microsoft come to mind. With its clear Open Source strategy, Sun is regaining momentum. Its Open Office division would be an ideal candidate to work with IBM, Google and Adobe.

Microsoft’s latest attempt to buy Yahoo indicates a clear bid to position itself as a major Internet player. And Microsoft has many interesting apps to Web-ify.

One more. Blink, an obvious one. The Mozilla Foundation, which is where Firefox and Thunderbird come from.

IBM, Google, Adobe, Sun, Microsoft, Mozilla. Yes, there are some fierce competitors in there. As I said, the business purpose of the Eclipse ecosystem lies in cost reduction. The idea is to pool R&D resources to work on and share a common technology base on top of which each member of the co-op constructs its apps to match its business strategy.

Can the co-op turn Eclipse into the universal Internet platform? That’s a big challenge. Whatever the future, I am certain of one thing: The rule is cooperate or extinguish. And that’s part of natural selection.

Franco Gasperoni is co-founder and managing editor of Adacore, which makes tools for Ada developers.


Related Search Term(s): AdobeBlinkEclipseGoogleIBM


Share this link: http://www.sdtimes.com/link/31917
 

Add comment


Name*
Email*  
Country     


  • Comment
  • Preview
Loading



 
 
 
 
News on Monday
more>>
SharePoint Tech Report
more>>


   

 
 
Download Current Issue
ISSUE 3/15/2010 PDF

Need Back Issues?
DOWNLOAD HERE

Receive the print Edition?


 
blogs tab
Google Code turns 5
Google Code Turns 5, and adds a Paxos Algorithm to make the system more stable and reliable.
03/17/2010 11:16 AM EST

Test your Visual Studio 2010 know-how
Microsoft is offering free beta certification exams for Visual Studio 2010.
03/17/2010 11:08 AM EST

Microsoft lifts the hood on IE9
Microsoft is previewing IE9.
03/16/2010 01:10 PM EST

 

Events calendar tab
3/22/2010 to 3/25/2010
Santa Clara, Calif.
The Eclipse Foundation

4/12/2010 to 4/14/2010
Las Vegas
Penton Media

4/12/2010 to 4/15/2010
Santa Clara, Calif.
O'Reilly Media

4/19/2010
New York City
Flagg Management

4/25/2010 to 4/28/2010
Overland Park, Kans.
IIUG