7 Ways to Contribute to OpenJDKNovember 18, 2020
A great many developers today are employed working with OpenJDK. If OpenJDK is the background source for your livelihood, you might want to contribute to future development of the OpenJDK.
There are many ways you can do this. In this article I outline 7 possibilities, ranging from minimal work (because you're too busy to do much, but you'd like to do something) to intensive work (participating on OpenJDK development is everything you want to do, it's more than a hobby, you want to contribute to the maximum extent possible).
1. Join the OpenJDK Mailing List
The simplest way to contribute to OpenJDK development is to subscribe to one of the OpenJDK mailing lists, for example JDK-Dev. Here you can see what's being discussed and worked on for the upcoming version of the JDK.
A new version of the JDK is now released every 6 months, so by subcribing to this list, you'll be able to anticipate changes to the platform that might positively affect your company and its JVM-based products.
2. Suggest a New JEP
If your company is deeply integrated into Java but some new Java development would increase your ability to utilize Java to meet your objectives, it's always possible to suggest a new enhancement to Java, that is, a new Java Enhancement Proposal (JEP).
The system is open for new proposals and note that you have to clearly state what your proposal is and how it would benefit the entire JVM platform long-term.
3.Test and Find Bugs in the Latest Developmental OpenJDK
Source code for the latest developmental version of OpenJDK is available on Github. A problem with large open source projects is that the companies supporting the development of the next version have limited resources for doing effective quality assurance analysis.
Developers who depend on OpenJDK for their jobs can contribute by downloading the current developmental OpenJDK, and testing it on the Java/JVM projects they are currently working on. The OpenJDK project is very oriented toward not "breaking" software that worked with prior versions of Java/JDK, so this is an easy way for a talented developer to identify a problem that should be entered into the OpenJDK JIRA before the next formal version is released.
4. Contribute a Fix to a Bug Listed in the OpenJDK JIRA
You can go to the JDK Bug System and see which problems people are working on, which problems have been identified, and if you notice that a problem you discovered is not yet listed in the JIRA, you can add it.
You can indicate that you want to work on an existing bug that no one else is working on, or you can identify a new bug that you discovered and state that you are actively working on code that will fix that bug.
5. Contribute New Code in Support of a JEP
JEPs are enhancement proposals, but there are not always a sufficient number of developers who can afford to contribute to the next version of an open source project in addition to working on their full-time jobs.
However, if you have expertise in a certain area related to the JVM, it might be possible for you to look at the objective of a particular JEP, connect with anyone who's already working on that JEP, and find out if there is some aspect of it where they need some help from additional developers. Doing this will make it more likely that the JEP will be actualized in the next OpenJDK version.
6. Publicize New OpenJDK Releases
When a new OpenJDK release comes out (which happens every 6 months), you can use your social media network to tell other developers that a new release is available. If you happened to actually contribute to the new release, this would be a great opportunity to tell your colleagues "And I helped with this!"
This does not mean you need to write a 3000-word blog post about what's in the new OpenJDK release. You can just announce it and link to other articles. For example, Java Champion Simon Ritter regularly posts comprehensive overviews of what's in the latest OpenJDK release. Here's his overview of the Java 15 release. You can announce the new release to your developer friends and community, talk briefly about the enhancements you consider most important, and include a link to Simon's article and/or other articles where people are talking about the details.
7. Document OpenJDK on foojay.io
A major problem with open source projects is a lack of documentation. The effort is mostly expended on creating the new software version. Part of the point of foojay.io is to provide information that lets developers see what's in the OpenJDK, what's in different versions of the OpenJDK, and how it all matters to developers who are using OpenJDK in their daily work.
One option in this area is to write blog posts about specific areas of new OpenJDK versions that are relevant to your own job, or which you believe will become relevant once you tell your CTO about it.
There are numerous opportunities for developers to contribute to OpenJDK development.
If you think you have some extra bandwidth after your daily work that involves OpenJDK development, and you're interested, you might want to consider contributing to the next OpenJDK version in one or more of the ways described.