Top Banner
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
48
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: JCP Participation for ColumbiaJUG

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

Page 2: JCP Participation for ColumbiaJUG
Page 3: JCP Participation for ColumbiaJUG

• 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

Page 4: JCP Participation for ColumbiaJUG

Scalable

4

Page 5: JCP Participation for ColumbiaJUG

Compatible

5

Page 6: JCP Participation for ColumbiaJUG

Collaboratively Developed

6

Page 7: JCP Participation for ColumbiaJUG

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

Page 8: JCP Participation for ColumbiaJUG

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

Page 9: JCP Participation for ColumbiaJUG

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

Page 10: JCP Participation for ColumbiaJUG

Working Together

10

Page 11: JCP Participation for ColumbiaJUG

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

Page 12: JCP Participation for ColumbiaJUG

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

Page 13: JCP Participation for ColumbiaJUG

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

Page 14: JCP Participation for ColumbiaJUG

Click icon to add picture

Why Participate?

Page 15: JCP Participation for ColumbiaJUG

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

Page 16: JCP Participation for ColumbiaJUG

16

Page 17: JCP Participation for ColumbiaJUG

Background

17

Page 18: JCP Participation for ColumbiaJUG

Java SE 8: JSR 337 (March 2014)

18

Page 19: JCP Participation for ColumbiaJUG

Java ME 8: (JSRs 360 & 361) – April 2014

19

Page 20: JCP Participation for ColumbiaJUG

Java EE 7: (JSR 342) – May 2013

20

Page 21: JCP Participation for ColumbiaJUG

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

Page 22: JCP Participation for ColumbiaJUG

Compatibility Triangle

Can you build animplementation?

Is the specificationunambiguous?

Is the TCK correct?Does the RI conform?

22

Page 23: JCP Participation for ColumbiaJUG

The JSR Development Cycle

• Includes formal public reviews and votes by the Executive Committee.

• See the Process Document for the details.

23

Page 24: JCP Participation for ColumbiaJUG

Organization

24

Page 25: JCP Participation for ColumbiaJUG

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

Page 26: JCP Participation for ColumbiaJUG

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

Page 27: JCP Participation for ColumbiaJUG

The Executive Committee•

27

Page 28: JCP Participation for ColumbiaJUG

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

Page 29: JCP Participation for ColumbiaJUG

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

Page 30: JCP Participation for ColumbiaJUG

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

Page 31: JCP Participation for ColumbiaJUG

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

Page 32: JCP Participation for ColumbiaJUG

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

Page 33: JCP Participation for ColumbiaJUG

JCP.next: Changing the Constitution

Page 34: JCP Participation for ColumbiaJUG

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

Page 35: JCP Participation for ColumbiaJUG

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

Page 36: JCP Participation for ColumbiaJUG

JCP.next.1 (JSR 348)

36

Page 37: JCP Participation for ColumbiaJUG

JCP.next.2 (JSR 355)

37

Page 38: JCP Participation for ColumbiaJUG

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

Page 39: JCP Participation for ColumbiaJUG

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

Page 40: JCP Participation for ColumbiaJUG

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

Page 41: JCP Participation for ColumbiaJUG

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.

Page 42: JCP Participation for ColumbiaJUG

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.

Page 43: JCP Participation for ColumbiaJUG

JUGs around the World

Page 44: JCP Participation for ColumbiaJUG

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)

Page 45: JCP Participation for ColumbiaJUG

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

Page 46: JCP Participation for ColumbiaJUG

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

Page 47: JCP Participation for ColumbiaJUG

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

Page 48: JCP Participation for ColumbiaJUG

thank you, dziekuje, tak, tack, merci, grazie, gracias, danke, obrigado, bedankt,

kiitos, xie xie,ありがとう .

Java is as Java does video link shown in beginning:http://youtu.be/abSsrGD-SRw?list=LLtu8aQVpYKMUKIzXPNyE6Mg