In 2011 the London Java Community (LJC) stood for, and overwhelmingly won a seat in the open elections for a seat on the JCP Executive Committee (JCP EC), enough acronyms yet? We haven't even started! It's been a whirlwind trip so far with a great deal learned about politics, acronyms, the due diligence required on a JSR, flights to exotic places (Jersey City!?), wrangling over the wording of a sentence and of course launching some developer lead initiatives.
There have of course been some great successes in moving Free Java forward such as the JSR-348 which is the start of reforming the JCP and JSRs towards a truly open and transparent model. This talk covers the good works done so far, some anecdotes of what it's like to work as a developer amongst a mix of technologists and techies and what we think is left to be done.
Paperwork, Politics and Pain - Our year in the JCP (FOSDEM 2012)
1. This work and content is licensed under a
Creative Commons Attribution-Non
Commercial-Share Alike 3.0 Unported
License
Politics, Positives,
Paperwork and Pain
Our year to date in the JCP
Martijn Verburg (@karianna)
Ben Evans (@kittylyst)
1
Slide Design by Kerry Kenneally www.kerrykenneally.com
5. Acronym Soup
• One of the reasons why people shy away from the JCP
• JUG - Java User Group
• JSR - Java Specification Request
• JCP - Java Community Process
• RI - Reference Implementation
• TCK - Technology Compatibility Kit
5
6. How it all Started - I
• FOSDEM 2011
– Inspired by the spirit shown in the Free Java room & too much beer
• The developer community needed more representation
• We’d been making noise for a while
• It was politely suggested we step up
6
7. How it all Started - II
• ~March/April 2011 - We threw our hat in the ring
• “We have the best general purpose VM in the world, and its Open.
We want to build on this, who wants to come with?”
• ~May 2011 - We won the open seat!
• We formed a deep committee to deal with JCP matters
• Change of beverage --> Red Wine
7
8. Immediately some Paperwork & Pain
• JSPAs are unfriendly to say the least
• Quite difficult to deal with as a JUG or individual
• PMO smoothed the path
– But it’s still a barrier to entry for the uninitiated
• Developers do not understand legalese
– Does anybody?
8
9. Our Openness and Transparency
• LJC as a JUG is in an unique position
• All our JCP decision making is in the open!
– Meeting minutes
– Our voting criteria
– Our votes and why we voted
– Thought processes on existing JSRs
• “Meritocracy of the Willing”
– No barriers to joining the LJC JCP Committee
9
10. First order of Business - Vote on JSR 348
• Openness and Transparency of JSRs and the JCP itself
– Started by the Oracle before we joined
• Exciting meetings about minute details
• Endless phone conferences
• Good to have deep roots with your JCP Reps
– No one should go through that alone
10
11. JSR-348 - A Massive success
• JSR-348 was a hit
• It didn’t cover everything the community wanted
• It did get the full EC’s collaborating again
• Some of the most vocal voices for openness were large vendors!
– JSR itself was lead by Oracle
• JSRs are now accessible to the technical community
11
12. A General move towards openness
• JCP EC members are pushing the FOSS agenda
• The OpenJDK is now the RI for Java!
– This includes the Mac
• Oracle has promised all of its older JSRs will be run under 348
– They’re almost there
• Small trademark and licensing issues have been cleaned up
• There’s still obviously some important work left to do
12
13. Adopt a JSR
• With JSR-348 coming into being, developers could now act
• JSRs were ripe for adoption by the wider Java community
• So we launched ‘Adopt a JSR’ on Oct 31st 2011
• LJC working with JCP to guide spec leads
– With JSR-348 compliance
– Making JSR-348 a positive FOSS experience
13
14. 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 JSRs
15. Why the JUGs get involved
• To be involved in “Moving Java forward”
– Sorry, we couldn’t resist
• 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!
• It’s fun!
16. 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 also help with management of the JSR
16
17. 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
17
18. What difference have they really made?
• The LJC is helping make sure JSR-310 gets through
– Date and Time for Java 8
– Focussed on building the TCK, ~50% by Dec 2011
• Houston JUG and Chennai JUG is working on JSR-347
– Data Grids API for Java EE
– Helps avoid vendor lock in
• Large increase in ‘passive participation’
– More downloads, mailing list subscribers etc
18
19. Adopt the OpenJDK
• A JUG lead program for working on the OpenJDK
• Aim to to lower barriers to working with the OpenJDK
– Potential to dramatically increase # of OpenJDK hackers
• Currently working on a variety of issues
– Website, Wiki, Build, JIRA Triage, Small bug clean ups & more
• http://java.net/projects/jugs/pages/AdoptOpenJDK
19
20. Realisations about the OpenJDK
• Huge leaps made recently
– It’s the RI for Java
– Mac port is now in mainstream
• Infrastructure problems need to be dealt with
– Community wide problem, not just Oracle’s!
• JEPs are a good idea in principle...
– Their relationship with JSRs have a perception problem
• Still large barriers to entry
– Clouds of fog and mystery for the developer on the street
20
21. A General move towards community
• Adopt a JSR has been widely supported
• Most JSRs need a massive Ux overhaul
• OpenJDK hacking is being actively encouraged
• OpenJDK needs a massive Ux overhaul
21
22. The next bit of reform, JSR-355
• JCP.next (the 2nd)
• Long overdue merging of the SE/EE and ME EC’s
• Several EC members not turning up/voting
– This made us quietly furious
• A smaller, more focussed group will do a better job
• Some political and bureaucratic wheeling and dealing
22
23. The next bit of interesting reform...
• The almighty JCP.next (the 3rd)
• Will look at the JSPA
• Will look at TCKs and licensing
• Lots of other small issues that require legal eagles
• Many old arguments will come to the surface
• We think it will be important to take a step back
– Look at the TCK problem from different angles
– Existing arguments are well documented
23
24. Realisations about the JCP EC
• The EC members do not discuss JSRs enough
• There needs to be more technical balance
– This is improving
• EC members are not open enough about why they voted
– Need to have meaningful commit messages!
• There is a great deal of willingness to change
– This is not reported enough
24
25. Extra Lessons we’ve learned
• It’s still easy to miss a vote
– There’s no excuse for this we simply must all do better
• Enthusiasm and optimism grinds down barriers
• We recognised that when organisations throw their toys in public....
– It’s counter productive
– Time is wasted
• Companies like Oracle are not one giant machine with a single will
– Patience is a virtue
– Large companies have large turning circles
25
26. Thanks for listening!
• The acronyms become familiar, we promise!
• We’re looking forward to working towards more Java freedom in
2012
– Shameless Plug: Re-elect us!
• Need to get in touch?
– Ben Evans (@kittylyst)
– Martijn Verburg (@karianna)
• http://adoptajsr.org
• http://java.net/projects/jugs/pages/AdoptOpenJDK
26
Editor's Notes
\n
\n
This is an opinion --> We tend to have lots of those\n
\n
And on and on and on and on...\n
* With prominent departures.. --> The developer community needed more....\n* We have lots of community and FOSS experience\n
* Nice story about the win being announced at the EMEA OUG session\n* Committee --> Deep roots are important, Currently 8 very active members\n* Committee --> Conscious that we had a lot to prove\n
\n
* Have no products/services etc to fight for\n* Have a wide representation\n
* We voted yes on Java 7, but noted the lack of transparent mailing lists as a major concern!\n* Run JSRs like Karl Fogel suggests you run FOSS projects\n* Sentence structure, Legal interpretations, Spelling and Grammar and their impact, Points of order\n
* People and organisations started becoming interested in the JCP again, JCP elections for late 2011 were hard fought\n* An important social aspect for harder JSRs to come\n* Including Oracle *Gasp*, Surprised a number of observers\n* Think of it like invokedynamic, it’s the great enabler\n
Despite what the mainstream tech media reports\n
\n
\n
\n
JUGs can help build, Reference Implementations (RI), Technical Compatibility Kits (TCK)\n* Managing mailing lists, Triaging issues, Testing, Evangelism + more!\n
\n
\n
* Laser focus\n
\n
\n
Largely an uninteresting JSR for observers\n Some members were stirred from slumber\n
\n
To be blunt, not enough techies capable of voting on technical merit\n