Copyright © 2014, Oracle and/or its aff i liates. All rights reserved. | Join the Java Evolution Java, JCP and Adopt-a-JSR • Heather VanCura @heathervc • Java Community Process • March 14, 2015
Jul 20, 2015
Copyright © 2014, Oracle and/or its aff iliates. All rights reserved. |
Join the Java Evolution
Java, JCP and Adopt-a-JSR
• Heather VanCura @heathervc• Java Community Process • March 14, 2015
• 9 Million Java developers worldwide• 3 Billion mobile phones run Java• #1 Choice for developers• #1 Development platform• 100% of Blu-Ray players include
Java• 97% of enterprise desktops run Java• 89% of desktops in USA run Java• 7 Billion Java Cards sold• 5 Billion Java Cards in use• 115 Million TV devices run Java
Ubiquitous
3
History
• 1995: Sun Microsystems develops Java.• 1999: Sun opens up the development process to its competitors,
creating the Java Community Process.• 2006: Sun open-sources Java SE and Java EE.• 2007: Sun goes into f inancial decline; Java stagnates.• 2010: Oracle acquires Sun and becomes the steward of Java.
7
Oracle infuses energy and funding into Java and the JCP, resulting in:
• New revisions of each of the three platforms: Java SE, Java ME, Java EE
• “JCP.Next” reforms to improve the way the Process operates
• Increased participation and new initiatives from Java User Groups
2011 - Present Day
8
Oracle as Java’s Steward
• Oracle recognizes the great value of Java – to itself as well as to its allies and competitors.
• The value is derived from the open, collaborative, standards-based process through which Java is developed and the vibrant developer community that this process fosters.– A proprietary platform could not have succeeded as Java has
– Java is everywhere
• Oracle’s support and promotion of Java benef its everyone.
9
The Java Community Process
• Java specif ications (JSRs) are developed collaboratively through an open, formal process similar to that used by other SDOs. All interested members of the Java Community may participate.
• Oracle’s competitors are active participants.– IBM, HP, and RedHat to name a few.
• The Open Source and developer communities are also represented.– The Eclipse Foundation, Java User Groups.
11
Executive Committee Members
ARM Azul Systems Hazelcast
Credit Suisse Eclipse Foundation Ericsson
Freescale Fujitsu Gemalto M2M
Goldman Sachs HP IBM
Intel Werner Keil London Java Community
Geir Magnusson MicroDoc Oracle
Red Hat SAP Software AG
SouJava TOTVS Twitter
V2COM
12
Open Source Implementations
• The Reference Implementations of the Java SE and Java EE platforms are also developed collaboratively and released under open-source licenses.– Java SE: OpenJDK
– Java EE: Project GlassFish
13
Why Participate
• Acquire knowledge: learn from experts, early access.• Make Java better: specif ications based on real world experience.• Build your resume: add experience and skill development.• Increase professional visibility: curriculum, articles, workshops,
presentations.• Become famous: grow your reputation and network.• Be altruistic: make the future Java.
15
How do we do it?• Java Specif ication Requests (JSRs).– A JSR is a single version of a Java specif ication.
• JSRs are led by a JCP member (the Spec Lead), with a group of interested members (the Expert Group) helping with the day-to-day decisions and work.– Any JCP member can submit and lead a JSR.
• Each Expert Group must deliver:– The Specif ication.
– A Reference Implementation (RI).
– A conformance test suite (Technology Compatibility Kit, or TCK).
21
Compatibility Triangle
Can you build animplementation?
Is the specificationunambiguous?
Is the TCK correct?Does the RI conform?
22
The JSR Development Cycle
• Includes formal public reviews and votes by the Executive Committee.
• See the Process Document for the details.
23
Who does what?• JCP Chair/PMO– Leads the organization and manages day-to-day operations of the
organization.
• Executive Committee– Votes on JSRs at def ined stages through the process.
– Def ines JCP governance, processes, and membership terms.
• Expert Groups– Create JSRs (write the spec, develop the RI and TCK.)
• Members– Review specs, may participate in Expert Groups, vote in EC elections.
25
Executive Committee
• The Executive Committee has 25 members – vote on JSRs, def ine JCP program governance.
• Oracle has a permanent seat.• 16 seats are Ratif ied (Oracle nominates candidates and the entire
JCP membership must approve them by voting).• The remaining 8 seats are Elected (any JCP member may nominate
themselves and members choose by voting).• Each year half of the members must stand for re-election.
26
The Spec Lead
• The JCP member responsible developing a JSR. • Must deliver the Spec, RI, and TCK.• Oracle is the Spec Lead for the three existing Platforms: Java ME,
Java SE, and Java EE.
28
The Expert Group
• The Expert Group is recruited and led by the Spec Lead.• All members of the JCP are eligible to join. • Should represent all interested sectors of the Java community.• Works as a team to def ine the JSR and to develop the Spec.• Must operate transparently, so that JCP members and the public
can review and participate in its work.
29
The Membership
• Anyone can join.• Total membership is approximately 800.– 10,000+ registered users at jcp.org.
• We used to charge commercial organizations $5K/year but now we are waiving membership fees for any class of member.
– https://jcp.org/en/participation/membership
30
Who Are The Members?
• Membership distribution by type:– 77% individual.
– 21% corporate.
– 2% non-prof it.
• Membership distribution by location:– 50% North America.
– 32% Europe and the Russian Federation.
– 13% Africa, Asia, and the Middle East.
– 5% South America.
31
Observer Suggestions
• Make Java EE 8 and Java SE 9 the most community driven platform to-date!
• Share ideas and feedback, possibly by entering issues in public issue trackers.
• Follow expert group discussions and chime in if needed.• Read early versions of specif ications and Javadocs.• Try writing applications using early builds of the reference
implementation.• Write or speak about the technology.• Encourage others to participate.
32
Legal Framework and Governance
• The Java Specif ication Participation Agreement (JSPA)– A legal contract between members and Oracle.
– http://www.jcp.org/aboutJava/communityprocess/JSPA2.pdf.
• The Process Document– Def ines the governance of the organization.
– http://jcp.org/en/procedures/jcp2.
34
Using the Process to Change the Process
● We modify the Process (as def ined in the JSPA and the Process Document) by f iling JSRs.
● The Chair&/or the PMO is the Spec Lead and the Executive Committee members form the Expert Group for these JSRs.
● Since 2011 we have been working on a series of four JSRs, collectively referred to as JCP.next, to reform the our processes.
35
JCP.next.3 (JSR 358)
● The JSPA has not been signif icantly modif ied since 2002. ● Since then the organization and the environment in which we
operate have changed signif icantly.● This JSR will modify the JSPA and the Process Document,
def ining new (and hopefully simpler) IPR and licensing policies.
38
JCP.next.4 (JSR 364)
● This JSR was spun-off from JSR 355 in order to implement membership-related changes more quickly.
● Goal: encourage more individuals to join and participate in the JCP while ensuring that we have appropriate IP commitments.
● New Aff iliate membership class for individuals.● New Partner membership class for Java User Groups.● Free membership for corporations.
39
The JCP is more open than before
• Public JSR schedule--current, and updated regularly. • Public read and/or write page/wiki for the JSR.• Public discussion for the work of the JSR (archived).• Public feedback mechanism.• Public issue tracker. • One EC votes on all JSRs 3x in life of JSR with public results.• All JSRs have 3 open public review periods (30 days).
– Release early and often!
40
How will you Participate?
• As an Individual – OK.• As part of a team – better.• Work through your JUG or
employer.– Help each other– Teach other.– Work with each other.
Adopt-a-JSR
● A JUG-lead initiative to improve Java standards.
● Groups of JUG members work on JSRs.– See
http://java.net/projects/adoptajsr for full details.
New JSRs
Recently submitted:Security (JSR 375)Java EE Management (JSR 373)JSON-P 1.1 (JSR 374)Java Module System (JSR 376)Desktop Application API (JSR 377)
Java EE 8 (JSR 366)CDI 2 (JSR 365)JSON-B (JSR 367)JMS 2.1 (JSR 368)Servlet 4 (JSR 369)JAX-RS 2.1 (JSR 370)MVC (JSR 371)JSF 2.3 (JSR 372)
How to get started - easy● Comment on the mailing lists; steer towards helpful conversations● Evangelize the JSR through social media, blogging or lightning talks.● Give a talk at your user group at events, or online.● Help with documentation.● Translate into your native language.● Help to maintain an FAQ/Wiki.● Improve project & JSR visibility.● Comment on the drafts and issue trackers.● Ensure that downloads, mailing lists, issue trackers are easy to f ind.
45
How to get started - moderate● Organize Hack days.● Test the early RI builds; use them to f ind pain points, report bugs,
suggest feature enhancements.● Help triage issues; reproduce issues, erase/merge duplicates, set
priorities/categories etc.● Give feedback on design; discuss issues and deliver feedback, think
about how you would use the JSR as a developer.● Help build the RI; get coding with the actual implementation of the spec
or build sample applications.● Help build the TCK; all implementations must pass the test suite – this
is a great way to gain test experience.
46
We want you!
• Follow the JCP online: http://JCP.org
– Join the JCP: https://jcp.org/en/participation/membership– Twitter @jcp_org – blogs.oracle.com/jcp– Facebook: Java Community Process
• Adopt-a-JSR online:http://adoptajsr.java.net.
– [email protected] - the global mailing list – IRC: #adoptajsr channel on irc.freenode.net– GitHub: https://github.com/Adopt-a-JSR
47