This page is currently under construction and will become the starting-point for everyone interested in the development of the Eclipse IDE, including an exhaustive guide for contributors and information to find the right repository to report an issue.
Eclipse is the leading open platform for professional developers.
Eclipse is famous for being an Integrated Development Environment (IDE) for the _Java_™ programming language but is also well capable of other languages like C/C++, JavaScript or TypeScript, to just name a few. At its core Eclipse is a highly extensible platform and a comprehensive set of frameworks and common services that collectively provide a powerful software development infrastructure used for numerous free and open as well as for commercial products and applications.
This page is intended as starting point for everyone interested in contributing to the Eclipse IDE.
Users of the Eclipse IDE should visit eclipseide.org
Thank you for your interest in contributing to Eclipse. Contributions are more than welcome!
The CONTRIBUTING section provides the information to guide you through the contribution process, after you have identified the project you want to contribute to.
This section is intended to make you familiar with the general structure of Eclipse to help identifying the projects where you wants to report issues or contribute to. To find the projects of your interested see the Project Discovery Guide.
First of all there is not one single Eclipse IDE or a single Eclipse IDE project.
In general the Eclipse IDE is organized into numerous independent Eclipse projects.
Each project can contribute multiple components to an IDE.
The components of Eclipse are called Plug-ins
and are grouped into Features
.
Most active projects release quarterly about the same time in a coordinated processes called the Simultaneous Release.
The Eclipse Download page provides various predefined Eclipse IDE Packages, each of them bundling a different set of Features and Plug-ins from the corresponding SimRel. Users can further customize their Eclipse IDE by installing more Features/Plug-ins from the Simultaneous Release Repository, the Eclipse Marketplace or just any p2-Repository available for them. Undesired Features can also be uninstalled.
🌐 Platform contains the core code that powers Eclipse as a Rich Client Platform (RCP), which is used to build powerful desktop applications, no matter the type of app.
💻 JDT is all about the tools for developing Java within the IDE, making Java development smooth and efficient.
🔄 EGit provides all the tools needed to work with Git version control, essential for collaboration in open source projects.
🔌 PDE focuses on developing plug-ins for Eclipse, allowing users to extend its functionality in new and exciting ways.
🔨 M2E integrates the Maven build tool into Eclipse, enabling seamless configuration and execution of Maven builds.
The Eclipse IDE is an Eclipse Community project and as such obeys the governance rules described in the Eclipse Development Process to guarantee meritocracy, diversity, vendor-neutrality and business-friendliness.
Please bear in mind that the Eclipse IDE as a whole and the contributing projects are often developed by volunteers and the Eclipse IDE is not a product you contracted for. As a result, the contributors may not be able to look into some support requests. As per Eclipse Development Process, the committers are committed to review incoming code contributions though. If you do not provide the fix/implementation yourself (or pay someone to do it for you), a bug you reported might never get fixed. If it is a serious bug, other people than you might care enough to provide a fix. As a consequence of all that, the only sure way to ensure some issue gets fixed or some feature gets implemented is that you contribute it yourself and convince some contributor that the change you submit is in the best interest of the project.
As you contribute more and more, you will eventually get nominated as a committer on the project.
Comprehensive technical documentation of the different components can be found at