Skip to main content
This revision made August 21, 2013 22:17, by neomatrix369

This section covers the myriad ways in which you can contribute to the Adopt OpenJDK program. As always the latest coding projects are on our BitBucket and GitHub repos.

Starter Level

Build OpenJDK

Build Java itself!

Testing (Test Fests)

Improve the quality of Java!

  • Test Fests - Hackdays focusing on improving the quality and quantity of OpenJDK tests.
  • Testing Java 8 - Co-ordinating projects to use early builds of Java 8


Java 8 will include Lambdas (aka closures), bringing functional programming capabilities to Java


Betterrev - A new website and workflow to improve patch submission process for OpenJDK. Includes:

  1. Pull Request mechanism for patch submission
  2. Build Farm
  3. Continous Integration with JTreg regression tests
  4. Static code analysis
  5. Patch creation
  6. License checking
  7. Patch submission
  8. And more


Javacountdown - A JavaEE 6 and HTML 5 website to track global usage of Java in the Browser and encourage its demise.

Javadoc Updater Tool


Bug fixes and small enhancements

There are some General Instructions for Small Changes which apply to most of the sub projects below.

Intermediate Level

Your First Patch

In order to get a patch ready for committing, you need to have written the patch, but there are several other things you need to do.

First off, you should be comfortable with building OpenJDK & keeping up to date with the head of the relevant repo.

You should also know (from having watched the mailing lists, or by asking on the AdoptOpenJDK mailing list) which project you should be targeting for your patch. Note that this may not necessarily be the OpenJDK 8 mainline project.

You should also have installed jtreg as that will be needed for testing your patch.

Jigsaw and OSGi

There are two parts to this. Project Jigsaw itself and project Penrose, a splinter project investigating OSGi/Jigsaw interaction

  • Jigsaw - TBA
  • Project Penrose - Lead by Neil Bartlett

Nashorn (Javascript in Java 8+)

Other JDK Enhancement Proposals (JEPs)

Read Alex Blewitt's blog post for some background information on the JEP process. Some JEPs can be classed as intermediate level proposals:

  • TBA

Advanced Level

  • Finding and eliminating memory leaks. JDK provides good tools for that, 3rd-party profilers are also helpful
  • New platforms support. They can include operating systems, hardware, browsers, window managers - everything. Sometimes the fix is small, sometimes it makes sense to request a new OpenJDK project (e.g. BSD port, or PowerPC/AIX port)
  • Performance. It's a never-ending task.

Javadoc overhaul

See Javadoc for details - Lead by Ben Evans and Richard Warburton


  • Investigate the experimental patch by Lukas Stadler and get it up to date with OpenJDK 8 - Join co_jsrATsswDOTuni-linzDOTacDOTat for details
  • Start discussions within mlvm-dev about coroutines, their state and their suitability going forward for the JVM

Concurrency Testing

Java Microbenchmark Framework

Giving feedback, adding tutorials etc for the Java Microbenchmark framework

Other JDK Enhancement Proposals (JEPs)

Read Alex Blewitt's blog post for some background information on the JEP process. Some JEPs can be classed as advanced level proposals:

  • TBA

Misc Projects

Delayed Projects

  • Ux overhaul of the - This is delayed until an infrastructure move takes place.
  • Triage OpenJDK Bugs - This is delayed until the public JIRA instance is available

Back to AdoptOpenJDK

Difference compared to previous revision
<span> == Nashorn (Javascript in Java 8+) == * <span style="text-decoration:line-through;color:red">[</span><span style="text-decoration:underline;color:green">F</span>o<span style="text-decoration:line-through;color:red">ut-nasho</span>r<span style="text-decoration:line-through;color:red">n-in-eclipse_24.html</span> <span style="text-decoration:line-through;color:red">Getting started guide] * [http://</span>m<span style="text-decoration:line-through;color:red">arcel</span>or<span style="text-decoration:line-through;color:red">java.wordpr</span>e<span style="text-decoration:line-through;color:red"></span>or more<span style="text-decoration:underline;color:green"> </span>d<span style="text-decoration:line-through;color:red">-th</span>e<span style="text-decoration:line-through;color:red">-jvm-moni</span>t<span style="text-decoration:line-through;color:red">oring-ch</span>a<span style="text-decoration:line-through;color:red">llenge-part-1/ Mon</span>i<span style="text-decoration:line-through;color:red">toring JVM Part I] * [https://marce</span>l<span style="text-decoration:line-through;color:red">orjava.wordpre</span>details<span style="text-decoration:underline;color:green"> </span>ss<span style="text-decoration:line-through;color:red">.com/2013/08/17/nashorn-and-th</span>e<span style="text-decoration:line-through;color:red">-jvm-monitoring-chall</span><span style="text-decoration:line-through;color:red">nge-part-2/</span> <span style="text-decoration:line-through;color:red">Monitoring JVM Part II] * </span>[<span style="text-decoration:line-through;color:red"></span>see [<span style="text-decoration:underline;color:green">[</span>Nashorn<span style="text-decoration:line-through;color:red">HackDay/wiki/Morning-Demo-Examples Examples</span>]<span style="text-decoration:line-through;color:red"> * Implementing a REPL - Lead by Ben Evans</span>Nashorn]<span style="text-decoration:underline;color:green">]</span> == Other JDK Enhancement Proposals (JEPs) == <span>
Please Confirm