Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: for the plan.

Jump to: navigation, search

Google Summer of Code 2007 Ideas


  • Be creative
  • Be specific: what do you want to be implemented
  • If you are willing to mentors those ideas, add you name and email under the idea:

  • Framework to develop simple Eclipse plugin using PHP. Create a framework that could support developing simple Eclipse plugin using a PHP To Java bridge (Like Caucho's Quercus and other JSR 223 emgines). Develop and document a sample plugin in PHP, so that PHP developers could create simple plugins.

  • Add the ability to write plugins using jruby or groovy. First research and determine if this would make plugin writing noticeably easier. I think it would just because no compile is needed; you can change code on the fly Emacs Lisp style.

  • Java Executable Wrapper Plugin for Eclipse. Develop a plugin for Eclipse to wrap compiled Java applications and give out a excutable file for launching. It is supposed to support both Windows and Unix-like Systems.

  • Develop an eRCP based gadgets(as in google gadgets) or widgets (as in apple's dashboard widgets) infrastructure for mobile phones.

  • Write a EPL'd protocol implementation for ECF. For example, ECF currently has an EPL'd MSN implementation and needs others.

  • Develop GTK support for the eRCP project

  • Develop a newsreader similar to Pan,Thunderbird but based on Eclipse

  • Provide an Eclipse IDE generation environment derived from a language grammar (Eclipse IDE generator)

  • Full-blown WebDAV client + corresponding Eclipse File System implementation

  • Full-blown FTP client with sftp support + corresponding Eclipse File System implementation

  • Ability to open a file in eclipse from the command line (see #4922)

  • Add full refactoring support to CDT.

  • Add call graph navigation to CDT. When cursor is in a function, allow user to jump to any function that calls this function, or any function that it calls. (within reason) bug 152847

  • Consolidate all the color pickers into a single, well thought out color manager with the ability to save and share color themes. Think inheritance (the PHP editor inherits the HTML and Java editor colors by default, plus adds a few of its own). Extra points for adding custom backgrounds or transparency. Eclipse needs to be made a whole lot prettier.

  • Add online documentation to CDT. Make it so I never need to shell out to read a manpage. I just type the first few letters of the function and it autocompletes and allows me to hit F2 (or whatever) to view full documentation.

  • Add a focus-follows-mouse mode for those of us who don't like having to click all the time (a view is selected the moment the mouse enters it). Also maybe add a keypress to switch between editors when they are tiled.

  • Support seamless debugging between JDT and CDT (Java <> JNI <> C). details

  • Support for user-defined refactorings in JDT #144642

  • More work on mercurial support [1]

  • More work on git support [2]

  • Joomla support for Eclipse, as a set of specific extension to PHPEclipse that are aware of Joomla framework specifics, and libraries.

  • Drupal provider for ECF that implements the Bulletin Board API.

  • A standalone Bugzilla client (RCP app, perhaps) using Mylar

  • Fix the most popular bugs and feature requests: provide patches or fixes for any open bugzilla with at least 20 votes .

  • Eclipse IDE generator: building on some previous research work (Chris Laffra), provide an Eclipse IDE generation environment derived from a language grammar. This project would allow the creation of basic support of new or existing languages in Eclipse rapidly.

  • Eclipse Mono Development Environment: a feature rich .Net development platform for Eclipse. The Java development tool may provide a great starting point. As this may be a big project, providing a project that accomplishes some significant contributions towards that goal is fine.

  • New Eclipse update manager: Eclipse current update manager is four years old and ridden with significant problems. This project would provide with a modern and original design for an automated software update for plugins and natives, if possible generic for OSGi based runtimes and could provide original inputs for a revamp of update in 3.3 to the platform team.

  • NetBeans in Eclipse: netclipse: the plugins models for Eclipse and NetBeans are very similar yet different. This project would provide the ability to run and embed a minimal NetBeans environment within Eclipse -- as Eclipse plugins-- , and support running NetBeans plugins like Matisse (Swing UI painter) or Coyote (dynamic languages toolkit).

  • Eclipse search plugin: provide an enhanced Eclipse search: better, faster, more relevant. Think Lucene or opengrok inside Eclipse.

  • Eclipse RCP installer wizards: create Eclipse wizards to generate native graphical installers and packages for the major platforms: Windows , MacOSX, and Linux is, deb, emerge, rpms for an Eclipse Rich Client Platform application, extending the work started at last year SoC

  • Eclipse Open Office Integration: provide OpenOffice as a set of minimal Eclipse plugins for each platforms integrated in Eclipse and packaged for RCP deployment

  • Eclipse install based manager: provide application and support for managing a large deployment of Eclipse based RCP clients, including pushed updates and client configurations.

  • Mylar Wiki integration, enabling context and embedded authoring for Wiki pages and tasks.

  • Mylar and ECF integration, enabling task contexts to be shared synchronously between developers. Possibly using XMPP and Google Talk messaging service

  • Voice-over-IP client implemented as RCP app using ECF call API and Google Talk call setup protocol (Jingle)

  • RCP real-time collaboration based upon ECF and Google Talk XMPP-based messaging service

  • Implementation of System-Tray API for Mac, allowing to control the Dock (See Bug 56116)

  • An Eclipse plugin for discovering run-time components that other plugins may need. For instance on MacOS, all the installed Java runtimes are automatically added to the list of installed Java runtimes. Having a similar feature to flexibly discover Java runtimes on Windows and Linux would be very helpful, looking for well-known installations locations, marker files, registries, or using file system scans. It could be even more generic and provide extensions points to contribute discovered runtimes in other areas: a Ruby, PHP, Python, Perl or C++ language runtime for the available open source plugins, or the discovery of installed servers or database runtimes for MySQl, Apache, Tomcat and so on. Third party plugins could subscribe to those services and provide auto-configuration of their own preferences. An example implementation could be to provide embedded PHP runtimes for PHPEclipse and PHPDT or an embedded MinGW for CDT.

  • BIRT Report Google Palette Items: This would allow report users to very easily incorporate Google services into a BIRT report. For example, an BIRT Report Item for Google Maps that allows a report developer to drag a Google Map control from the report palette onto a report and set it's values (map coords, zoom, etc.) based on data values in the report. This would leverage the extension points in the BIRT Project and the services that Google provides. The BIRT Project Team are willing to provide mentors for this project. Contact the BIRT PMC - birt-pmc at

  • BIRT Chart Types: New chart types for visualizing data. This may leverage the Google AJAX libraries to create new types of rich user interactions with a report chart. The BIRT Project Team are willing to provide mentors for this project. Contact the BIRT PMC - birt-pmc at

  • BIRT Reports and Connectors for Ad Revenue: This one is very business focused -- provide connectors and reports that allow Google customers and users to build their own reports on their Google Ad Revenue etc. The BIRT Project Team are willing to provide mentors for this project. Contact the BIRT PMC - birt-pmc at

  • BIRT JPA Connector: A data connector for BIRT Reports that allows BIRT to easily access data via JPA. The BIRT Project Team are willing to provide mentors for this project. Contact the BIRT PMC - birt-pmc at

  • BIRT Google Widgets: Dashboard Widgets that allow users to incorporate BIRT reports in a Google Dashboard. The BIRT Project Team are willing to provide mentors for this project. Contact the BIRT PMC - birt-pmc at

  • Improved download stats: a database of committer-accessible grouped stats based on httpd traffic logs, in order to answer some basic usage questions. Willing to mentor: User:nickb. Some trafic questions:
  • how many downloads (by zip, by jar, by bandwidth consumed) per month does my project get?
  • what countries (top 20) are downloading my project? what companies/domains?
  • how does my project's traffic compare to others?
  • do people actually download Integration/Maintenance bits, or just Stables (Milestones) and Releases?
  • do people care about zips, or do they prefer Update Manager jars?

  • RSS build feed integration tools (eg., for web or as eclipse plugin); possibly to work with the above Mylar/ECF ideas in terms of alerting people when builds are done, etc. Willing to mentor: User:nickb.

  • Create new Phoenix skin using Ajax (GWT?) for richer web experience. Willing to mentor: User:nickb.


More ideas can be found here.

Interested Students

Back to the top