It has commandeered more than half of its addressable market barely five years after its launch. It is one of the largest open source projects in existence, with the input of thousands of developers and a strategic supporters list that reads like a Who’s Who of software. Reputedly, it can slash application development times and costs. But even though it has become an in-house standard at many companies, few in senior IT management have heard of Eclipse, the integrated development environment.
A poll of US and European companies by analyst house Forrester Research found that more than 44% were using Eclipse in some capacity, with that figure rising to as much as 75% among those using the Java programming language.
Eclipse began life as an internal programme with IBM in the late 1990s. The aim: to build a Java workbench that could host tools from multiple vendors and go head-to-head with Microsoft’s Visual Studio platform. But with doubts over whether it could really develop a tools-agnostic environment, the IBM team took the radical step of turning the whole project over to the open source community in November 2001. In the years since, Eclipse has grown in momentum; the Eclipse Foundation recorded 30 million download requests in 2004 alone, and the tool is now promising to do for development what Linux did for operating systems and Apache did for web servers.
But, while today Eclipse is mainly used as a Java integrated development environment (IDE), the Eclipse Foundation – the independent organisation that administers the platform – is pushing beyond programming into areas such as business intelligence and reporting, web tools, data management and applications performance.
At least some of those ambitions are being fuelled by Eclipse’s backers. Eclipse already underpins the latest products from IBM Rational, Borland and Compuware, and every member of the Eclipse Foundation – including SAP, Oracle, BEA and HP – has commited to producing commercial products for the platform.
Most of the latter are ‘plug-ins’, individual functions that can be built and added into Eclipse easily thanks to its open, vendor-neutral architecture. With the number of plug-ins fast approaching the thousand mark, Eclipse’s appeal as an environment customisable to the needs of the developer is soaring.
That is in sharp contrast to many commercial toolsets which bundle together often-poorly integrated products and favour functionality that has universal rather than specialist appeal. Moreover, users typically only see these toolsets updated once every couple of years.
Dan North, a senior consultant at software development advisory company, ThoughtWorks, has been using Eclipse as his primary IDE for three years and, as well as praising its technical abilities, says it is easier to work with than commercial rivals. "It keeps out of my way – I can work at the speed I think at, rather than the speed of the tool," he says.
On a recent consulting assignment, North migrated a team of developers at a financial services company away from IBM’s Rational Application Developer platform onto Eclipse; the open source tool had a richer feature set for their purposes, as well as being lighter and so enabling faster work. He says only one Rational feature used by the team – automated build and deployment – was not part of the underlying Eclipse platform, but this was available as a plug-in.
The stealth adoption of Eclipse
As well as functionality, Eclipse is winning support simply because it is available as a free download. With no financial authorisation needed before adoption, Eclipse often enters an organisation through the backdoor, with developers rather than IT directors making the decision. Forrester says as much as 20% of usage is "unofficial".
That is the case at travel and entertainment bookings website Lastminute.com. It allows developers to use whichever tools they are most comfortable with (within certain cost constraints), and as a result it has come to rely on Eclipse for mission-critical application development.
Around two thirds of developers at Lastminute use Eclipse to develop its customer-facing website. "Here it is the developers’ tool of choice; it is open source and free so there is a relatively straightforward argument to adopt it," says Jonathan Howell, head of development at Lastminute.com. But areas other than cost appeal. "It is enterprise capable and it avoids us being tied to one vendor," says Howell.
Applications developed using the IDE at Lastminute include booking and inventory management systems for services such as flights, hotels and restaurants; checkout and payment processing systems; and real-time messaging to suppliers. But it is not used for back-office functions, such as fulfilment and financial systems that are written in Microsoft’s ASP.Net and the web programming language Perl – areas where Eclipse tools are considered less mature.
Howell says that while having IBM’s name behind it makes Eclipse easier to adopt in a corporate environment, for him the formation of the Eclipse Foundation in 2004 was "a crucial point in gaining credibility".
Establishing the Foundation – a not-for-profit corporation that not only managed the open source development but engaged with commercial developers and consumers, academic and research institutions and other interested parties – creating the momentum to push the community to "critical mass".
With open source widely used at Lastminute, developers tend to use Eclipse by itself rather than as a base for commercial package integration. They research and support plug-ins themselves, commonly using around four per developer for functions such as version control and formatting.
Howell is starting to investigate broader lifecycle tools for tasks like formal modelling, but while he would not run out other products, he believes Eclipse "does provide a platform for the enterprise tools of the future."
He suggests younger companies with a more relaxed approach to development tooling and open source software are more likely to adopt Eclipse than larger businesses. Eclipse’s lightweight, flexible architecture caters well to devotees of the ‘agile’ programming methodology, which is also more associated with start-up cultures.
Agile abandons traditional ‘waterfall’ development processes of careful planning, rigid stipulation of requirements and longer delivery cycles. Instead, it encourages programmers to get on with the business of coding, with regular testing, feedback and redesigns, and fast, iterative development.
As such, software testing plug-ins, such as JUnit, are popular but by definition, agile developers tend to eschew the sort of modelling and analysis tools that accompany today’s most advanced development environments. "There’s a large contingent here that thinks the best modelling tool is pen and paper," says Darren Hemphill, a Lastminute.com developer.
Heavyweight IDEs tend to dictate to developers how to write code – in apparent contrast to Eclipse’s more flexible, user-driven approach.
Is Eclipse unsuitable for traditional development techniques?
Does that mean that Eclipse is therefore unsuitable for traditional development techniques – the long-established processes that many larger organisations still follow?
"Essentially a programmer is a doer – he likes to get a hammer and chisel and carve stuff," says Jon Collins, an analyst at research group Quocirca. "The thinkers are the business and systems analysts who work out what the programmer must do to meet the business’s needs. To get things like Eclipse up the value chain is taking people who like doing stuff and forcing them to think about business more – and it’s an uphill struggle."
Eclipse’s programmer-driven community, therefore, could thwart its attempts to move up the application food chain – and so impede its access to more mainstream, risk-averse IT shops. Open source does not have the same technical or ideological appeal to the business community, adds Collins.
But recent research of UK financial services organisations’ open source usage by Survey.com suggests that it does appeal on the grounds of cost, vendor independence and flexibility. The research, sponsored by business intelligence software vendor, Actuate, which leads Eclipse’s reporting tools project, shows that nearly a quarter of those questioned (23%) were already using Eclipse or planning to in the near future, with around half (49%) saying that application development was an area of IT that could benefit from open source software – second only to server operating systems, the heartland of open source stalwart Linux.
But patterns of adoption vary. "The majority of smaller companies just use Eclipse as an IDE," says Jon Harrison, EMEA product line manager for Java products at Borland, whose Java products are now built on top of Eclipse. "But larger organisations see it as a framework to streamline how they do application development for internal applications. Some of the larger telcos might have 500 or more applications inside – having a common framework underneath makes their life easier," he says.
The open framework particularly helps the collaborative working and communication which Borland advocates as vital for successful developing.
Borland and the other technology vendors who make up the Eclipse Foundation board certainly do want to push it up the stack, in spite of the apparent risks to their business models. This stems in part from IBM’s founding intent to "eclipse" rival tools from Microsoft. "If they can do any damage to Microsoft even though a few years later they had a few problems [as a result of cannibalising their own products], I think [vendors like IBM and Borland] would be happy with that," says Collins.
The ploy has not been wholly successful. In the last few years, Microsoft’s proprietary .Net language has gained momentum over Java, making Visual Studio the dominant development platform. While Microsoft has a single set of tools led created by a single organisation, Eclipse’s greatest asset, its diversity, could muddle its outlook.
"In a way Eclipse is too flexible," says Colin Bird, CTO of IT consultancy Conchango, which uses both Java and .Net. "It is very healthy to have lots of ideas but it is hard to make them all move in the same direction." That is the challenge facing Mike Milinkovich, executive director of the Eclipse Foundation. He has already steered the project to support "almost every language you can imagine", including those which could be seen as rivals to Java like C/C++ and Perl.
"Eclipse has always been about more languages and platforms than Java but it’s hard to change people’s perception when we have no large marketing budget [$20,000 a year] and millions using it as a Java IDE," he says.
Along with the basic IDE, he says Eclipse’s most mature capabilities are focussed around testing and performance, post-deployment application monitoring, reporting, graphical editing and modelling tools. Among those under development are the application lifecycle framework, which will broaden tools’ ability to interoperate outside the workbench and tools for more data-centric applications.
He is adamant that this does not point to Eclipse’s predominant use to date in smaller, less demanding organisations. But getting corporate IT departments to commit to an open source platform right across the board is a very different proposition from garnering success as a Java IDE. Winning over IT management, while retaining its community of developers, will be the stiffest challenge Eclipse has yet faced.