Skip to main content
Jump to: navigation, search

Google Summer of Code 2011 Ideas

Revision as of 04:29, 29 March 2011 by (Talk | contribs) (Amalgamation - Modeling Example)


  • Be creative
  • Be specific: what do you want to be implemented
  • If you are willing to mentor those ideas, add your name and email to the idea.
  • GSoC project ideas should align with an existing Eclipse project
  • If you're an interested student, add your name and email next to the idea. It is ok to have several students interested in one idea.
  • Aspiring students and mentors need to register and submit their proposals on the SoC app

Mentors info

If you were a mentor last year then you are automatically in the list this year (the GSoC site may require that you re-register, but we think of you as "in").

Note that we only accept as mentors people who are known to us. This includes Eclipse committers. If you would like to be a mentor, please either introduce yourself to the group using the soc-dev mailing list, or send a note to EMO.

Ideas submission

Idea proposal should contain the following information:

  • project title, like "WTP - Improve auto-complete in xml editor"
  • description with links to bug reports, project wiki pages, etc
  • Reporter: who submitted idea (optional e-mail)
  • Possible Mentors: who would like to mentor the students
  • More info: other links or e-mail
  • Eclipse Project: link to main eclipse project that improvement is targeting
  • Potential students: who is interested (with optional e-mail). This one completely informal, to actually be interested you need to submit the proposal. Contact the idea owner or possible mentor to get some details before submitting it.


These are some ideas. Students feel free to base your GSoC proposals on these ideas (note that you are more likely to find a mentor for an idea that has been proposed by a mentor). Some of these ideas can be factored into multiple projects; a GSoC project proposal can work on parts of these ideas (i.e. you don't necessarily have to do it all).

There are other sources of ideas. There are numerous bugs in the Eclipse Bugzilla issue tracking system marked as "helpwanted" that may give you ideas.

EGit / JGit - git-blame support

It's about adding support for "git blame" in JGit (git library in Java) and EGit (Eclipse integration and UI). There is an early proposed draft for the jgit part by Benjamin Muskalla which is based on prior work from Manuel Woelker but there wasn't much progress on that in the last months.

If you are interested to have a closer look refer to the EGit Contributor Guide to find out how to setup your environment for contributing and maybe try to fix some low hanging fruit from our bug list to get a feeling what these projects are all about.

  • Reporter: Chris Aniszczyk
  • Possible Mentors: Chris Aniszczyk, Matthias Sohn
  • More info: EGit mailing list
  • Eclipse Project: EGit
  • Potential students: Alex Korotkikh [1], Stefanos Antaris [2]

Acceleo - Export profiling data to gprof

Acceleo has a nice profiling model, so it could be nice to be able to export this data to gprof files so that the user can leverage other more sophisticated tools to analyse the trace. See bug 293304. If you want to know more about the profiling in Acceleo see the user guide.

If you are interested to have a closer look refer to our Contributor Guide to find out how to setup your environment for contributing.

EEF - Enhance the end user experience

EEF provides a three steps process to generate eye-candy user interface for your models. This process could be simplified by doing automatically several steps instead of asking the user to do it. See bug 338939 and bug 338942 for instance.

A second part of the work is to create a EEF models designer. This designer would help EEF users to defines easily their UI models (with enhanced model presentation, drag'n'drop, ...) and to iterate in case of ecore model changes.

Finally the last part consists of link EEF and Eclipse WindowBuilder in order to allow EEF user to define their views with the WYSIWYG editor of WindowBuilder.

If you are interested to have a closer look refer to our Developer Guide to find out how to setup your environment for contributing.

CDT - Build UI Improvements

Currently the CDT build UI is hidden away in Project Properties. We'd like to add nodes in the Project Explorer under each project to list the build configurations. Actions would be added to open up a build configuration editor to change the settings. Actions would be added for invoking build and clean, and for setting the default build and indexer configuration.

CDT - CMake and/or Qt qmake Builder Integration

CDT has it's own managed build system, but we are seeing more and more use of external managed builders such as CMake and Qt's qmake. We need to make sure the infrastructure is in place to allow for integration of these builders into the CDT builds. Then we need to implement them. CMake is a priority because there already exists a qmake builder. But then the qmake builder isn't very standard and could be redone.


Mylyn maintains a list of ideas on this the Contribution Ideas wiki page. If you have your own idea or if you interested in one of the suggested ideas please feel free to contact or join one of the weekly meetings.

  • Reporter: Steffen Pingel
  • Possible Mentors: Benjamin Muskalla, Steffen Pingel
  • Eclipse Project: Mylyn
  • Potential students: Muslim Chochlov

TPTP tools - Agent Controller on MAC OS

TPTP tools aleady run on a wide range of Linux and Unix flavors, but it doesn't work well on Mac OS. Deadly is that Mac OS is used widely in programmers. This problem first been proposed in 2004, nearly 6 years ago, more than 100 persons vote for this tool, See bug 68111 to learn more. But to now, we have only finished partially ported for org.eclipse.tptp.platform.agentcontroller , i want to continue and speed up the development process about this topic, improve org.eclipse.tptp.platform.agentcontroller, finish org.eclipse.hyades.probekit,org.eclipse.tptp.platform.jvmti.runtime and org.apache.harmony_vmcore_verifier support on Mac OS.

Sequoyah - Add multi-language support to Eclipse plugin projects using the Sequoyah Localization Editor

The Sequoyah project is focused on Mobile application development tools. One of the components of Sequoyah is the Localization Files Editor (LFE), which is a visual editor for handling parallel resources for multi-language projects. The LFE has a reference implementation for Android, although it was written in a way so that the model is abstracted from the underlying implementation.

We are proposing a feature for the Sequoyah Localization Framework, which will extend support to Eclipse plugin projects. In order to do that, the framework must be changed to handle PDE projects, which contain strings files in the Java .properties format. The result will be a new set of editors that will allow Eclipse projects to localize themselves more easily.

The Eclipse Babel project has expressed interest in participating in this work.

Eclipse Communication Framework

ECF is a framework for building distributed servers, applications, and tools. It provides a modular implementation of the OSGi 4.2 Remote Services standard, along with support for REST-based and SOAP-based remote services, and asynchronous messaging for remote services.

Eclipse IDE for Education

The Eclipse IDE for Education is a version of Eclipse streamlined specifically for use by university and college students. The environment provides support for programming languages that are commonly used in university courses, including Java, Scheme, and Prolog (though only Java is supported for the time being).

Eclipse OCL - Add an extensible Java Code Generation Framework

The OMG's OCL specification provides a core expression language for an increasing range of modeling languages. The Eclipse MDT/OCL project provides an implementation for which evaluation occurs through interpreted evaluation of the OCL Abstract Syntax Tree. With the advent of Validation, Setting and Invocation delegates in Ecore, it is very desirable to support direct synthesis of Java code avoiding the need or incentive for manual recoding. More generally direct synthesis of C and VHDL implementations will expand the project utility.

ECF: Salvo, the Eclipse NNTP/Newsreader Project

A subproject of ECF aims to provide a communications layer to NNTP servers (network news or forums) as well as a slick newsreader that is operated from within the Eclipse IDE.

Downloads and more Information Google on Salvo

The newsreader and the underlying protocol implementation is currently release 0.7.0 with 0.8.0 pending. The project has all the basic stuff: A local storage, subscribe to server, subscribe to newsgroups, read and post of articles.

There are several fields where students can work on on this project, see this entry for more details.

  • Reporter: Wim Jongman
  • Possible mentors: Wim Jongman
  • Eclipse Project: ECF
  • Potential students: Isuru Udana (University of Moratuwa)

EMF - ProtocolBuffer EMF Serialization

ProtocolBuffer is binary serialization API which is smaller and faster than XML. It would be interesting to be able to serialize EMF models with it.See

Amalgamation - Modeling Example

This idea is about providing an example of application of the modeling project tooling through a whole chain, from Ecore domain model, to code generator and going through model to model transformations and textual DSL. Basically taking the "Modeling Project as a DSL Toolkit" book examples, updating those and integrating them in the Modeling discovery UI available in the package.

Orion - Git client

The first release of Orion is going to provide a simple but fully functional support for git. The idea behind this proposal is to identify missing bits and address them. The work will need to be done on the server by providing required services and in the UI (browser client). Required skills: Java, JavaScript, git, RESTful services.

PDT - Orion Web IDE PHP Editor

Orion is going to dominate the way the web developers work with their code, grow their websites and build next Facebooks, Googles and Twitters. Unfortunately they won't make it without PHP editor. The task is to research existing Orion code base, determine killer feature set and drive the implementation of an example PHP editor, by working closely with Orion developers and PHP community. Required skills: Java, JavaScript, RESTful services.

EMF - Provider for OData

Open Data Protocol (OData) is a Web protocol for querying and updating structured data. It uses technologies such as HTTP, AtomPub, JSON etc. OData can be used to expose and access information from a variety of sources. There are many existing OData-capable producers and consumers.

Exposing EMF models via OData would make them accessible from any OData-capable client, but also from any browser / HTTP-capable client. This can be done in a generic way for any EMF model, including store-backed (e.g. CDO-backed) models. Anything convertible to Ecore (POJO/UML/XSD/...) could be OData-enabled as a result. The implementation could use odata4j project as a generic framework for Java-based OData providers.

EMF - EMF Databinding for Apache CXF

Implement EMF Databinding for Apache CXF. Note that this was one of the goals of the Servus Project (which is no longer active).

EGit - EGit Synchronize View support part 2

There are some things that can be implemented or improved in EGit Synchronization eg. synchronizing on folder level, synchronize wizard, show conflicts, include non-workspace resources in 'Workspace model', remove IO operations from UI thread, improve context menu action and so on...

  • Reporter: Dariusz Luksza
  • Possible Mentors: Matthias Sohn
  • More info: EGit mailing list
  • Eclipse Project: EGit
  • Potential students: Dariusz Luksza

Back to the top