Transcript Maven 2.0
Adopt a JSR
(Full Presentation)
Martijn Verburg (@karianna)
James Gough (@JavaJimLondon)
On behalf of the LJC and the global JUG program
Thanks to SouJava for lots of extra valuable input into this presentation!
Slide design by http://www.kerrykenneally.com
1
Acronym Soup
JUG - Java User Group
JSR - Java Specification Request
JCP - Java Community Process
RI - Reference Implementation
TCK - Technology Compatibility Kit
2
What is the Adopt a JSR program?
See http://adoptajsr.org for full details
A JUG lead initiative to improve standards in the Java ecosystem
Groups of JUG members work on Java Specification Requests
3
Why should the JUGs get involved? - 1
To move the entire Java ecosystem forward
– To become part of the solution as opposed to staying silent
– Help define the future
To be at the forefront of new technology
To ensure that ivory tower standards do not occur
To make sure the useful libraries and APIs get built
To boost the careers of JUG members
– Gain new technical and community skills and much more!
4
Why should the JUGs get involved? - 2
To demystify the JCP and the standards process
– Get day to day developers knowledgable about the process
To acquire new knowledge
– Gain valuable technical skills
– Learn a brand new part of the Java ecosystem
To gain competitive advantage
– Be the early experts in a new standard
Gain more members
– Helps build long lasting activities for the JUG
– Turns passive members into active ones!
It’s fun!
5
How does it help the Standards?
Standards get earlier feedback
– Leading to more developer friendly APIs
– Standards get 'end user/developer' expert input
Standards get developed more quickly, JUGs can help build
– Reference Implementations (RI)
– Technical Compatibility Kits (TCK)
JUGs can also help with management of the JSR
–
–
–
–
–
Managing mailing lists
Triaging issues
Testing
Evangelism
+ more!
6
Who’s involved already?
See http://adoptajsr.org for up to date details.
–
–
–
–
–
The London Java Community (UK)
SouJava (Brazil)
GoJava (Brazil)
Houston JUG (USA)
Chennai JUG (India)
+ Several more starting out
7
What difference have they really made?
SouJava helped push through JSR-348
–
–
–
–
Reforming the Java Community Process (JCP)
Open mailing lists
Public Issue trackers
Standards reviewed early and often
The LJC is helping make sure JSR-310 gets through
–
–
–
–
Date and Time for Java 8
Focussed on building the Technology Compatibility Kit (TCK)
~40% by Dec 2011
Ensures that you get the new Date and Time API for Java 8
Houston JUG is working on Data Grids
– Vital technology for the cloud space
– Avoids vendor lock-in
8
How do I join?
Contact your local JUG leader
OR
Go to http://adoptajsr.org
– Follow the simple set-up steps there
9
An Important Note
Your enthusiasm and skill sets are what JSRs need!
But your efforts should have focus
– Sometimes well meaning enthusiasm can be counter productive
– e.g. We’re not all language designers!
– However, there is always a truly productive way to help a JSR
Don’t forget, co-ordinate and communicate your efforts
– With the Spec Lead and the Expert Group
– With other JUGs
– http://adoptajsr.org has details on how you can do this
10
Steps to take after joining
Find fellow members in your JUG to work with
– A particular JSR might already have members in your JUG working on
it
– Double check the matrix at http://adoptajsr.org
Join the relevant JSR mailing list
We encourage people/groups down two paths
– Scratch an itch. Work on the part of the JSR you’re interested in!
– Spec lead guidance. Simply ask the Spec lead what needs done!
The next few slides have suggested ideas
Don’t forget to have fun!
11
Starter Levels to get involved at - 1
Test the early RI builds
– Use them to find pain points (“It’s just too laborious to construct X”)
– Report bugs (“Arggh NPE!!”)
– Suggest feature enhancements (“A convertX method would help”)
Help triage issues
– Reproduce issues
– Erase/merge duplicates
– Set priorities/categories etc
Give feedback on design
– Discuss issues with your JUG and deliver feedback
– Think about how you would use the JSR as a
– day to day developer
12
Starter Levels to get involved at - 2
Help moderate the mailing lists
– Help the community self police towards helpful conversations
– Pour water on flame wars etc
Help evangelise the JSR
– Social media (Twitter, Facebook et al)
– Blogging (write a post about the JSR)
– Lightning talks (give a talk at your user group or online!)
Improve project infrastructure and JSR visibility
– Help setup canned hosting (java.net, GitHub etc)
– Help with SEO of website
– Ensure downloads, mailing lists, issue trackers
are easy to find
– Help maintain their FAQ/Wiki
13
Intermediate Levels to get involved at
Help get the JSR to JSR-348 compliance
–
–
–
–
Is there a public issue tracker?
Does the EG communicate on a public mailing list?
Is the EG balanced?
Is the Std a coming together of competing implementations?
Help build the RI
– Get coding with the actual implementation of the spec!
Help build the TCK
– All implementations must pass this crucial test suite
– Great way to gain real TDD/Unit/Integration test experience
14
Advanced Levels to get involved at
Join the Expert Group (EG)
–
–
–
–
You need to be an expert in this technology
EG members are central to pushing the JSR forwards
High time commitment
Lots of personal, community and career benefits
Become the Spec Lead for a JSR
– You need to be a leading expert in a particular technology
– Considerable time commitment
– International recognition for your work
Join the Executive Committee
– High time commitment, influence all standards
15
Starting an ‘Adopt a JSR’ group
Set up a wiki page to co-ordinate your activities
– e.g. http://java.net/projects/ljc-london-jug/pages/JSR-310
– Link that into the matrix at http://adoptajsr.org
Contact the Spec Lead / EG
Mail your JUG members to gather interest
– Outline what this JSR is and why the JUG should get involved
Identify areas that you and your members want to work on
– Best to co-ordinate this with Spec Lead
16
Lets change the Java ecosystem!
Thanks for reading!
– The acronyms become familiar, we promise!
We really hope you’ll consider joining us
– Duke would love your help!
http://adoptajsr.org for full details
– Join the Mailing list
– Join the IRC channel
Thanks!
– Martijn Verburg (@karianna)
– James Gough (@JavaJimLondon)
17