eclipse software this article is about the eclipse ide for other software called eclipse see eclipse disambiguation computing eclipse is an integrated development environment ide used in computer programming and is the most widely used java ide lasso lua natural perl php prolog python r ruby including ruby on rails framework rust scala and scheme it can also be used to develop documents with latex via a texlipse plugin and packages for the software mathematica development environments include the eclipse java development tools jdt for java and scala eclipse cdt for cc and eclipse pdt for php among others the initial codebase originated from ibm visualage eclipse software development kit sdk is free and opensource software released under the terms of the eclipse public license although it is incompatible with the gnu general public license it was one of the first ides to run under gnu classpath and it runs without problems under icedtea history eclipse was inspired by the smalltalkbased visualage family of integrated development environment ide products in november 2001 a consortium was formed with a board of stewards to further the development of eclipse as opensource software it is estimated that ibm had already invested nearly 40 million by that time eclipse 30 released on 21 june 2004 selected the osgi service platform specifications as the runtime architecture the association for computing machinery recognized eclipse with the 2011 acm software systems award on 26 april 2012 licensing the eclipse public license epl is the fundamental license under which eclipse projects are released some projects require dual licensing for which the eclipse distribution license edl is available although use of this license must be applied for and is considered on a casebycase basis eclipse was originally released under the common public license but was later relicensed under the eclipse public license the free software foundation has said that both licenses are free software licenses but are incompatible with the gnu general public license gpl name according to lee nackman chief technology officer of ibms rational division originating in 2003 at that time the name eclipse dating from at least 2001 was not a wordplay on sun microsystems as the products primary competition at the time of naming was microsoft visual studio which eclipse was to eclipse different versions of eclipse have been given different sciencerelated names the versions named after callisto europa and ganymede which are moons of jupiter were followed by a version named after galileo the discoverer of those moons these were followed by two sunthemed names helios of greek mythology and indigo one of the seven colors of a rainbow which is produced by the sun the version after that juno has a triple meaning a roman mythological figure an asteroid and a spacecraft to jupiter kepler luna and mars continued the astronomy theme and then neon and oxygen constitutes a theme of chemical elements photon represents a return to sunthemed names releases since 2006 the foundation has coordinated an annual simultaneous release each release includes the eclipse platform and several other eclipse projects as of 2008 each simultaneous release has occurred on the 4th wednesday of june version name date platform version projects main changes na 21 june 2004 old version no longer supported 30 na 28 june 2005 old version no longer supported 31 added java 5 support generics annotations boxingunboxing enums enhanced for loop varargs static imports callisto 30 june 2006 old version no longer supported 32 callisto projects europa 29 june 2007 old version no longer supported 33 europa projects ganymede 25 june 2008 old version no longer supported 34 ganymede projects galileo 24 june 2009 old version no longer supported 35 galileo projects helios 23 june 2010 old version no longer supported 36 helios projects indigo 22 june 2011 old version no longer supported 37 indigo projects added java 7 support 371 sr1 improved type inference for generic instance creation diamond multicatch trywithresources statement simplified varargs method invocation strings in switch binary literals and underscores in numeric literals polymorphic methods juno 27 june 2012 old version no longer supported 38 and 42 juno projects kepler 26 june 2013 old version no longer supported 43 kepler projects luna 25 june 2014 old version no longer supported 44 luna projects integrated java 8 support in the prior version this was possible via a java 8 patch plugin mars 24 june 2015 old version no longer supported 45 mars projects neon 22 june 2016 old version no longer supported 46 neon projects oxygen 28 june 2017 old version no longer supported 47 oxygen projects oxygen1a introduced java 9 and junit 5 support and oxygen3a introduced java 10 support photon 27 june 2018 old version no longer supported 48 photon projects 201809 19 september 2018 current stable version 49 201809 projects legendold versionolder version still supportedlatest versionlatest preview versionfuture release architecture eclipse uses plugins to provide all the functionality within and on top of the runtime system its runtime system is based on equinox an implementation of the osgi core framework specification in addition to allowing the eclipse platform to be extended using other programming languages such as c and python the plugin framework allows the eclipse platform to work with typesetting languages like latex and networking applications such as telnet and database management systems the plugin architecture supports writing any desired extension to the environment such as for configuration management java and cvs support is provided in the eclipse sdk with support for other version control systems provided by thirdparty plugins with the exception of a small runtime kernel everything in eclipse is a plugin thus every plugin developed integrates with eclipse in the same way as other plugins in this respect all features are created equal eclipse provides plugins for a wide variety of features some of which are from third parties using both free and commercial models examples of plugins include for unified modeling language uml for sequence and other uml diagrams a plugin for db explorer and many more the eclipse sdk includes the eclipse java development tools jdt offering an ide with a builtin java incremental compiler and a full model of the java source files this allows for advanced refactoring techniques and code analysis the ide also makes use of a workspace in this case a set of metadata over a flat filespace allowing external file modifications as long as the corresponding workspace resource is refreshed afterward eclipse implements the graphical control elements of the java toolkit called standard widget toolkit swt whereas most java applications use the java standard abstract window toolkit awt or swing eclipses user interface also uses an intermediate graphical user interface layer called jface which simplifies the construction of applications based on swt eclipse was made to run on wayland during a google summer of code gsoc project in 2014 as of 2017 rich client platform eclipse provides the rich client platform rcp for developing general purpose applications the following components constitute the rich client platform equinox osgi a standard bundling framework core platform boot eclipse run plugins standard widget toolkit swt a portable widget toolkit jface viewer classes to bring model view controller programming to swt file buffers text handling text editors eclipse workbench views editors perspectives wizards examples of rich client applications based on eclipse are ibm notes 8 and 9 attachmatenovell netiq designer for identity manager apache directory studio remote component environment dbeaver server platform eclipse supports development for tomcat glassfish and many other servers and is often capable of installing the required server for development directly from the ide it supports remote debugging allowing a user to watch variables and step through the code of an application that is running on the attached server web tools platform the eclipse web tools platform wtp project is an extension of the eclipse platform with tools for developing web and java ee applications it includes source and graphical editors for a variety of languages wizards and builtin applications to simplify development and tools and apis to support deploying running and testing apps modeling platform the modeling project contains all the official projects of the eclipse foundation focusing on modelbased development technologies all are compatible with the eclipse modeling framework created by ibm those projects are separated in several categories model transformation model development tools concrete syntax development abstract syntax development technology and research and amalgam model transformation projects uses eclipse modeling framework emf based models as an input and produce either a model or text as an output model to model transformation projects includes atlas transformation language atl an open source transformation language and toolkit used to transform a given model or to generate a new model from a given emf model model to text transformation projects contains acceleo an implementation of mofm2t a standard model to text language from the object management group omg the acceleo code generator can generate any textual language java php python etc from emf based models defined with any metamodel unified modeling language uml systems modeling language sysml etc it is opensource model development tools projects are implementations of various modeling standards used in the industry and their toolkits among those projects can be found implementations of several standards unified modeling language uml systems modeling language sysml object constraint language ocl business process model and notation bpmn interactive media manager imm semantics of business vocabulary and business rules sbvr xml schema xsd national electronic distributors association neda the concrete syntax development project contains the graphical modeling framework an eclipsebased framework dedicated to the graphical representation of emf based models the abstract syntax development project hosts the eclipse modeling framework core of most of the modeling project of the eclipse foundation and the framework available for emf like connected data objects cdo emf query or emf validation technology and research projects are prototypes of modeling project this project is used to host all the modeling projects of the eclipse foundation during their incubation phase amalgam provides the packaging and integration between all the available modeling tools for the eclipse package dedicated to modeling tools extensions eclipse supports a rich selection of extensions adding support for python via pydev android development via googles adt javafx via efxclipse javascript jquery and many others at the eclipse marketplace valable is a vala plugin for eclipse alternative distributions several alternative distributions exist in the eclipse project php development tools further information php development tools the php hypertext preprocessor php development tools project provides a framework for the eclipse platform the project encompasses all development components including codecompletion develop php and facilitate extensibility it leverages the existing eclipse web tools platform wtp and dynamic languages toolkit dltk android development tools android development tools adt is a discontinued googleprovided plugin for the eclipse ide that is designed to provide an integrated environment in which to build android applications adt extends the abilities of eclipse to let developers set up new android projects create an application ui add packages based on the android framework api debug their applications using the android sdk tools and export signed or unsigned apk files in order to distribute their applications it is freely available to download it was the official ide for android but was replaced by android studio based on intellij idea community edition the android device monitor that shipped with adt was built on the eclipse platform this tool still ships with android studio computer programming portal free and opensource software portal java programming language portal comparison of integrated development environments comparison of integrated development environments for java list of eclipsebased software list of eclipse projects wikibooks has a book on the topic of eclipse silva vladimir 11 march 2009 practical eclipse rich client platform projects 1st ed apress p352 isbn1430218274 burnette ed 12 august 2005 eclipse ide pocket guide 1st ed oreilly media p128 isbn9780596100650 holzner steve 1 may 2004 eclipse 1st ed oreilly media p317 isbn0596006411 mcaffer jeff lemieux jeanmichel aniszczyk chris 22 may 2010 eclipse rich client platform 2nd ed addisonwesley professional p552 isbn0321603788 vogel lars 2013 eclipse ide java programming debugging unit testing task management and git version control with eclipse 3rd ed leipzig vogella isbn9783943747041 wikimedia commons has media related to eclipse ide official website vteeclipse foundation acceleo aspectj birt che buckminster eclipse equinox eclipselink golo jetty jface mylyn remote application platform sirius standard widget toolkit vertx virgo xtext license eclipse public license website wwweclipseorg vteeclipse plugins adobe flex adobe livecycle android development tools adt aptana avaya dialog designer bioclipse borland together carbidec collaber easyeclipse findbugs geclipse granite data services ibm rational software ibm websphere studio application developer jboss tools jbuilder jfire jtest lomboz myeclipse nodeclipse objecteering optimalj oxygen photran pydev radrails visual paradigm for uml zend studio vtefree and opensource softwaregeneral alternative terms for free software comparison of opensource and closedsource software comparison of source code hosting facilities free software free software project directories gratis versus libre longterm support opensource software opensource software development outline softwarepackages audio bioinformatics codecs collaboration configuration management device drivers graphics wireless geophysics health mathematics operating systems programming languages routing statistics television video games web applications content management systems ecommerce word processors android apps ios apps commercial trademarked formerly proprietary community free software movement history opensource software movement organizations events licenses afl apache apsl artistic beerware boost bsd cc0 cddl epl free software foundation gnu gpl gnu lgpl isc mit mpl msplrl python python software foundation license sleepycat unlicense wtfpl zlib types and standards comparison of free and opensource software licenses contributor license agreement copyleft debian free software guidelines definition of free cultural works free license the free software definition the open source definition opensource license permissive software licence public domain viral license challenges binary blob digital rights management hardware restrictions license proliferation mozilla software rebranding proprietary software scolinux controversies secure boot software patents software security trusted computing related topics forking gnu manifesto microsoft open specification promise opencore model opensource hardware shared source initiative sourceavailable software the cathedral and the bazaar revolution os book category commons portal vteintegrated development environmentsc and copen source android studio anjuta codeblocks codelite devc eclipse geany gnat programming studio gnome builder kdevelop monodevelop netbeans qdevelop qt creator sharpdevelop ultimate openwatcom freeware oracle developer studio visual studio community xcode retail cbuilder eclipsebased codewarrior myeclipse visual studio by jetbrains intellij idea appcode clion labwindowscvi lccwin32 ibm rational software architect understand discontinued ibm visualage visual c express javaopen source bluej drjava eclipse geany greenfoot intellij idea community edition android studio netbeans servoy community edition freeware jgrasp jdeveloper xcode retail jbuilder jcreator myeclipse ibm rational application developer websphere integration developer jetbrains intellij idea servoy business application platform edition understand discontinued metrowerks codewarrior pro for java sun java studio creator superseded by netbeans visual age superseded by eclipse visual caf aka espresso superseded by jbuilder visual j xelfi became netbeans cliopen source monodevelop sharpdevelop visual studio code pascalabcnet freeware visual studio community retail visual studio rider understand discontinued xamarin studio visual basic express visual web developer express visual j express visual studio express for windows phone visual c express visual c express express for desktop express for web express for windows flash adobe flash builder flashdevelop powerflasher fdt php aptana netbeans phpstorm kdevelop python eric intellij idea light table ninjaide pycharm pydev spyder wing ide kdevelop pascal and object pascalopen source free pascal ide lazarus devpascal freeware delphi community retail delphi discontinued turbo pascal for windows virtual pascal r rstudio r tools for visual studio category comparison authority control gnd 47680659 