Activities

The tasks that we typically fall into three categories, starter, intermediate and advanced. The Adopt a JSR team will typically take a look at the JSR and ask the Spec Lead / Expert Group what help they require and/or volunteer for an area that they find particularly interesting. In particular you can look at:

  1. Our Issue Tracker
  2. Additional Glassfish/JEE Adopt a JSR items
  3. Our GitHub Repo

What do I run?

Typically you'll run a presentation (more educational) or a workshop / hackday (more practical - How to Run a Hackday).

Starter Level

  1. Test the early Reference Implementation builds
    1. Use them to find pain points (“It’s just too laborious to construct X”)
    2. Report bugs (“Arggh NPE!!”)
    3. Suggest feature enhancements (“A convertX method would help”)
  2. Help triage issues
    1. Reproduce issues
    2. Erase/merge duplicates
    3. Set priorities/categories etc
  3. Give feedback on design (remember semantics is more important than syntax!)
    1. Discuss issues with your JUG or organisation and deliver feedback
    2. Think about how you would use the JSR as a day to day developer
  4. Help moderate the mailing lists
    1. Help the community self police towards helpful conversations
    2. Pour water on flame wars etc
  5. Help evangelise the JSR
    1. Social media (twitter, facebook et al)
    2. Blogging (write a post about the JSR)
    3. Lightning talks (give a talk at your user group or online!)
  6. Improve project infrastructure and JSR visibility
    1. Help setup canned hosting (java.net, GitHub etc)
    2. Help with SEO of website
    3. Make sure that downloads, mailing lists and issue trackers are easy to find
    4. Help maintain their FAQ/Wiki

Intermediate Level

  1. Help the JSR meet the transparency principles of JCP 2.9.
  2. See Transparency Sub-Project http://java.net/projects/jsr-transparency/pages/Home for Active JCPJSRs
    1. Is there a public issue tracker?
    2. Does the EG communicate on a public mailing list?
    3. Is the EG balanced?
    4. Is the std a coming together of competing implementations?
    5. This is especially important to the LJC as it partly determines how the LJC vote on that JSR (since we hold an EC seat, we have a vote).
  3. Help build the RI
    1. Get coding with the actual implementation of the spec!
  4. Help build the TCK
    1. All implementations must pass this crucial test suite
    2. Great way to gain real TDD/Unit/Integration test experience

Advanced Level

  1. Join the Expert Group (EG)
    1. You need to be an expert in this technology
    2. EG members are central to pushing the JSR forwards
    3. High time commitment
    4. Lots of personal, community and career benefits
  2. Become the Spec Lead for a JSR
    1. You need to be a leading expert in a particular technology
    2. Considerable time commitment
    3. International recognition for your work
  3. Join the Executive Committee
    1. High time commitment
    2. Influence all standards

We're coding! What do we do for Version Control, Issue tracking, CI etc?

Each JSR should run its own infrastructure (the Spec lead / EG will have the details), the links to the main project pages are available on the JCP.org JSR page, and the Adopt a JSR volunteers should simply use that infrastructure.

Are there Deadlines?

You'll find the deadlines on the official JSR page at JCP.org for each JSR. The Spec Lead and EG will be able to guide you on the deadlines they are working towards. You can also check the Community tab of each JSR page on JCP.org for suggestions from the Spec Lead on how to contribute to their JSR via the Adopt-a-JSR Program.