73
Copyright © 2014, Oracle and/or its aff i liates. All rights reserved. | Join the Java Evolution for Victoria JUG Java, JCP and Adopt-a-JSR Heather VanCura @heathervc http://www.slideshare.net/heathervc Java Community Process July 21, 2015

Join the Java Evolution for Victoria JUG

Embed Size (px)

Citation preview

Copyright © 2014, Oracle and/or its aff iliates. All rights reserved. |

Join the Java Evolution for Victoria JUG

Java, JCP and Adopt-a-JSRHeather VanCura

@heathervc

http://www.slideshare.net/heathervc

Java Community Process

July 21, 2015

Happy to be in Canada – thank you for inviting me!

Heather VanCuraJava Community Process (JCP) Program

• Group Manager of the JCP Program Off ice • Leader of Global Adopt-a-JSR Programs, working w/JUG

leaders to participate in the JCP program• Hackergarten Organizer• Devoxx4Kids/Kids Coding Events Volunteer Instructor• Started with Sun Microsystems in 2000• Native Californian from San Diego• Personal Interests: Fashion, Girls & Women in Tech events,

Adventure, Traveling, Music, Books, Fitness/sports activities

like swimming, hiking, cycling, running, cross-f it, tennis,

volleyball and just hanging out at the beach :)

Bay Area, California - USA

• 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

5

Scalable

6

Compatible

7

Collaboratively Developed

8

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.

9

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

10

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.

11

Working Together

12

Background

13

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.

14

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

15

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

16

Click icon to add picture

Why Participate?

'The best way to predict the future is to create it'.

18

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: Create the future Java.

19

20

Java SE 8: JSR 337 (March 2014)

21

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

22

Java EE 7: (JSR 342) – May 2013

23

Open Standards & Open Source

• Open source and open standards are complimentary. • Open standards implemented in open source makes it easier to

implement the standard and easier for developers to understand the technology.

• This will result in more implementations and greater adoption of the standard.

• An effective way to develop a standard is to start with an open source project that has demonstrated the need for standardization.

24

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).

25

Compatibility Triangle

Can you build animplementation?

Is the specificationunambiguous?

Is the TCK correct?Does the RI conform?

26

The JSR Development Cycle

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

• See the Process Document for the details.

27

Organization

28

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.

29

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).• Annual Elections: each year half of the members must stand for re-

election.

30

The Executive Committee•

31

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.

32

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.

33

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

34

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.

35

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.

36

JCP.next: Changing the Constitution

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.

38

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.

39

JCP.next.1 (JSR 348)

40

JCP.next.2 (JSR 355)

41

Now the lawyers are involved!JCP.next.3 (JSR 358)

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.

43

JCP.next.4 (JSR 364)JCP.next.4 (JSR 364)

JCP.next.4 (JSR 364)

● This JSR was spun-off from JSR 358 in order to implement membership-related changes more quickly.– Should be f inal in October 2015.

● Goal: Broadening JCP Participation. – Encourage more individuals to join and participate in the JCP

while ensuring that we have appropriate IP commitments.– New Associate membership class for individuals.● New Partner membership class for Java User Groups.● Free membership for corporations.

45

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).

46

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.

JUGs around the World

● 30+ JUGS participating:

– South America: Campinas JUG (Brazil), ceJUG (Brazil), GOJava (Brazil),SouJava (Brazil), Brasilia, DF JUG (Brazil), GUJ Londrina (Brazil) PeruJUG, Guadalajara JUG, GUJavaSC (Brazil).

– North America: Chicago JUG, Silicon Valley JUG, Houston JUG (USA),Toronto JUG (Canada).

– Europe: London Java Community (UK), BeJUG (Belgium), Madrid JUG(Spain), JUG Cologne (Germany), Istanbul JUG (Turkey), Greece.

– Asia: Indonesia JUG, JUG JogLoSemar (Indonesia), Hyderabad JUG(India), JUG Chennai (India).

– Africa & Middle East: Congo, EGJUG (Egypt), Morocco JUG, Faso JUG(Africa), Jozi JUG (South Africa), Mbale (Uganda).

Java User Group Adopters

• BeJUG: JSR 356, Java API for WebSocket - Hack day in March 2013/developed Tic-Tac-Toe game included in Java EE 7 SDK.

• Chennai JUG: JSR 338, Java Persistence 2.1, JSR 344, JSF 2.2, JSR 352, Batch, JSR 353, JSON, JSR 356, WebSocket - Urban Traveler application; JSR 354, Money & Currency API.

• London Java Community: JSR 310, Date and Time API and JSR 335, Lambda Expressions (Martijn Verburg); myriad hack days, talks and events organized!

• SouJava: JSRs 310, 339, 344, and other JSRs; talks, books, articles, classes, code dojos:

● http://soujava.org.br/servicos/adopt-a-jsr/

Adopt-a-JSR Use Cases of Adopters

.

Copyright © 2014, Oracle and/or its aff iliates. All rights reserved. |

Java EE 8 Community Survey EE 8 Community Survey

Glassfish.org/survey

New JSRshttps://jcp.org/en/jsr/stage?listBy=active

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)

• Join the JCP as a JUG.– Not required, but recommended. You need to do this in order to contribute code,

and you get voting rights and other benef its with this membership!

• Join the Adopt-a-JSR project:– http://java.net/projects/adoptajsr/pages/Home– Subscribe to [email protected] (archive).

• Update the wiki to indicate your interest in a particular JSR and create a wiki page to provide updates on your plans/progress.

• Communicate directly with the Specif ication Lead/Expert Group (links on jcp.org) or the java.net users alias for the specif ication.

• Mail your JUG members to gather interest.• Outline what the JSR is and why the JUG should get involved; identify areas that you

want to work on; coordinate this with the Spec Lead • Share success on the wiki, list, twitter, etc.

How to get started on Adopt-a-JSR

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.

55

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.

56

Copyright © 2014, Oracle and/or its aff iliates. All rights reserved. |

Participate in Hack Days EE 8 Community Survey

Guidelines for Feedback

● The Specif ication Lead and the Expert Group has the f inal decision on incorporating the feedback.

● For specif ications in Public Draft, new feature requests may not be considered for this release. For specif ications in Early Draft, new features may be accepted if they are within the existing scope.

● Multiple JUGs can and should collaborate on a particular JSR. There is always plenty of work and going through the material multiple times only makes it that more better.

● When communicating with the Expert Group on mailing lists, include 'adoptajsr' in the subject line.

● When f iling issues/bugs, use 'adoptajsr' .

58

How will this help our JUG?

● Receive attention from local industry.● Become more professional – helps focus your group efforts.● Attract more developers to your community.● Be part of global movement – collaborate with other JUGs.

59

How will this help your company?

60

How will this help your company?

● Tomitribe joined the JCP in 2014.● Value to business, developers and the community.● Participates on f ive Java EE Expert Groups:

– Java EE 8, CDI, JSON-B, JMS, Security JSRs.

61

Java.net wiki

You expanded wiki into eight languages: Arabic, Chinese, English, French, German,Portuguese, Spanish, Turkish...you choose who will translate next language!

JDK 9 Outreach https://wiki.openjdk.java.net/display/Adoption/JDK+9+Outreach#JDK9Outreach-Introduction

Java EE JSRsJava EE Adopt-a-JSR page

Translated wiki - francais

Enter activity in the matrix

JSR example pageSR pageexample

List of Active JSRs (posting in last 12 months): http://jcp.org/en/jsr/all?status=Active&activeMonths=12 .

Jira example

Share Success

Add resources to GitHub

We want you!

• Follow the JCP online: http://JCP.org

– Join the JCP: https://jcp.org/en/participation/membership– Twitter @jcp_org #JCP – blogs.oracle.com/jcp– Facebook: Java Community Process

• Adopt-a-JSR online:http://adoptajsr.java.net. #adoptajsr

[email protected] - the global mailing list – IRC: #adoptajsr channel on irc.freenode.net– GitHub: https://github.com/Adopt-a-JSR

71

Let's get going!

If you want to go fast, go alone. If you want to go far, go together.

72

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

kiitos, xie xie,ありがとう .'Java is as Java Does' video link:http://youtu.be/abSsrGD-SRw?list=LLtu8aQVpYKMUKIzXPNyE6Mgh t t p ://www.slid e sh ar e .n e t /d e labasse e /d e v o xx-uk -ad o p t ajsr

h t t p ://fr .slid e sh ar e .n e t /an t o in e sd /ad o p t -jsr -cd i-2 0h t t p ://www.slid e sh ar e .n e t /h e at h e r v c/ad o p t ajsr -fo r -jso n -p r o ce ssin g -1 1 -jsr -3 7 4h t t p ://www.slid e sh ar e .n e t /e d bur n s/jsf-2 3 -ad o p t ajsr -1 0 -m in ut e -in fo d e ckh t t p ://www.slid e sh ar e .n e t /e d bur n s/se r v le t -4 0 -ad o p t ajsr -1 0 -m in ut e -in fo d e ck

h t t p ://www.slid e sh ar e .n e t /R ich ar d W ar bur t o n /h o w-t o -r un -a-h ack d ay

h t t p ://www.slid e sh ar e .n e t /n e o m at r ix3 6 9 /h o w-is-jd k jv m -built -back -t h e n -an d -n o w