SlideShare a Scribd company logo
1 of 64
Download to read offline
1 
Participate in the Future of Java - 
How the JCP Works & Adopt-a-JSR 
Program Overview for Paraguay JUG 
Heather VanCura 
December 2014 
http://jcp.org 
Twitter @heathervc
2 
Agenda 
• What is the JCP Program 
• How & Why to Participate 
• Adopt-a-JSR Program
3 
How the JCP works
4 
• Celebrating 15 years!
5 
For the community, by the community 
• The Java Community Process (JCP) is the open, inclusive 
process to develop and revise Java technology specifications 
(JSRs), reference implementations (RI), and technology 
compatibility kits (TCK). 
● The JCP program now has over 800 corporate, 
individual and Java User Group (JUG) members. 
● More than 370 Java technology specifications are in 
development in the JCP program; ~two thirds have 
reached Final Release. 
– Java EE 7 Final Release 2013. 
– Java SE 8 Final Release 2014. 
– Java ME 8 Final Release 2014.
6 
Deliverables
7 
How we do it 
• Java Specification Requests (JSRs) 
– A JSR is a single version of a Java specification. 
– JSRs are led by a community member (the Spec 
Lead), with a group of interested members (the 
Expert Group) helping with the day-to-day 
decisions and work. 
– Any community member can submit and lead a JSR. 
• Each Expert Group must deliver: 
– The Specification 
– The Reference Implementation (RI) 
– The Technology Compatibility Kit (TCK)
8 
Compatibility testing
9 
The compatibility triangle 
• Specification 
Can you build an 
implementation? 
Reference 
Implementation 
Is the specification 
unambiguous? 
Is the TCK correct? 
Does the RI conform? 
Technology 
Compatibility Kit
10 
The JSR development cycle
11 
Organization
12 
Roles 
• JCP Chair 
– Leads the organization and manages the PMO. 
• Program Management Office (PMO) 
– Manages day-to-day operations of the organization. 
• Executive Committee 
– Define JCP governance, processes, and contractual terms of 
membership. 
– Vote on JSRs at defined stages through the process. 
• Expert Groups 
– Create JSRs (write the spec, develop the RI and TCK.) 
• Members 
– Review specs, may participate in Expert Groups, vote in 
Executive Committee elections.
13 
The Executive Committee 
• Executive Committee (EC): 
– One EC for Java ME, Java SE and Java EE together; EC 
combined in 2013. 
– Annual elections reconfirm or replace one half of the 
members. 
• EC meets ~monthly by phone, 3 times a year face-to-face. 
• EC meeting minutes & materials are public. 
– See http://jcp.org/en/resources/EC_summaries. 
• We hold two public teleconferences and one public f2f meeting 
each year. 
• We have a public mailing list for feedback. 
– Sign up at http://java.net/projects/jcp-ec/lists.
14 
Who are the members? 
• Membership distribution by type: 
– 88% individual. 
– 8% corporate. 
– 4% non-profit. 
• Membership distribution by location: 
– 47% North America 
– 34% Europe and the Russian Federation 
– 13% Asia and the Middle East 
– 6% South America
15 
Levels of participation 
• Public Observer. 
• Members. 
• Review specs, may participate in Expert Groups, vote in 
Executive Committee elections; flexible time commitment. 
• Expert Group members. 
• Create JSRs (write the spec, develop the RI and TCK); 
expert in field, high time commitment, help drive the 
direction of the JSR; moderate time commitment. 
• Specification Leads. 
• Responsible for leading the JSR & Expert Group (EG), 
delivery of spec, RI & TCK; a leading expert in area of 
JSR; considerable time commitment and recognition. 
• Executive Committee members. 
• Define JCP governance, processes, and contractual terms 
of membership. Vote on JSRs at defined stages through the 
process. Moderate time commitment.
16 
Legal framework and governance 
• Java Specification Participation Agreement (JSPA) 
• A legal contract between members and Oracle. 
• Addresses Intellectual Property (IP) grants and the terms 
under which the spec, RI, and TCK should be licensed. 
• http://www.jcp.org/aboutJava/communityprocess/JSPA2.pdf. 
• The Process Document 
• Defines the governance of the organization. 
• Defines the processes that are used to submit define, 
develop, review, approve, and maintain specifications. 
• Defines the obligations to produce an RI and TCK. 
• http://jcp.org/en/procedures/jcp2.
17 
Constitutional change (JCP.next)
18 
JCP.next 
• A series of four JSRs: 
• JSR 348: Towards a new version of the Java Community 
Process completed in October 2011. 
• This JSR focused on relatively simple changes that we were able 
to implement within about six months. 
• JSR 355: Executive Committee Merge completed in October 
2013. 
• JSR 358: A major revision of the Java Community Process is 
in progress now. 
• This JSR will implement more complex changes and will 
modify the JSPA as well as the Process Document. 
• JSR 364: Broadening JCP Membership is in progress now. 
• This JSR will add new membership categories and enable 
increased participation in the JCP.
19 
Results so far 
• JSR 348 introduced version 2.8 of the Process. 
• JSR 355 introduced version 2.9 of the Process, merged the 
two ECs into one EC. 
• It is now easier for JCP members and the public to observe 
and participate in the work of Expert Groups. 
• Transparency is the default mode of operation. 
• All new JSRs will be bound by the new rules. 
• Existing JSRs voluntarily adopt them—almost all Active 
JSRs have. 
• Now we need your participation!
20 
That was easy!
21 
JSR 358: the lawyers will get involved
22 
JCP.next.4: JSR 364
23 
JSR 364, Broadening JCP Membership 
• 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 
from all members. 
• New Affiliate membership class for individuals with a much 
simpler membership agreement. 
• No lawyers and no employer approval required. 
• New Partner membership class for Java User Groups that are 
not legal entities. 
• Free membership for corporations. 
• In progress now – expected completion in early 2015.
24 
JCP is now 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!
25 
Get involved!
26 
Why should you get involved? 
• To move the entire Java ecosystem forward. 
● Help define the future of Java – best way to predict it. 
• To speed up the standards-development process. 
• To become part of the solution as opposed to staying 
silent. 
• To be at the forefront of new technology. 
• To ensure that Java standards are practical and relevant for 
the real world as opposed to the ivory tower. 
• We need expert input from end-users and developers. 
• To ensure that Java standards are truly global. 
• We need expert input from non-English speakers.
27 
What do you get? 
• As a corporation: 
• Influence over the technologies that drive your market. 
• Savings - it's cheaper than developing everything yourself. 
• Opportunities for your developers. 
• Increase in the size of your market. 
• Competitive advantage (ship new products faster.) 
• As an individual: 
• Acquire knowledge: Learn from experts, early access. 
• Better specifications based on real world experience. 
• Experience and skill development. 
• Professional Visibility: Curriculum, articles, presentations. 
• Fame and fortune – grow your reputation and network.
28 
Join the JCP 
• Join the JCP program as a corporation, non-profit,or 
individual member. 
• Free for non-profits, Java User Groups, and individuals! 
• See http://jcp.org/en/participation/membership2 
• Register for an account on JCP.org to become a public 
observer participant. 
• Download, fill out, and scan, fax or mail the JSPA form to 
the JCP Program Office to become a JCP Member.
Suggestions for Feedback 
• Download and review the latest version of the 
specification. 
29 
● Available from the JSR page or the corresponding 
java.net or GitHub project. 
● You don't need to necessarily review the entire 
specification; can focus on specific sections. 
• Download and review the javadocs for clarity and 
completeness—comment. 
• Build sample applications using the implementations. 
• Explore integration of one/multiple technologies with your 
existing applications. 
• File bugs on the corresponding spec or RI project.
30 
How will you participate? 
• As an individual – OK. 
• As part of a team – 
better. 
• Work through your 
JUG or employer. 
• Help each other. 
• Teach each other. 
• Work with each 
other.
31 
JUG members ~ 50 JUGs 
BeJUG (Belgium) 
BreizhJUG (Brittany) 
CeJUG (Brazil) 
Central Ohio JUG (USA) 
Connecticut JUG (USA) 
Detroit JUG (USA) 
Duchess (Women) 
FASOJUG (Burkina Faso) 
Green Tea JUG (China) 
Houston JUG (USA) 
iJUG e.V. (Germany) 
IndiJava (India) 
Japan JUG 
Java Student User Group (Vienna) 
Java Web User Group (London) 
Jozi JUG (South Africa) 
JUG-AFRICA 
JUG Chennai (India) 
JUG Cologne (Germany) 
JUG-EG (Egypt) 
JUGF (Germany) 
JUG Indonesia 
JUG-MK (Macedonia) 
JUG-RU (Russia) 
JUG-USA 
London Java Community (UK) 
Malaysia-JUG 
MoroccoJUG 
Nashville JUG (United States) 
Oklahoma City JUG (USA) 
Rio JUG (Brazil) 
Riviera JUG (France) 
Ruhrjug (Germany) 
Silicon Valley JavaFX User Group (USA) 
SouJava (Brazil) 
Utah JUG (USA) 
Vancouver Island JUG (Canada)
32 
Adopt a JSR! 
Thank you and
33 
What is it? 
• A JUG-lead initiative to improve Java standards. 
• Groups of JUG members work on JSRs. 
• See http://java.net/projects/adoptajsr for full details.
34 
2 Way Street
35 
How Will it Help your JUG? 
• Receive attention from industry. 
● Big vendors, local companies see the value of all your 
efforts. 
• Become more professional. 
● Participation requires organization and commitment— 
this helps promote focus in your group. 
• Attract people. 
● Developers working together has a global impact, and 
reaps personal benefits. 
• Collaborate with other JUGs. 
● Be part of something larger!
36 
JUGS Around the World!
37 
Adopt-a-JSR Adopters 
● 28+ JUGS participating: 
● South America: Campinas JUG (Brazil), ceJUG (Brazil), 
GOJava (Brazil), SouJava (Brazil), Brasilia, DF JUG 
(Brazil), GUJ Londrina (Brazil) Peru JUG, 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). 
● Asia: Indonesia JUG, JUG JogLoSemar (Indonesia), 
Hyderabad JUG (India), JUG Chennai (India). 
● Africa & Middle East: EGJUG (Egypt), Morocco JUG, 
Faso JUG (Africa), Jozi JUG (South Africa), Mbale 
(Uganda).
38 
Adopt-a-JSR Adopters 
● 30 JSRs 'adopted': 
● Java SE: JSR 308, 310, 335, 337. 
● Java EE 7 (& now Java EE JSRs coming): 107, 299, 338, 339, 
342, 343, 344, 345, 346, 349, 352, 353, 356. 
● JCP.Next: JSR 348, 355, 358, 364. 
● Misc.: JSR 321, 331, 347, 354. 
● Most popular: JSR 339, Java API for RESTful Web Services 
2.0, JSR 344, JavaServer Faces 2.2 & JSR 353, Java API for 
JSON Processing, being adopted by at least 5 JUGs.
39 
Use Cases of 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/ 
. 
.
Java EE JSRs - specific requests 
• Java EE JSRs have specific requests from Adopt-a-JSR 
participants. 
40 
● http://glassfish.java.net/adoptajsr/ 
• JSR 236, Concurrency Utilities for Java EE. 
• JSR 339, Java API for RESTful Web Services. 
• JSR 343, Java Message Service 2.0. 
• JSR 344, JavaServer Faces 2.2. 
• JSR 345, Enterprise JavaBeans 3.2 
• JSR 346, Contexts and Dependency Injection for Java EE 1.1. 
• JSR 352, Batch Applications for the Java Platform. 
• JSR 353, Java API for JSON Processing. 
• JSR 356, Java API for WebSocket.
41 
Adopter Experience 
• Java User Group Leaders and Members 
– Experience with Adopt-a-JSR 
• Gain knowledge 
• Experience with new technologies 
• Network opportunities 
•Make better standards
42 
Java EE 8 Community Survey 
Glassfish.org/survey
43 
Java EE 8 Possibilities 
• Web Standards/HTML5 Alignment 
– HTTP2, SSE, JSON-B, action-oriented web framework 
• Cloud 
– Simple security providers, multitenancy, REST 
management/monitoring 
• CDI Alignment 
– CDI 2, EJB services outside EJB, security interceptors, EJB 
pruning 
• Enterprise 
– JCache, Configuration, JMS 
• Java SE 8 alignment
44 
Java EE 8 JSR Status 
Already Here Forthcoming/ 
• 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) 
• Security (JSR 375) 
• Java EE Management 
(JSR 373) 
• JSON-P 1.1 (JSR 374) 
• WebSocket 1.x 
• JTA 1.3 
• Batch 1.1 
• JPA 2.2 
• Concurrency 1.1
45 
Adopt-a-JSR for Java EE 8 
• Make Java EE 8 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 specifications and Javadocs. 
• Try writing applications using early builds of the reference 
implementation. 
• Write or speak about the technology. 
• Encourage others to participate. 
• A number of JUGs have already signed up! 
http://glassfish.org/adoptajsr/
46 
Suggestions in early stages 
• For early stages of Java EE 8 JSRs, some tasks for 
Adopt-a-JSR participants: 
– Given a collection of JIRA issues 
• Ensure they have the right metadata 
• Ensure there is a SSCCE if applicable 
– Short, Self-contained, Correct, Compatible Example 
– Define use cases for potential new features 
– Proofread portions of the specification 
– Advocate for “non-supported” platforms
47 
How to get started on Adopt-a-JSR 
• 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 benefits with 
this membership! 
• Join the Adopt-a-JSR project: 
● http://java.net/projects/adoptajsr/pages/Home 
● Subscribe to members@adoptajsr.java.net (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 Specification Lead/Expert Group (links 
on jcp.org) or the java.net users alias for the specification. 
• 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.
48 
Java.net wiki 
You expanded wiki into eight languages: Arabic, Chinese, English, 
French, German, Portuguese, Spanish, Turkish...you choose who will 
translate next language!
49 
Translated wiki - francais
50 
List of Active JSRs
51 
Enter activity in the matrix
52 
JSR page example 
List of Active JSRs (posting in last 12 months): 
http://jcp.org/en/jsr/all?status=Active&activeMonths=12 .
53 
Java EE JSRs
54 
Jira example
55 
Share Success
56 
Add resources to GitHub
57 
How can you help - easy 
• Help to moderate 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 infrastructure & JSR visibility. 
• Help with Search Engine Optimization of website. 
• Ensure that downloads, mailing lists, issue trackers 
are easy to find.
58 
How else can you help - moderate 
• Organize Hack days. 
• Test the early RI builds; use them to find 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.
• The specification lead and the Expert Group make decisions on 
incorporating the feedback. 
• For specifications in Public Drafts, new feature requests may 
not be considered for this release. For specifications in Early 
Draft, new features may be accepted if they are within the 
existing scope. If new features are not accepted for this release, 
then they may be considered for the next release. 
• 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 EG on mailing lists, include 
"Adopt-a-JSR" in the subject line. 
• When filing a JIRA issue, use "adoptajsr" tag. 
• Use twitter hashtag #adoptajsr to give updates on progress, 
cc@jcp_org. 
59 
Guidelines for Feedback
60
61 
JCP is now 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!
62 
Putting the community back into the JCP 
• No more barriers to participation. 
• All members of the Java community can participate: 
• In the implemenation of the platform through 
OpenJDK and GlassFish. 
• In the evolution of the platform through the JCP 
and Adopt-a-JSR programs. 
• If you care about the future of Java...participate!
63 
Resources: find out more 
•JCP & Adopt-a-JSR online meeting-materials and recordings 
available: http://jcp.org/en/resources/multimedia 
•Follow the JCP online: http://JCP.org 
– Twitter @jcp_org 
– blogs.oracle.com/jcp 
– Facebook: Java Community Process 
•Adopt-a-JSR online:http://adoptajsr.java.net. 
– Twitter @adoptajsr 
– Facebook: AdoptaJSR 
– members@adoptajsr.java.net - the global mailing list 
– IRC: #adoptajsr channel on irc.freenode.net 
– GitHub: https://github.com/Adopt-a-JSR
64 
thank you, dziekuje, tak, tack, 
merci, grazie, gracias, danke, 
obrigado, bedankt, kiitos, xie xie, 
ありがとう.

More Related Content

Viewers also liked

Efficient JavaScript Unit Testing, March 2013
Efficient JavaScript Unit Testing, March 2013Efficient JavaScript Unit Testing, March 2013
Efficient JavaScript Unit Testing, March 2013Hazem Saleh
 
Beginning Android Flash Development - GTUG Edition
Beginning Android Flash Development - GTUG EditionBeginning Android Flash Development - GTUG Edition
Beginning Android Flash Development - GTUG EditionStephen Chin
 
OAuth you said
OAuth you saidOAuth you said
OAuth you saidOAuth.io
 
Raspberry pi on java at Java8 Launching Event in Japan
Raspberry pi on java at Java8 Launching Event in JapanRaspberry pi on java at Java8 Launching Event in Japan
Raspberry pi on java at Java8 Launching Event in JapanMasafumi Ohta
 
Pencils Down: Stop Designing & Start Developing
Pencils Down: Stop Designing & Start DevelopingPencils Down: Stop Designing & Start Developing
Pencils Down: Stop Designing & Start DevelopingAaron Hursman
 

Viewers also liked (6)

Efficient JavaScript Unit Testing, March 2013
Efficient JavaScript Unit Testing, March 2013Efficient JavaScript Unit Testing, March 2013
Efficient JavaScript Unit Testing, March 2013
 
Beginning Android Flash Development - GTUG Edition
Beginning Android Flash Development - GTUG EditionBeginning Android Flash Development - GTUG Edition
Beginning Android Flash Development - GTUG Edition
 
OAuth you said
OAuth you saidOAuth you said
OAuth you said
 
Raspberry pi on java at Java8 Launching Event in Japan
Raspberry pi on java at Java8 Launching Event in JapanRaspberry pi on java at Java8 Launching Event in Japan
Raspberry pi on java at Java8 Launching Event in Japan
 
20140521 Qcon資料
20140521 Qcon資料20140521 Qcon資料
20140521 Qcon資料
 
Pencils Down: Stop Designing & Start Developing
Pencils Down: Stop Designing & Start DevelopingPencils Down: Stop Designing & Start Developing
Pencils Down: Stop Designing & Start Developing
 

Similar to How the JCP Works & Adopt-a-Program Update for Paraguay JUG

JCP How to Participate @ JavaOne Russia
JCP How to Participate @ JavaOne RussiaJCP How to Participate @ JavaOne Russia
JCP How to Participate @ JavaOne RussiaHeather VanCura
 
Drive yourself, community with adopts and jcp to professionalism
Drive yourself, community with adopts and jcp to professionalismDrive yourself, community with adopts and jcp to professionalism
Drive yourself, community with adopts and jcp to professionalismMohamed Taman
 
Bringing Java into the Open - OSCON 2014
Bringing Java into the Open - OSCON 2014Bringing Java into the Open - OSCON 2014
Bringing Java into the Open - OSCON 2014Heather VanCura
 
Adopt-JSR-Workshop JavaOne 2013
Adopt-JSR-Workshop JavaOne 2013Adopt-JSR-Workshop JavaOne 2013
Adopt-JSR-Workshop JavaOne 2013Heather VanCura
 
Participate @JavaOne Brazil 2012
Participate @JavaOne Brazil 2012Participate @JavaOne Brazil 2012
Participate @JavaOne Brazil 2012Heather VanCura
 
JavaOne Latin America Participate in Shaping Java's Future
JavaOne Latin America Participate in Shaping Java's Future JavaOne Latin America Participate in Shaping Java's Future
JavaOne Latin America Participate in Shaping Java's Future Heather VanCura
 
Participate in the Future of Java May 2017
Participate in the Future of Java May 2017Participate in the Future of Java May 2017
Participate in the Future of Java May 2017Heather VanCura
 
Join the Java Evolution NYC
Join the Java Evolution NYCJoin the Java Evolution NYC
Join the Java Evolution NYCHeather VanCura
 
JCP.Next Panel at JavaOne
JCP.Next Panel at JavaOneJCP.Next Panel at JavaOne
JCP.Next Panel at JavaOneHeather VanCura
 
JCPParticipationOverviewJCertif
JCPParticipationOverviewJCertifJCPParticipationOverviewJCertif
JCPParticipationOverviewJCertifHeather VanCura
 
Adopt-a-JSR for Bucharest JUG
Adopt-a-JSR for Bucharest JUGAdopt-a-JSR for Bucharest JUG
Adopt-a-JSR for Bucharest JUGHeather VanCura
 
Java, JCP, Adopt-a-JSR & You DevNexus
Java, JCP, Adopt-a-JSR & You DevNexusJava, JCP, Adopt-a-JSR & You DevNexus
Java, JCP, Adopt-a-JSR & You DevNexusHeather VanCura
 

Similar to How the JCP Works & Adopt-a-Program Update for Paraguay JUG (20)

JCP How to Participate @ JavaOne Russia
JCP How to Participate @ JavaOne RussiaJCP How to Participate @ JavaOne Russia
JCP How to Participate @ JavaOne Russia
 
Devoxx UK BOF session
Devoxx UK BOF sessionDevoxx UK BOF session
Devoxx UK BOF session
 
JCP15Years
JCP15YearsJCP15Years
JCP15Years
 
Jcp fosdem2013
Jcp fosdem2013Jcp fosdem2013
Jcp fosdem2013
 
Drive yourself, community with adopts and jcp to professionalism
Drive yourself, community with adopts and jcp to professionalismDrive yourself, community with adopts and jcp to professionalism
Drive yourself, community with adopts and jcp to professionalism
 
Jcp devoxx-2012
Jcp devoxx-2012Jcp devoxx-2012
Jcp devoxx-2012
 
Bringing Java into the Open - OSCON 2014
Bringing Java into the Open - OSCON 2014Bringing Java into the Open - OSCON 2014
Bringing Java into the Open - OSCON 2014
 
NYSIG Quickie
NYSIG QuickieNYSIG Quickie
NYSIG Quickie
 
Devoxx UK Quickie 2015
Devoxx UK Quickie 2015Devoxx UK Quickie 2015
Devoxx UK Quickie 2015
 
Java+JCP+AdoptaJSR+You
Java+JCP+AdoptaJSR+YouJava+JCP+AdoptaJSR+You
Java+JCP+AdoptaJSR+You
 
PublicECMeetingMay2015
PublicECMeetingMay2015PublicECMeetingMay2015
PublicECMeetingMay2015
 
Adopt-JSR-Workshop JavaOne 2013
Adopt-JSR-Workshop JavaOne 2013Adopt-JSR-Workshop JavaOne 2013
Adopt-JSR-Workshop JavaOne 2013
 
Participate @JavaOne Brazil 2012
Participate @JavaOne Brazil 2012Participate @JavaOne Brazil 2012
Participate @JavaOne Brazil 2012
 
JavaOne Latin America Participate in Shaping Java's Future
JavaOne Latin America Participate in Shaping Java's Future JavaOne Latin America Participate in Shaping Java's Future
JavaOne Latin America Participate in Shaping Java's Future
 
Participate in the Future of Java May 2017
Participate in the Future of Java May 2017Participate in the Future of Java May 2017
Participate in the Future of Java May 2017
 
Join the Java Evolution NYC
Join the Java Evolution NYCJoin the Java Evolution NYC
Join the Java Evolution NYC
 
JCP.Next Panel at JavaOne
JCP.Next Panel at JavaOneJCP.Next Panel at JavaOne
JCP.Next Panel at JavaOne
 
JCPParticipationOverviewJCertif
JCPParticipationOverviewJCertifJCPParticipationOverviewJCertif
JCPParticipationOverviewJCertif
 
Adopt-a-JSR for Bucharest JUG
Adopt-a-JSR for Bucharest JUGAdopt-a-JSR for Bucharest JUG
Adopt-a-JSR for Bucharest JUG
 
Java, JCP, Adopt-a-JSR & You DevNexus
Java, JCP, Adopt-a-JSR & You DevNexusJava, JCP, Adopt-a-JSR & You DevNexus
Java, JCP, Adopt-a-JSR & You DevNexus
 

More from Heather VanCura

2019 JCP Program Year End Summary
2019 JCP Program Year End Summary2019 JCP Program Year End Summary
2019 JCP Program Year End SummaryHeather VanCura
 
MISK Global Forum - Building an Inclusive Workforce
MISK Global Forum - Building an Inclusive WorkforceMISK Global Forum - Building an Inclusive Workforce
MISK Global Forum - Building an Inclusive WorkforceHeather VanCura
 
2018 JCP Year End Summary
2018 JCP Year End Summary2018 JCP Year End Summary
2018 JCP Year End SummaryHeather VanCura
 
JCP 20 Years Infographic
JCP 20 Years InfographicJCP 20 Years Infographic
JCP 20 Years InfographicHeather VanCura
 
The Future of Java and You
The Future of Java and YouThe Future of Java and You
The Future of Java and YouHeather VanCura
 
Bringing Java into the Open
Bringing Java into the Open Bringing Java into the Open
Bringing Java into the Open Heather VanCura
 
Future of Java & You Latin America 2018
Future of Java & You Latin America 2018Future of Java & You Latin America 2018
Future of Java & You Latin America 2018Heather VanCura
 
The Future of Java and You
The Future of Java and YouThe Future of Java and You
The Future of Java and YouHeather VanCura
 
Heather How To Ally Ignite Talk
Heather How To Ally Ignite TalkHeather How To Ally Ignite Talk
Heather How To Ally Ignite TalkHeather VanCura
 
JavaOne Tutorial Techniques for Getting More Kids, Especially Girls, Involved...
JavaOne Tutorial Techniques for Getting More Kids, Especially Girls, Involved...JavaOne Tutorial Techniques for Getting More Kids, Especially Girls, Involved...
JavaOne Tutorial Techniques for Getting More Kids, Especially Girls, Involved...Heather VanCura
 
JCP & The Future of Java
JCP & The Future of JavaJCP & The Future of Java
JCP & The Future of JavaHeather VanCura
 
Adopt-a-JSR Program Update
Adopt-a-JSR Program UpdateAdopt-a-JSR Program Update
Adopt-a-JSR Program UpdateHeather VanCura
 
Valencia EMEA Java User Group Summit
Valencia EMEA Java User Group SummitValencia EMEA Java User Group Summit
Valencia EMEA Java User Group SummitHeather VanCura
 
Advance your Career and Help Define Java’s Future
Advance your Career and Help Define Java’s FutureAdvance your Career and Help Define Java’s Future
Advance your Career and Help Define Java’s FutureHeather VanCura
 
Heather VanCuraIntroductionEMEASummit2017
Heather VanCuraIntroductionEMEASummit2017Heather VanCuraIntroductionEMEASummit2017
Heather VanCuraIntroductionEMEASummit2017Heather VanCura
 
2016 JCP Year End Summary
2016 JCP Year End Summary2016 JCP Year End Summary
2016 JCP Year End SummaryHeather VanCura
 

More from Heather VanCura (20)

2019 JCP Program Year End Summary
2019 JCP Program Year End Summary2019 JCP Program Year End Summary
2019 JCP Program Year End Summary
 
MISK Global Forum - Building an Inclusive Workforce
MISK Global Forum - Building an Inclusive WorkforceMISK Global Forum - Building an Inclusive Workforce
MISK Global Forum - Building an Inclusive Workforce
 
JCP 20 Year Anniversary
JCP 20 Year AnniversaryJCP 20 Year Anniversary
JCP 20 Year Anniversary
 
2018 JCP Year End Summary
2018 JCP Year End Summary2018 JCP Year End Summary
2018 JCP Year End Summary
 
JCP 20 Years Infographic
JCP 20 Years InfographicJCP 20 Years Infographic
JCP 20 Years Infographic
 
APAC Tour 2019 update
APAC Tour 2019 updateAPAC Tour 2019 update
APAC Tour 2019 update
 
The Future of Java and You
The Future of Java and YouThe Future of Java and You
The Future of Java and You
 
Bringing Java into the Open
Bringing Java into the Open Bringing Java into the Open
Bringing Java into the Open
 
Future of Java & You Latin America 2018
Future of Java & You Latin America 2018Future of Java & You Latin America 2018
Future of Java & You Latin America 2018
 
The Future of Java and You
The Future of Java and YouThe Future of Java and You
The Future of Java and You
 
Heather How To Ally Ignite Talk
Heather How To Ally Ignite TalkHeather How To Ally Ignite Talk
Heather How To Ally Ignite Talk
 
JUG Tour November 2017
JUG Tour November 2017JUG Tour November 2017
JUG Tour November 2017
 
Java, the JCP & YOU
Java, the JCP & YOU Java, the JCP & YOU
Java, the JCP & YOU
 
JavaOne Tutorial Techniques for Getting More Kids, Especially Girls, Involved...
JavaOne Tutorial Techniques for Getting More Kids, Especially Girls, Involved...JavaOne Tutorial Techniques for Getting More Kids, Especially Girls, Involved...
JavaOne Tutorial Techniques for Getting More Kids, Especially Girls, Involved...
 
JCP & The Future of Java
JCP & The Future of JavaJCP & The Future of Java
JCP & The Future of Java
 
Adopt-a-JSR Program Update
Adopt-a-JSR Program UpdateAdopt-a-JSR Program Update
Adopt-a-JSR Program Update
 
Valencia EMEA Java User Group Summit
Valencia EMEA Java User Group SummitValencia EMEA Java User Group Summit
Valencia EMEA Java User Group Summit
 
Advance your Career and Help Define Java’s Future
Advance your Career and Help Define Java’s FutureAdvance your Career and Help Define Java’s Future
Advance your Career and Help Define Java’s Future
 
Heather VanCuraIntroductionEMEASummit2017
Heather VanCuraIntroductionEMEASummit2017Heather VanCuraIntroductionEMEASummit2017
Heather VanCuraIntroductionEMEASummit2017
 
2016 JCP Year End Summary
2016 JCP Year End Summary2016 JCP Year End Summary
2016 JCP Year End Summary
 

Recently uploaded

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

How the JCP Works & Adopt-a-Program Update for Paraguay JUG

  • 1. 1 Participate in the Future of Java - How the JCP Works & Adopt-a-JSR Program Overview for Paraguay JUG Heather VanCura December 2014 http://jcp.org Twitter @heathervc
  • 2. 2 Agenda • What is the JCP Program • How & Why to Participate • Adopt-a-JSR Program
  • 3. 3 How the JCP works
  • 4. 4 • Celebrating 15 years!
  • 5. 5 For the community, by the community • The Java Community Process (JCP) is the open, inclusive process to develop and revise Java technology specifications (JSRs), reference implementations (RI), and technology compatibility kits (TCK). ● The JCP program now has over 800 corporate, individual and Java User Group (JUG) members. ● More than 370 Java technology specifications are in development in the JCP program; ~two thirds have reached Final Release. – Java EE 7 Final Release 2013. – Java SE 8 Final Release 2014. – Java ME 8 Final Release 2014.
  • 7. 7 How we do it • Java Specification Requests (JSRs) – A JSR is a single version of a Java specification. – JSRs are led by a community member (the Spec Lead), with a group of interested members (the Expert Group) helping with the day-to-day decisions and work. – Any community member can submit and lead a JSR. • Each Expert Group must deliver: – The Specification – The Reference Implementation (RI) – The Technology Compatibility Kit (TCK)
  • 9. 9 The compatibility triangle • Specification Can you build an implementation? Reference Implementation Is the specification unambiguous? Is the TCK correct? Does the RI conform? Technology Compatibility Kit
  • 10. 10 The JSR development cycle
  • 12. 12 Roles • JCP Chair – Leads the organization and manages the PMO. • Program Management Office (PMO) – Manages day-to-day operations of the organization. • Executive Committee – Define JCP governance, processes, and contractual terms of membership. – Vote on JSRs at defined stages through the process. • Expert Groups – Create JSRs (write the spec, develop the RI and TCK.) • Members – Review specs, may participate in Expert Groups, vote in Executive Committee elections.
  • 13. 13 The Executive Committee • Executive Committee (EC): – One EC for Java ME, Java SE and Java EE together; EC combined in 2013. – Annual elections reconfirm or replace one half of the members. • EC meets ~monthly by phone, 3 times a year face-to-face. • EC meeting minutes & materials are public. – See http://jcp.org/en/resources/EC_summaries. • We hold two public teleconferences and one public f2f meeting each year. • We have a public mailing list for feedback. – Sign up at http://java.net/projects/jcp-ec/lists.
  • 14. 14 Who are the members? • Membership distribution by type: – 88% individual. – 8% corporate. – 4% non-profit. • Membership distribution by location: – 47% North America – 34% Europe and the Russian Federation – 13% Asia and the Middle East – 6% South America
  • 15. 15 Levels of participation • Public Observer. • Members. • Review specs, may participate in Expert Groups, vote in Executive Committee elections; flexible time commitment. • Expert Group members. • Create JSRs (write the spec, develop the RI and TCK); expert in field, high time commitment, help drive the direction of the JSR; moderate time commitment. • Specification Leads. • Responsible for leading the JSR & Expert Group (EG), delivery of spec, RI & TCK; a leading expert in area of JSR; considerable time commitment and recognition. • Executive Committee members. • Define JCP governance, processes, and contractual terms of membership. Vote on JSRs at defined stages through the process. Moderate time commitment.
  • 16. 16 Legal framework and governance • Java Specification Participation Agreement (JSPA) • A legal contract between members and Oracle. • Addresses Intellectual Property (IP) grants and the terms under which the spec, RI, and TCK should be licensed. • http://www.jcp.org/aboutJava/communityprocess/JSPA2.pdf. • The Process Document • Defines the governance of the organization. • Defines the processes that are used to submit define, develop, review, approve, and maintain specifications. • Defines the obligations to produce an RI and TCK. • http://jcp.org/en/procedures/jcp2.
  • 18. 18 JCP.next • A series of four JSRs: • JSR 348: Towards a new version of the Java Community Process completed in October 2011. • This JSR focused on relatively simple changes that we were able to implement within about six months. • JSR 355: Executive Committee Merge completed in October 2013. • JSR 358: A major revision of the Java Community Process is in progress now. • This JSR will implement more complex changes and will modify the JSPA as well as the Process Document. • JSR 364: Broadening JCP Membership is in progress now. • This JSR will add new membership categories and enable increased participation in the JCP.
  • 19. 19 Results so far • JSR 348 introduced version 2.8 of the Process. • JSR 355 introduced version 2.9 of the Process, merged the two ECs into one EC. • It is now easier for JCP members and the public to observe and participate in the work of Expert Groups. • Transparency is the default mode of operation. • All new JSRs will be bound by the new rules. • Existing JSRs voluntarily adopt them—almost all Active JSRs have. • Now we need your participation!
  • 20. 20 That was easy!
  • 21. 21 JSR 358: the lawyers will get involved
  • 23. 23 JSR 364, Broadening JCP Membership • 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 from all members. • New Affiliate membership class for individuals with a much simpler membership agreement. • No lawyers and no employer approval required. • New Partner membership class for Java User Groups that are not legal entities. • Free membership for corporations. • In progress now – expected completion in early 2015.
  • 24. 24 JCP is now 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!
  • 26. 26 Why should you get involved? • To move the entire Java ecosystem forward. ● Help define the future of Java – best way to predict it. • To speed up the standards-development process. • To become part of the solution as opposed to staying silent. • To be at the forefront of new technology. • To ensure that Java standards are practical and relevant for the real world as opposed to the ivory tower. • We need expert input from end-users and developers. • To ensure that Java standards are truly global. • We need expert input from non-English speakers.
  • 27. 27 What do you get? • As a corporation: • Influence over the technologies that drive your market. • Savings - it's cheaper than developing everything yourself. • Opportunities for your developers. • Increase in the size of your market. • Competitive advantage (ship new products faster.) • As an individual: • Acquire knowledge: Learn from experts, early access. • Better specifications based on real world experience. • Experience and skill development. • Professional Visibility: Curriculum, articles, presentations. • Fame and fortune – grow your reputation and network.
  • 28. 28 Join the JCP • Join the JCP program as a corporation, non-profit,or individual member. • Free for non-profits, Java User Groups, and individuals! • See http://jcp.org/en/participation/membership2 • Register for an account on JCP.org to become a public observer participant. • Download, fill out, and scan, fax or mail the JSPA form to the JCP Program Office to become a JCP Member.
  • 29. Suggestions for Feedback • Download and review the latest version of the specification. 29 ● Available from the JSR page or the corresponding java.net or GitHub project. ● You don't need to necessarily review the entire specification; can focus on specific sections. • Download and review the javadocs for clarity and completeness—comment. • Build sample applications using the implementations. • Explore integration of one/multiple technologies with your existing applications. • File bugs on the corresponding spec or RI project.
  • 30. 30 How will you participate? • As an individual – OK. • As part of a team – better. • Work through your JUG or employer. • Help each other. • Teach each other. • Work with each other.
  • 31. 31 JUG members ~ 50 JUGs BeJUG (Belgium) BreizhJUG (Brittany) CeJUG (Brazil) Central Ohio JUG (USA) Connecticut JUG (USA) Detroit JUG (USA) Duchess (Women) FASOJUG (Burkina Faso) Green Tea JUG (China) Houston JUG (USA) iJUG e.V. (Germany) IndiJava (India) Japan JUG Java Student User Group (Vienna) Java Web User Group (London) Jozi JUG (South Africa) JUG-AFRICA JUG Chennai (India) JUG Cologne (Germany) JUG-EG (Egypt) JUGF (Germany) JUG Indonesia JUG-MK (Macedonia) JUG-RU (Russia) JUG-USA London Java Community (UK) Malaysia-JUG MoroccoJUG Nashville JUG (United States) Oklahoma City JUG (USA) Rio JUG (Brazil) Riviera JUG (France) Ruhrjug (Germany) Silicon Valley JavaFX User Group (USA) SouJava (Brazil) Utah JUG (USA) Vancouver Island JUG (Canada)
  • 32. 32 Adopt a JSR! Thank you and
  • 33. 33 What is it? • A JUG-lead initiative to improve Java standards. • Groups of JUG members work on JSRs. • See http://java.net/projects/adoptajsr for full details.
  • 34. 34 2 Way Street
  • 35. 35 How Will it Help your JUG? • Receive attention from industry. ● Big vendors, local companies see the value of all your efforts. • Become more professional. ● Participation requires organization and commitment— this helps promote focus in your group. • Attract people. ● Developers working together has a global impact, and reaps personal benefits. • Collaborate with other JUGs. ● Be part of something larger!
  • 36. 36 JUGS Around the World!
  • 37. 37 Adopt-a-JSR Adopters ● 28+ JUGS participating: ● South America: Campinas JUG (Brazil), ceJUG (Brazil), GOJava (Brazil), SouJava (Brazil), Brasilia, DF JUG (Brazil), GUJ Londrina (Brazil) Peru JUG, 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). ● Asia: Indonesia JUG, JUG JogLoSemar (Indonesia), Hyderabad JUG (India), JUG Chennai (India). ● Africa & Middle East: EGJUG (Egypt), Morocco JUG, Faso JUG (Africa), Jozi JUG (South Africa), Mbale (Uganda).
  • 38. 38 Adopt-a-JSR Adopters ● 30 JSRs 'adopted': ● Java SE: JSR 308, 310, 335, 337. ● Java EE 7 (& now Java EE JSRs coming): 107, 299, 338, 339, 342, 343, 344, 345, 346, 349, 352, 353, 356. ● JCP.Next: JSR 348, 355, 358, 364. ● Misc.: JSR 321, 331, 347, 354. ● Most popular: JSR 339, Java API for RESTful Web Services 2.0, JSR 344, JavaServer Faces 2.2 & JSR 353, Java API for JSON Processing, being adopted by at least 5 JUGs.
  • 39. 39 Use Cases of 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/ . .
  • 40. Java EE JSRs - specific requests • Java EE JSRs have specific requests from Adopt-a-JSR participants. 40 ● http://glassfish.java.net/adoptajsr/ • JSR 236, Concurrency Utilities for Java EE. • JSR 339, Java API for RESTful Web Services. • JSR 343, Java Message Service 2.0. • JSR 344, JavaServer Faces 2.2. • JSR 345, Enterprise JavaBeans 3.2 • JSR 346, Contexts and Dependency Injection for Java EE 1.1. • JSR 352, Batch Applications for the Java Platform. • JSR 353, Java API for JSON Processing. • JSR 356, Java API for WebSocket.
  • 41. 41 Adopter Experience • Java User Group Leaders and Members – Experience with Adopt-a-JSR • Gain knowledge • Experience with new technologies • Network opportunities •Make better standards
  • 42. 42 Java EE 8 Community Survey Glassfish.org/survey
  • 43. 43 Java EE 8 Possibilities • Web Standards/HTML5 Alignment – HTTP2, SSE, JSON-B, action-oriented web framework • Cloud – Simple security providers, multitenancy, REST management/monitoring • CDI Alignment – CDI 2, EJB services outside EJB, security interceptors, EJB pruning • Enterprise – JCache, Configuration, JMS • Java SE 8 alignment
  • 44. 44 Java EE 8 JSR Status Already Here Forthcoming/ • 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) • Security (JSR 375) • Java EE Management (JSR 373) • JSON-P 1.1 (JSR 374) • WebSocket 1.x • JTA 1.3 • Batch 1.1 • JPA 2.2 • Concurrency 1.1
  • 45. 45 Adopt-a-JSR for Java EE 8 • Make Java EE 8 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 specifications and Javadocs. • Try writing applications using early builds of the reference implementation. • Write or speak about the technology. • Encourage others to participate. • A number of JUGs have already signed up! http://glassfish.org/adoptajsr/
  • 46. 46 Suggestions in early stages • For early stages of Java EE 8 JSRs, some tasks for Adopt-a-JSR participants: – Given a collection of JIRA issues • Ensure they have the right metadata • Ensure there is a SSCCE if applicable – Short, Self-contained, Correct, Compatible Example – Define use cases for potential new features – Proofread portions of the specification – Advocate for “non-supported” platforms
  • 47. 47 How to get started on Adopt-a-JSR • 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 benefits with this membership! • Join the Adopt-a-JSR project: ● http://java.net/projects/adoptajsr/pages/Home ● Subscribe to members@adoptajsr.java.net (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 Specification Lead/Expert Group (links on jcp.org) or the java.net users alias for the specification. • 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.
  • 48. 48 Java.net wiki You expanded wiki into eight languages: Arabic, Chinese, English, French, German, Portuguese, Spanish, Turkish...you choose who will translate next language!
  • 49. 49 Translated wiki - francais
  • 50. 50 List of Active JSRs
  • 51. 51 Enter activity in the matrix
  • 52. 52 JSR page example List of Active JSRs (posting in last 12 months): http://jcp.org/en/jsr/all?status=Active&activeMonths=12 .
  • 53. 53 Java EE JSRs
  • 56. 56 Add resources to GitHub
  • 57. 57 How can you help - easy • Help to moderate 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 infrastructure & JSR visibility. • Help with Search Engine Optimization of website. • Ensure that downloads, mailing lists, issue trackers are easy to find.
  • 58. 58 How else can you help - moderate • Organize Hack days. • Test the early RI builds; use them to find 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.
  • 59. • The specification lead and the Expert Group make decisions on incorporating the feedback. • For specifications in Public Drafts, new feature requests may not be considered for this release. For specifications in Early Draft, new features may be accepted if they are within the existing scope. If new features are not accepted for this release, then they may be considered for the next release. • 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 EG on mailing lists, include "Adopt-a-JSR" in the subject line. • When filing a JIRA issue, use "adoptajsr" tag. • Use twitter hashtag #adoptajsr to give updates on progress, cc@jcp_org. 59 Guidelines for Feedback
  • 60. 60
  • 61. 61 JCP is now 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!
  • 62. 62 Putting the community back into the JCP • No more barriers to participation. • All members of the Java community can participate: • In the implemenation of the platform through OpenJDK and GlassFish. • In the evolution of the platform through the JCP and Adopt-a-JSR programs. • If you care about the future of Java...participate!
  • 63. 63 Resources: find out more •JCP & Adopt-a-JSR online meeting-materials and recordings available: http://jcp.org/en/resources/multimedia •Follow the JCP online: http://JCP.org – Twitter @jcp_org – blogs.oracle.com/jcp – Facebook: Java Community Process •Adopt-a-JSR online:http://adoptajsr.java.net. – Twitter @adoptajsr – Facebook: AdoptaJSR – members@adoptajsr.java.net - the global mailing list – IRC: #adoptajsr channel on irc.freenode.net – GitHub: https://github.com/Adopt-a-JSR
  • 64. 64 thank you, dziekuje, tak, tack, merci, grazie, gracias, danke, obrigado, bedankt, kiitos, xie xie, ありがとう.