170 likes | 291 Views
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.
E N D
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://java.net/projects/jugs/pages/AdoptAJSR#Laser-like_focus 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 • http://java.net/projects/jugs/pages/AdoptAJSR#Leading_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 • Contacts: • Martijn Verburg (@karianna) • James Gough (@JavaJimLondon) 17