Adopt-a-JSR is a grassroots initiative by JUG leaders to encourage JUG members to get involved in a JSR. The goal is to give rank-and-file Java developers a way to contribute directly to Java specifications through their local JUGs. There are many ways to contribute - from just sending in some feedback on a specific issue all the way to writing code for a reference implementation (RI) or compatibility test kit (TCK).
Adopt-a-JSR was launched towards the end of the Java EE 7 time-frame and has already been a success. Numerous developers have participated through many JUGs across the globe. We hope to significantly build upon that momentum for Java EE 8 - perhaps making it the most community driven Java EE release to-date.
Get Involved with Java EE 8
Java EE 8 has already been launched, as have many of the component technologies that make up the overall platform. What you can contribute really depends on what you want to do and what the specification lead, expert group is looking for. Some technologies will have specific items that they need help on and others will be far more informal. You should refer to the table below to start exploring, specifically the "Suggested Contributions" column. You should feel free to reach out to the expert group if you have specific ideas on how you would like to help. Here are some ideas to think about:
- Share ideas and feedback, possibly by entering issues in public issue trackers (almost every JSR has one).
- When using email, use "Adopt-a-JSR" in the subject line for greater visibility.
- For JIRA, use the "adoptajsr" tag for greater visibility (all Oracle led specifications use JIRA).
- Follow expert group discussions and chime in if needed.
- Read early versions of specifications and Javadocs.
- Try writing applications using early builds of the reference implementation (likely GlassFish in case of Java EE).
- Write or speak about the technology.
- Encourage others to participate.
Help with Java EE 7
Although Java EE 7 JSRs are now already finalized, you can still adopt them. In fact, adopting finalized JSRs are perhaps the easiest ways to get involved. For example, we still can use help spreading the word on these JSRs through writing and speaking. Feel free to email Reza Rahman if this interests you. The following are the JSRs that were part of Java EE 7:
- Java API for WebSocket 1.0 (JSR 356)
- Java API for JSON Processing 1.0 (JSR 353)
- Batch Applications for the Java Platform 1.0 (JSR 352)
- Concurrency Utilities for Java EE 1.0 (JSR 236)
- Java API for RESTful Web Services 2.0 (JSR 339)
- Java Message Service 2.0 (JSR 343)
- Expression Language 3.0 (JSR 341)
- JavaServer Faces 2.2 (JSR 344)
- Servlet 3.1 (JSR 340)
- Java Persistence API 2.1 (JSR 338)
- Enterprise JavaBeans 3.2 (JSR 345)
- Contexts and Dependency Injection 1.1 (JSR 346)
- Interceptors 1.2 (JSR 318)
- Bean Validation 1.1 (JSR 349)
- Java Transaction API 1.2 (JSR 907)
Here are some excellent resources to get started with Java EE 7: