Eclipse was originally started by IBM in the late 1990s in response to the need for a common development platform for all IBM products. IBM realized the value of having a complete set of tools in one environment or” workbench” that would work seamlessly together. This integrated development environment (IDE) allowed customers to work in, and build custom development and application environments, respectively.
In 2001, to facilitate developer adoption of the IDE, IBM decided to provide Eclipse with an open-source, royalty-free license. This allowed companies to use and include Eclipse in their own commercial products. The Eclipse Foundation was formed with the support of industry leaders like Borland, IBM, MERANT, QNX Software Systems, Rational Software, Red Hat, SuSE, TogetherSoft, and Webgain. This led to more commitments to support and use Eclipse to develop commercial products. The founding Strategic Developers and Strategic Consumers were Ericsson, HP, IBM, Intel, MontaVista Software, QNX, SAP, and Serena Software.
The foundation eventually established itself as a not-for-profit organization with its main goals to guide, implement, and share the development of open source Eclipse projects in a vendor-neutral environment. Skip McGaughey, spokesperson for Eclipse, said that this move would “create long-term opportunities for reuse, interoperation and innovation that enable both providers and consumers to take development tool technology to the next level in functionality, integration and usability.”
Eclipse has proven to be a stable and mature development platform. It is widely used among commercial companies to create powerful applications — not only for software development, but for diverse industries such as banking, automotive, medical and space exploration.
Eclipse maximizes developer productivity because it provides the framework applications need for development, debugging, and deployment.
The full Eclipse Software Development Kit (SDK) includes Eclipse projects (specifically the Platform), the Java Development Tools (JDT), and the Plug-in Development Environment (PDE).
Because it is written in Java, Eclipse supports most platforms and operating systems. However, Eclipse is not limited to Java; it supports several languages by adding those specific plug-in components.
Eclipse itself was designed as a collection of components for extensibility. Besides the platform runtime kernel, nothing else is hard coded and all of the functionality is provided by plug-ins. All plug-ins are required to be developed under the OSGi framework implementation called Equinox, which provides a standardized environment for integrating existing code.
Although a lot of generic functionality is built into Eclipse, there is also an extensive list of plug-ins a customer can leverage, such as the Team Support features and Source Code Control options, which allow the developer to customize their environment and facilitate the development of new tools. For example, for an organization developing a new application, the Eclipse platform provides a central integration point for the application and can be split up into several development components within the organization that make the development of large-scale applications much easier.