1 adopt a jsr (full presentation) martijn verburg (@karianna) james gough (@javajimlondon) on behalf...

17
1 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

Upload: lorin-gloria-andrews

Post on 14-Jan-2016

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Adopt a JSR (Full Presentation) Martijn Verburg (@karianna) James Gough (@JavaJimLondon) On behalf of the LJC and the global JUG program Thanks to SouJava

1

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

Page 2: 1 Adopt a JSR (Full Presentation) Martijn Verburg (@karianna) James Gough (@JavaJimLondon) On behalf of the LJC and the global JUG program Thanks to SouJava

2

Acronym Soup

JUG - Java User Group

JSR - Java Specification Request

JCP - Java Community Process

RI - Reference Implementation

TCK - Technology Compatibility Kit

Page 3: 1 Adopt a JSR (Full Presentation) Martijn Verburg (@karianna) James Gough (@JavaJimLondon) On behalf of the LJC and the global JUG program Thanks to SouJava

3

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

Page 4: 1 Adopt a JSR (Full Presentation) Martijn Verburg (@karianna) James Gough (@JavaJimLondon) On behalf of the LJC and the global JUG program Thanks to SouJava

4

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!

Page 5: 1 Adopt a JSR (Full Presentation) Martijn Verburg (@karianna) James Gough (@JavaJimLondon) On behalf of the LJC and the global JUG program Thanks to SouJava

5

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

Page 6: 1 Adopt a JSR (Full Presentation) Martijn Verburg (@karianna) James Gough (@JavaJimLondon) On behalf of the LJC and the global JUG program Thanks to SouJava

6

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

Page 7: 1 Adopt a JSR (Full Presentation) Martijn Verburg (@karianna) James Gough (@JavaJimLondon) On behalf of the LJC and the global JUG program Thanks to SouJava

7

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

Page 8: 1 Adopt a JSR (Full Presentation) Martijn Verburg (@karianna) James Gough (@JavaJimLondon) On behalf of the LJC and the global JUG program Thanks to SouJava

8

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-in8

Page 9: 1 Adopt a JSR (Full Presentation) Martijn Verburg (@karianna) James Gough (@JavaJimLondon) On behalf of the LJC and the global JUG program Thanks to SouJava

9

How do I join?

Contact your local JUG leader

OR

Go to http://adoptajsr.org– Follow the simple set-up steps there

9

Page 10: 1 Adopt a JSR (Full Presentation) Martijn Verburg (@karianna) James Gough (@JavaJimLondon) On behalf of the LJC and the global JUG program Thanks to SouJava

10

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

Page 11: 1 Adopt a JSR (Full Presentation) Martijn Verburg (@karianna) James Gough (@JavaJimLondon) On behalf of the LJC and the global JUG program Thanks to SouJava

11

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

Page 12: 1 Adopt a JSR (Full Presentation) Martijn Verburg (@karianna) James Gough (@JavaJimLondon) On behalf of the LJC and the global JUG program Thanks to SouJava

12

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 developer12

Page 13: 1 Adopt a JSR (Full Presentation) Martijn Verburg (@karianna) James Gough (@JavaJimLondon) On behalf of the LJC and the global JUG program Thanks to SouJava

13

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

Page 14: 1 Adopt a JSR (Full Presentation) Martijn Verburg (@karianna) James Gough (@JavaJimLondon) On behalf of the LJC and the global JUG program Thanks to SouJava

14

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

Page 15: 1 Adopt a JSR (Full Presentation) Martijn Verburg (@karianna) James Gough (@JavaJimLondon) On behalf of the LJC and the global JUG program Thanks to SouJava

15

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

Page 16: 1 Adopt a JSR (Full Presentation) Martijn Verburg (@karianna) James Gough (@JavaJimLondon) On behalf of the LJC and the global JUG program Thanks to SouJava

16

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

Page 17: 1 Adopt a JSR (Full Presentation) Martijn Verburg (@karianna) James Gough (@JavaJimLondon) On behalf of the LJC and the global JUG program Thanks to SouJava

17

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