Skip to main content

What is Eclipse, and how do I use it?

What IBM's latest contribution to the open source community does for you

Marc Erickson (mre@us.ibm.com), Eclipse.org Communications/IBM Liaison, IBM
Marc Erickson serves on the ANSI committee studying standards for the software development process, and represents IBM on the Java Community Process Executive Committee for J2ME. Marc is now serving on the IBM team providing liaison and support to Eclipse.org. Now in his 28th year at IBM, Marc was recently the senior technical lead for IBM's North American Workflow Competency Center in Raleigh, North Carolina. A graduate of Southern Illinois University holding degrees in Data Systems Management and Data Processing, he joined IBM's subsidiary, Object Technology International, as Project Manager in 1999 to focus on the embedded computing marketplace. You can contact Marc at mre@us.ibm.com.
Angus McIntyre (mcintyre@ca.ibm.com), Eclipse project member, IBM
You can reach Eclipse project member Angus McIntyre at mcintyre@ca.ibm.com.

Summary:  The Eclipse Platform is designed for building integrated development environments (IDEs). It can be used to create diverse end-to-end computing solutions for multiple execution environments. This article discusses the platform, and includes a list of questions and answers.

Date:  01 Nov 2001
Level:  Introductory
Activity:  8887 views

Introduction

When selecting an architecture, tool builders need three assurances:

  • A level playing field and full disclosure with no hidden APIs and no hidden tool-to-tool interfaces — Eclipse delivers by shipping open platform source. Published APIs are tested by the cross-industry consortium to ensure code quality portability and performance.
  • The freedom to enhance the platform to address new opportunities — Eclipse delivers the ability to create derivative works, including redistribution of the platform. The Eclipse Platform allows tools developers to focus on core competencies and new models for development technology.
  • Timely response to their requests for changes and enhancements in a controlled and organized way — Through www.eclipse.org, you can make a difference by collaborating and contributing to the platform.

Questions

What is the Eclipse.org?

Eclipse.org is an open consortium of software development tool vendors that has formed a community interested in collaborating to create better development environments and product integration. The community shares an interest in creating products that are interoperable in an easy-to-use way based upon plug-in technology. By collaborating and sharing core integration technology, Eclipse Platform-compatible tool vendors can concentrate on their areas of expertise and the creation of new development technologies.

What is the Eclipse Platform?

The idea of its Eclipse Project is to create an "Apache for developer tools" — an open source framework that provides many of the underlying services software developers need. This would be a "toolkit for designing toolkits." Not just a set of APIs, the framework will consist of real code designed to do real work.

The Eclipse Platform is the foundation for constructing and running integrated end-to-end software development tools. The platform consists of open source software components that tool vendors use to construct solutions that plug in to integrated software workbenches. The Eclipse Platform incorporates technology expressed through a well-defined design and implementation framework.

Why did IBM open source Eclipse?

Open source is the only way to deliver an open platform for tool integration. But open source also has several other advantages, including:

  1. Reuse — Reuse is the highest form of compliment. Why rebuild something when it exists in a working format already? By using the open Eclipse Platform, tool builders can focus on domain specific expertise and functions (thus focusing on what makes them successful), while providing the tooling infrastructure for building IDEs. But reusing someone else's code takes trust.
  2. Trust — Trust for any new architecture or platform is slowly earned. For instance, it is hard to earn the trust of developers for tooling that contains proprietary interfaces that limit the application to a single (for example, Windows®) operating system. It is also hard to earn the trust of tool builders when different levels of APIs are shipped with different levels of tool offerings (for example, Community APIs differ from Enterprise APIs).
  3. Confidence — The Eclipse Platform builds confidence and trust by providing the source code for the platform. Open source provides all of the APIs, without internal, proprietary or hidden interfaces. Developers, whose trust is earned slowly, can look at the source and learn. Trust the source, then launch innovation.
  4. Quality — Open source consortiums also can produce a higher quality of code. When code review is collaborative, people put extra effort into it. The source that they contribute becomes a reflection of the work that they do, establishing both individual and corporate reputation. Trust the source, then launch market position.
  5. Clarity — Open source based upon clear specifications can deliver code that is easier to understand. An Interface describes (in black-box terms) the promise of component behavior. By directly inspecting the source, you can examine, line by line, how the code works. It is hard to trust someone else's interface. Trust the source, then inspect technology.
  6. Simplicity — Open source can be easier to debug. Late at night, when encountering a bug, source code can speed identification of the root cause. It could be your fault, or the fault of the platform and environment. With access to the source, guesswork is eliminated. With access to a collaborative discussion forum, it's even possible to compare notes with someone else familiar with the environment or problem. If the problem appears to be in shared open source, it's easy to patch it and attempt a workaround. Trust the source, then verify the base. It's difficult to work alone on complex technology. Few tool builders want to take on the risk of pioneering new tooling technology. Trust the source, then share the risk.
  7. Longevity — Tool vendors come, and tool vendors go. Corporate developers want to know that a platform can provide long-term support. With the source code, corporations can start quickly in the short term and sustain business for the long term. Trust the source, then build a business.
  8. Flexibility — Flexibility is a fundamental value of Eclipse. With the open Eclipse Platform, an unsatisfactory component can be modified to suit your needs. For example, if the editor is inadequate, create your own, or plug in a popular one created in the open component market established by the Eclipse Platform. Want to tie a new deployment platform (for example, a set-top box) into existing end-to-end support? Trust the source, then create a plug-in.

Bottom line: Open source — an open community and an open platform — establishes the level playing field that tool builders large and small need to support end-to-end development projects and explore new frontiers.

Still skeptical? See Frank Hecker's paper on setting up shop for open source (see Resources).

What workstation platforms is the Eclipse Platform available on?

The Eclipse Platform has been released for and tested on Windows NT, Windows XP, Windows 2000, Windows 98, Windows ME, and Red Hat Linux® V7.1. Eclipse technology is written in the Java™ programming language, making it easier to use on a wide variety of workstation platforms.

Will Eclipse be taken to other platforms?

This has yet to be determined, but that's the beauty of the Eclipse Platform. Tool builders can take Eclipse technology and explore new frontiers, getting there faster by relying on an industry-tested open tools platform.

What is the cost of the Eclipse Platform?

The Eclipse Platform is made available under a Common Public License (CPL). See Eclipse.org for details.

But tool developers don't really want to have source code and can't take advantage of it anyway.

Having access to the source often leads to faster problem determination and eliminates duplication of work, speeding the completion of new compatible technology.

Wouldn't this lead to fragmentation of the product into incompatible versions?

The community has the right to designate and endorse "official" versions of the Eclipse Platform. Community members also have the right to make modifications and extensions to suit their purposes. However, as code bases diverge, creating a private version outside of the Eclipse Project, the cost to port improvements made in the official version to the modified private version become increasingly difficult. It will be in the interest of all members of the Eclipse community to collaborate on common and core Eclipse technology and infrastructure.

Will steps be taken to ensure that the official version is recognized within products that ship it (for example, an ingredient brand like "Eclipse Inside")?

The answer to that question is up to the Eclipse board or directors.

What about the risk to customer from private versions?

Typically, the official version of the Eclipse Platform, which undergoes testing and review, is placed on Eclipse.org. It is this version that is supported through the Eclipse.org. Private versions must be entirely supported by the vendor and won't benefit from the collaboration of other members.

Won't tool builders be concerned with Eclipse technology open source code "tainting" theirs if they use it within their own projects?

Eclipse ships under a CPL that does not taint other code that calls Eclipse code using an openly defined API.

What about embarrassing things that people might discover in Eclipse source code, like bugs?

Open source development increases the chances that major and minor bugs will be found and fixed. They surface and are fixed either by the original developer or members the community.

Wouldn't releasing your source code expose confidential plans and strategies to competitors?

Yes. In essence, we are sharing strategies with our competitors. Clearly, there is a more important consideration. Developers are tired of integrating tools onto their desktops. They are tired of wasting time figuring out how to make tools work together in an end-to-end computing environment. With the Eclipse Platform, everyone — tool developers and users alike — benefits from full disclosure on how to integrate an IDE at an industry level. It is ultimately to benefit the end-user developer that we are doing this.

Wouldn't people just use Eclipse source code and member expertise without the Eclipse Platform getting anything in return?

Potentially, but sooner or later, interoperability will deliver more end-user benefit than any stand-alone tool could deliver. In isolation, noncollaborative developers will be left in the dust.

What about competitors who might try to "hijack"' an open source product for their own purposes?

This could be attempted, but the CPL will protect the community. The official version of the Eclipse Platform will continue. The license has been defined in such a way that no one vendor could exercise undue advantage. In contributing to the Eclipse Project, we want to help establish a true level playing field for tool developers.

Where do I find information on how to integrate tooling with Eclipse technology?

There are several white papers on Eclipse.org.

How does Eclipse work, and what functions are offered within the Eclipse Platform?

The design principles that eclipse was written to are as follows:

  • To facilitate seamless integration of tools within and across different content types and tool providers.
  • To support the construction of a variety of tools.
  • To support an unrestricted set of tool providers, including independent software vendors (ISVs).
  • To support tools to manipulate arbitrary content types (including HTML, Java, C, JSP, EJB, XML, and GIF).
  • To support both GUI and non GUI-based application development environments.
  • To run on a wide range of operating systems, including Windows and Linux.
  • To capitalize on the popularity of the Java language to write tools.

Will IBM turn the Eclipse Platform source over to a open community? When will it do so?

Yes, the source is available today, under the CPL. IBM will turn Eclipse over to an interim board of directors, who will manage the Eclipse Platform very shortly.

Who is on the interim board?

The interim board will be announced at a later date.

How do I join?

Visit Eclipse.org.

How do I become a board member?

Contribute, contribute, contribute (code, ideas, projects, fixes, knowledge and skilled participation).

How is the Eclipse Platform supported?

Through a forum and e-mail, on a voluntary basis using resources established by the community. Visit Eclipse.org for details.

Is 24x7 support offered?

No.

How will the interim board members be selected?

With limited staffing, the Eclipse team could only interact with a selected few companies who were dedicated to creating an open tools platform. Interim board members were selected from the companies that have contributed to the platform, whilst in prototype form. Three criteria were also used: Board members' companies must use the Eclipse Platform internally. They must also use the Eclipse Platform to create commercial offerings. Finally, they must support the Eclipse.org publicly.

Why did you wait so long before making Eclipse open source available?

When a company plans to ship source code that will be scrutinized worldwide, the development team wants to be sure the first platform is as thoroughly developed and tested as possible. Several alternate design concepts were tried in products, some of which have already appeared on the market. Those ideas were then shared with other tool vendors and improved upon. The Eclipse Platform is now ready for its debut.

If IBM places technology into open source distribution, does that mean IBM is no longer committed to it?

IBM is committed to taking the Eclipse Platform and using it as a basis for an entire family of end-to-end IBM application development tools: the WebSphere® Studio family of products. These products benefit from integrated QA testing, IBM’s legendary product support, and our commitment to stand behind our IBM brand. They use the same interfaces and build upon the technology shared with the Eclipse Platform.

Where do I get whitepapers and more information about Eclipse?

Visit Eclipse.org.

How does this differ from Microsoft® .NET?

.NET is designed only for use with Microsoft platforms, through a proprietary interface that is dictated by Microsoft. As .NET changes, developers must react. In a world characterized by so much more than "wintel" technology, .NET is at a considerable disadvantage. End-to-end computing projects that need to integrate servers, workstations, embedded devices, and handheld PDAs run on many other mature and cutting-edge execution environments. This involves many powerful CPU architectures and operating platforms like OS/390®, Linux®, and QNX.

Since Eclipse is available through the open source CPL, with all APIs and extension points clearly documented, it allows tool developers to support any number of runtime environments, including those from Microsoft.

How does Eclipse compare with the open source initiative from Sun Microsystems?

The idea of its Eclipse Project is to create an "Apache for developer tools" — an open source framework that provides many of the underlying services software developers need. This would be a "toolkit for designing toolkits." Not just a set of APIs, the framework will consist of real code designed to do real work.

"In Eclipse, everything is a plug-in. The Java IDE doesn't have a special status and is just another set of plug-ins demonstrating the seamless extensibility of the platform. Turning the Eclipse Platform over to an open source initiative enables tools builders to do the same and to not only contribute new plug-ins but to also help improving the existing platform plug-ins," said Erich Gamma. "As a result, large enterprises and enterprising individuals have a level playing field for tool integration."

What is the difference between WebSphere Studio Workbench and the Eclipse Platform?

WebSphere Studio Workbench uses Eclipse as the foundation for providing tool-to-tool integration for products that support the WebSphere software platform. WebSphere Studio Workbench is an instance of the use of Eclipse technology from the Eclipse Platform. Eclipse is an open source tool integration platform, available for tool builders to use to target any runtime environment.

They differ on four major points:

  1. Support — Eclipse is supported through the Eclipse.org consortium, whereas WebSphere is supported through standard IBM support structure (PartnerWorld).
  2. Licensing — The Eclipse Platform is available through the CPL, whereas WebSphere Studio Workbench is available through a license from IBM PartnerWorld
  3. Derivative works/Source code modifications — The Eclipse Platform allows tools developers to explore new frontiers, target new platforms and operating systems by extending and changing the code received from the Eclipse Project. The WebSphere Studio Workbench must be integrated and distributed as supplied by IBM.
  4. Branding — Eclipse technology is not centrally branded. As an ingredient brand, it can be adopted by members of the community as they release compatible products. WebSphere Studio Workbench includes its own brand identity, partnership programs, and support offerings.

When would I choose Eclipse, and when would I choose WebSphere Studio Workbench?

To assist tool builders in which technology to use when constructing products, determine the runtime tool environment to be supported:

  • WebSphere only? Choose WebSphere Studio Workbench.
  • Others, or new technology extensions? Choose the Eclipse Platform.
  • Both? Choose after you assess the amount of synergy with IBM and the IBM partnership programs.

Are you willing to support the entire offering, both the Eclipse code and my own?

  • Yes? Choose the Eclipse Platform.
  • No? Choose WebSphere Studio Workbench.

Are you delivering tools for platforms that are not supported by IBM?

  • Yes? Choose Eclipse.
  • No? A selection based on the above two criteria is needed.

And if you want the formal support and participation available from IBM’s partnership programs:

  • Yes? Choose WebSphere Studio Workbench.
  • No? Choose Eclipse.

Resources

Learn

Get products and technologies

Discuss

  • The Eclipse Platform newsgroups should be your first stop to discuss questions regarding Eclipse. (Selecting this will launch your default Usenet news reader application and open eclipse.platform.)

  • The Eclipse newsgroups has many resources for people interested in using and extending Eclipse.

  • Participate in developerWorks blogs and get involved in the developerWorks community.

About the authors

Marc Erickson serves on the ANSI committee studying standards for the software development process, and represents IBM on the Java Community Process Executive Committee for J2ME. Marc is now serving on the IBM team providing liaison and support to Eclipse.org. Now in his 28th year at IBM, Marc was recently the senior technical lead for IBM's North American Workflow Competency Center in Raleigh, North Carolina. A graduate of Southern Illinois University holding degrees in Data Systems Management and Data Processing, he joined IBM's subsidiary, Object Technology International, as Project Manager in 1999 to focus on the embedded computing marketplace. You can contact Marc at mre@us.ibm.com.

You can reach Eclipse project member Angus McIntyre at mcintyre@ca.ibm.com.

Comments (Undergoing maintenance)



Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Open source
ArticleID=10779
ArticleTitle=What is Eclipse, and how do I use it?
publish-date=11012001
author1-email=mre@us.ibm.com
author1-email-cc=
author2-email=mcintyre@ca.ibm.com
author2-email-cc=

My developerWorks community

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Rate a product. Write a review.

Special offers