SlideShare a Scribd company logo
1 of 47
Download to read offline
Bringing Java into
the Open
Heather VanCura
@heathervc
22 July 2014
OSCON
http://jcp.org
@jcp_org
2
Agenda
• Background
• Evolution
• Future directions discussion – Patrick Curran (JCP Chair)
• Upcoming planned updates
3
Who are we?
• JCP Program Office
4
How the JCP works
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 has over 1,000 corporate, individual
and Java User Group (JUG) members, & 12,000
registered users.
● More than 350 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
Organization
7
The compatibility triangle
• Specification
Reference
Implementation
Can you build an
implementation?
Is the specification
unambiguous?
Is the TCK correct?
Does the RI conform?
Technology
Compatibility Kit
8
The JSR development cycle
9
Thanks to Java Community!
10
JCP 2.0
JCP 2.5/JSPA 2
JCP.Next
JCP 2.8
1998 2000 2014
JCP 1.0
2006 2012
JCP.Next
JCP 2.10
JCP.Next
JCP 2.9
Java
OpenJDK & Glassfish
20021995 2011
11
Java – Hello World: 1995
• Led by James Gosling, the Green Team worked around the
clock and created the programming language that would
revolutionize our world – Java.
12
JCP 1.0: 1999
• At the Javitz Center in New York City, December 1998, Alan
Baratz, then president of Sun's JavaSoft business unit,
officially announced the JCP 1.0 program.
13
An International Effort
North America
Europe & Russia
Asia & Middle East
South America
● Membership by region● Membership from 70
countries
14
JCP 2.0: 2000
• Introduction of two Executive Committees as decision
makers.
• JCP Members for lead projects, aka JSRs.
• Joint copyright for Members leading JSRs.
• Java Standard Edition (J2SE) 1.3, Java Enterprise Edition
(Java EE) 1.2 - December 1999.
15
JCP 2.5: 2002
• Revised the JCP and the JSPA to embrace open source.
Enable open source licenses, independent implementations
and Individual participation.
• J2SE 1.4 & J2EE released 1.4
16
JCP 2.5: Catalyst for change
●
Membership in 2002
Corporations
Individuals
Non-Profits
Corporations
Individuals
Non-profits
● Membership in 2014
17
Open Source projects: 2006
• Sun initiates open source projects for Reference
Implementations:
● OpenJDK for Java SE
● Glassfish for Java EE
18
JCP 2.6, JCP 2.7: 2004-2007
• Java Platform releases: Java SE 6 (2006), Java EE 5 (2006),
Java ME (2005).
• JCP process changes focused on increased agility and
participation.
19
Acquisition: 2010
• Sun is acquired.
20
JCP.next
• A series of four JSRs:
• JSR 348: Towards a new version of the Java Community
Process completed Oct 2011. √
• JSR 355: Executive Committee Merge completed Oct 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 aims to broaden JCP membership by creating new
membership classes. Plan to complete in 2014.
21
JCP 2.8: 2011
• JCP.Next effort starts - no more smoke filled rooms!
• Java SE 7 released – Yeah (since last release 5 years ago)!
22
Adopt a JSR!
Thank you and
23
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.
24
JUGS Around the World Adopt JSRs!
25
JCP 2.9: 2012-2013
• Merged two Executive Committees into one.
26
Major Java Releases - 2013-2014
• Revolutionary Java 8 release in 2014 – Java SE 8 & Java ME 8
& Embedded Profile!
• Java EE 7 release in 2013 – significant community
contributions!
27
• 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!
JCP is now more open than before
28
That was easy!
29
Constitutional change (JCP.next)
30
JCP.next.3 (JSR 358)
31
Modifying the JSPA
• The JSPA has not been significantly modified since 2002.
• Since then the organization and the environment in which we
operate have changed significantly.
• Most significantly, the widespread adoption of open-source
licensing and development practices.
• The document is long overdue for updating and cleanup.
• However, it is very complicated and difficult to understand.
• We must be very careful when making changes.
• Plus…
32
Now the lawyers are involved!
33
Why it matters
• The JSPA defines the way in which Intellectual Property (IP)
rights are granted and the terms under which the Spec, RI, and
TCK must be licensed.
• We must make sure that the technologies we incorporate into
Java are "safe" from an IP perspective, so that people can
implement them and use them with confidence.
34
Our shopping-list
See this presentation and the Issue Tracker for full details.
Our efforts to date have been focused on the items listed in red.
• Independent Implementations
• Compatibility
• Licensing and open source
• Transparency
• Patent policy
• The role of individuals
• Fee structure
• The role of the RI
• TCK changes
• Expert Group dissolution
• IP flow
• Withdrawal of IP
• End of life for JSRs
• Escrow process
• Refactor the JSPA
• Collaboration with other SDOs
35
Progress so far
• Our initial focus was in two areas:
• IP policy, licensing, and open-source.
• The role of individual members in the JCP.
• Each was driven by a Working Group.
• The Working Groups meet regularly, and report back to the
Executive Committee (the Expert Group for JCP.next JSRs)
at the monthly EC meetings.
• See the public EC meeting summaries for their latest
reports.
36
JSR 358 goals
• Maintain compatibility guarantees.
• Embrace open-source licensing and development processes.
• Developer access to TCKs.
• Simplify IP-flow and licensing models.
37
Strong compatibility
• All JSRs will be covered by a standard Spec license that
includes strong compatibility requirements.
• All implementations must pass the TCK.
38
Embrace open source
• Reference Implementations must be developed through
open-source projects and released under open-source
licenses.
39
Developer access to TCKs
• All TCKs must be made available under a Community TCK
License to those who participate in the RI-development
projects.
40
Simplify IP-flow and licensing models
• The current JSPA has a very complicated IP-flow, with IP
passing from contributors through the Spec Lead to
implementers and end-users.
• We hope to simplify that…
41
Follow us on java.net
• Of course, we do all our work in public.
• Start with our public java.net project.
• There you will find links to:
• The Observer mailing list (all Expert Group mail is copied
here).
• The Issue Tracker.
• The Document Archive (our meeting minutes and working
documents are published here).
• Let us know what you think.
• Help us to do the right thing!
42
JCP.next.4 (JSR 364): 2014
43
● Create a new Affiliate membership class specifically
tailored towards individuals.
● Create a new Partner membership class specifically
tailored towards JUGs that are not legal entities.
● Waive all membership fees to remove the incentive for
corporations to encourage their employees to represent
them as individual members.
JSR 364 Proposal
44
● Observer
● Partner member
● Affiliate member
● Full member
● Associate of Full member
Proposed Membership Classes
45
Membership Chart
46
Bringing Java into the open
• 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!
47
Create the future Java!
● Follow the JCP online: http://JCP.org or
@jcp_org
● Join the Projects for JSRs that interest you:
● Java EE 8 JSRs starting soon
● JCP.Next JSRs:
● https://java.net/projects/jsr358/pages/Home
● https://java.net/projects/jcpnext4/pages/Home
● Adopt-a-JSR
● https://java.net/projects/adoptajsr/pages/Home
● Contribute to RI for Java SE & Java EE
● http://openjdk.java.net/
● https://glassfish.java.net/

More Related Content

Similar to Bringing Java into the Open: JCP Evolution and Future Directions

JCP.Next Panel at JavaOne
JCP.Next Panel at JavaOneJCP.Next Panel at JavaOne
JCP.Next Panel at JavaOneHeather VanCura
 
Participate @JavaOne Brazil 2012
Participate @JavaOne Brazil 2012Participate @JavaOne Brazil 2012
Participate @JavaOne Brazil 2012Heather VanCura
 
JCP Participation for ColumbiaJUG
JCP Participation for ColumbiaJUGJCP Participation for ColumbiaJUG
JCP Participation for ColumbiaJUGHeather VanCura
 
Jcp user groupsummit-2013
Jcp user groupsummit-2013Jcp user groupsummit-2013
Jcp user groupsummit-2013Heather VanCura
 
How the JCP Works & Adopt-a-Program Update for Paraguay JUG
How the JCP Works & Adopt-a-Program Update for Paraguay JUGHow the JCP Works & Adopt-a-Program Update for Paraguay JUG
How the JCP Works & Adopt-a-Program Update for Paraguay JUGHeather VanCura
 
JCP & Adopt-a-JSR @ GeeCon
JCP & Adopt-a-JSR @ GeeConJCP & Adopt-a-JSR @ GeeCon
JCP & Adopt-a-JSR @ GeeConHeather VanCura
 
Join the Java Evolution for Victoria JUG
Join the Java Evolution for Victoria JUGJoin the Java Evolution for Victoria JUG
Join the Java Evolution for Victoria JUGHeather VanCura
 
Join the Java Evolution Baltimore/DC/Philly
Join the Java Evolution Baltimore/DC/PhillyJoin the Java Evolution Baltimore/DC/Philly
Join the Java Evolution Baltimore/DC/PhillyHeather VanCura
 
How to Participate Devoxx 2013 Quickie
How to Participate Devoxx 2013 QuickieHow to Participate Devoxx 2013 Quickie
How to Participate Devoxx 2013 QuickieHeather 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
 
Join the Java Evolution NYC
Join the Java Evolution NYCJoin the Java Evolution NYC
Join the Java Evolution NYCHeather VanCura
 
JCP How to Participate @ JavaOne Russia
JCP How to Participate @ JavaOne RussiaJCP How to Participate @ JavaOne Russia
JCP How to Participate @ JavaOne RussiaHeather 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
 
JavaEvolutionTalkUtahJUG
JavaEvolutionTalkUtahJUGJavaEvolutionTalkUtahJUG
JavaEvolutionTalkUtahJUGHeather VanCura
 
JCPParticipationOverviewJCertif
JCPParticipationOverviewJCertifJCPParticipationOverviewJCertif
JCPParticipationOverviewJCertifHeather VanCura
 

Similar to Bringing Java into the Open: JCP Evolution and Future Directions (20)

JCP.Next Panel at JavaOne
JCP.Next Panel at JavaOneJCP.Next Panel at JavaOne
JCP.Next Panel at JavaOne
 
Participate @JavaOne Brazil 2012
Participate @JavaOne Brazil 2012Participate @JavaOne Brazil 2012
Participate @JavaOne Brazil 2012
 
JCP Participation for ColumbiaJUG
JCP Participation for ColumbiaJUGJCP Participation for ColumbiaJUG
JCP Participation for ColumbiaJUG
 
FosdemJavaDevRoom2015
FosdemJavaDevRoom2015FosdemJavaDevRoom2015
FosdemJavaDevRoom2015
 
Jcp user groupsummit-2013
Jcp user groupsummit-2013Jcp user groupsummit-2013
Jcp user groupsummit-2013
 
How the JCP Works & Adopt-a-Program Update for Paraguay JUG
How the JCP Works & Adopt-a-Program Update for Paraguay JUGHow the JCP Works & Adopt-a-Program Update for Paraguay JUG
How the JCP Works & Adopt-a-Program Update for Paraguay JUG
 
JCP & Adopt-a-JSR @ GeeCon
JCP & Adopt-a-JSR @ GeeConJCP & Adopt-a-JSR @ GeeCon
JCP & Adopt-a-JSR @ GeeCon
 
JCPAfricaJUG
JCPAfricaJUGJCPAfricaJUG
JCPAfricaJUG
 
Join the Java Evolution for Victoria JUG
Join the Java Evolution for Victoria JUGJoin the Java Evolution for Victoria JUG
Join the Java Evolution for Victoria JUG
 
Join the Java Evolution Baltimore/DC/Philly
Join the Java Evolution Baltimore/DC/PhillyJoin the Java Evolution Baltimore/DC/Philly
Join the Java Evolution Baltimore/DC/Philly
 
How to Participate Devoxx 2013 Quickie
How to Participate Devoxx 2013 QuickieHow to Participate Devoxx 2013 Quickie
How to Participate Devoxx 2013 Quickie
 
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
 
Join the Java Evolution NYC
Join the Java Evolution NYCJoin the Java Evolution NYC
Join the Java Evolution NYC
 
JCP How to Participate @ JavaOne Russia
JCP How to Participate @ JavaOne RussiaJCP How to Participate @ JavaOne Russia
JCP How to Participate @ JavaOne Russia
 
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
 
Jcp devoxx-2012
Jcp devoxx-2012Jcp devoxx-2012
Jcp devoxx-2012
 
JavaEvolutionTalkUtahJUG
JavaEvolutionTalkUtahJUGJavaEvolutionTalkUtahJUG
JavaEvolutionTalkUtahJUG
 
JCPParticipationOverviewJCertif
JCPParticipationOverviewJCertifJCPParticipationOverviewJCertif
JCPParticipationOverviewJCertif
 
Jozi JUG Hack Day
Jozi JUG Hack DayJozi JUG Hack Day
Jozi JUG Hack Day
 
NYSIG Quickie
NYSIG QuickieNYSIG Quickie
NYSIG Quickie
 

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

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

Recently uploaded

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
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
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
"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
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
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
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
"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
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
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
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
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
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
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
 

Recently uploaded (20)

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
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
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
"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
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
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
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
"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...
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
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...
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
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
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
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)
 

Bringing Java into the Open: JCP Evolution and Future Directions

  • 1. Bringing Java into the Open Heather VanCura @heathervc 22 July 2014 OSCON http://jcp.org @jcp_org
  • 2. 2 Agenda • Background • Evolution • Future directions discussion – Patrick Curran (JCP Chair) • Upcoming planned updates
  • 3. 3 Who are we? • JCP Program Office
  • 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 has over 1,000 corporate, individual and Java User Group (JUG) members, & 12,000 registered users. ● More than 350 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 The compatibility triangle • Specification Reference Implementation Can you build an implementation? Is the specification unambiguous? Is the TCK correct? Does the RI conform? Technology Compatibility Kit
  • 9. 9 Thanks to Java Community!
  • 10. 10 JCP 2.0 JCP 2.5/JSPA 2 JCP.Next JCP 2.8 1998 2000 2014 JCP 1.0 2006 2012 JCP.Next JCP 2.10 JCP.Next JCP 2.9 Java OpenJDK & Glassfish 20021995 2011
  • 11. 11 Java – Hello World: 1995 • Led by James Gosling, the Green Team worked around the clock and created the programming language that would revolutionize our world – Java.
  • 12. 12 JCP 1.0: 1999 • At the Javitz Center in New York City, December 1998, Alan Baratz, then president of Sun's JavaSoft business unit, officially announced the JCP 1.0 program.
  • 13. 13 An International Effort North America Europe & Russia Asia & Middle East South America ● Membership by region● Membership from 70 countries
  • 14. 14 JCP 2.0: 2000 • Introduction of two Executive Committees as decision makers. • JCP Members for lead projects, aka JSRs. • Joint copyright for Members leading JSRs. • Java Standard Edition (J2SE) 1.3, Java Enterprise Edition (Java EE) 1.2 - December 1999.
  • 15. 15 JCP 2.5: 2002 • Revised the JCP and the JSPA to embrace open source. Enable open source licenses, independent implementations and Individual participation. • J2SE 1.4 & J2EE released 1.4
  • 16. 16 JCP 2.5: Catalyst for change ● Membership in 2002 Corporations Individuals Non-Profits Corporations Individuals Non-profits ● Membership in 2014
  • 17. 17 Open Source projects: 2006 • Sun initiates open source projects for Reference Implementations: ● OpenJDK for Java SE ● Glassfish for Java EE
  • 18. 18 JCP 2.6, JCP 2.7: 2004-2007 • Java Platform releases: Java SE 6 (2006), Java EE 5 (2006), Java ME (2005). • JCP process changes focused on increased agility and participation.
  • 20. 20 JCP.next • A series of four JSRs: • JSR 348: Towards a new version of the Java Community Process completed Oct 2011. √ • JSR 355: Executive Committee Merge completed Oct 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 aims to broaden JCP membership by creating new membership classes. Plan to complete in 2014.
  • 21. 21 JCP 2.8: 2011 • JCP.Next effort starts - no more smoke filled rooms! • Java SE 7 released – Yeah (since last release 5 years ago)!
  • 23. 23 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.
  • 24. 24 JUGS Around the World Adopt JSRs!
  • 25. 25 JCP 2.9: 2012-2013 • Merged two Executive Committees into one.
  • 26. 26 Major Java Releases - 2013-2014 • Revolutionary Java 8 release in 2014 – Java SE 8 & Java ME 8 & Embedded Profile! • Java EE 7 release in 2013 – significant community contributions!
  • 27. 27 • 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! JCP is now more open than before
  • 31. 31 Modifying the JSPA • The JSPA has not been significantly modified since 2002. • Since then the organization and the environment in which we operate have changed significantly. • Most significantly, the widespread adoption of open-source licensing and development practices. • The document is long overdue for updating and cleanup. • However, it is very complicated and difficult to understand. • We must be very careful when making changes. • Plus…
  • 32. 32 Now the lawyers are involved!
  • 33. 33 Why it matters • The JSPA defines the way in which Intellectual Property (IP) rights are granted and the terms under which the Spec, RI, and TCK must be licensed. • We must make sure that the technologies we incorporate into Java are "safe" from an IP perspective, so that people can implement them and use them with confidence.
  • 34. 34 Our shopping-list See this presentation and the Issue Tracker for full details. Our efforts to date have been focused on the items listed in red. • Independent Implementations • Compatibility • Licensing and open source • Transparency • Patent policy • The role of individuals • Fee structure • The role of the RI • TCK changes • Expert Group dissolution • IP flow • Withdrawal of IP • End of life for JSRs • Escrow process • Refactor the JSPA • Collaboration with other SDOs
  • 35. 35 Progress so far • Our initial focus was in two areas: • IP policy, licensing, and open-source. • The role of individual members in the JCP. • Each was driven by a Working Group. • The Working Groups meet regularly, and report back to the Executive Committee (the Expert Group for JCP.next JSRs) at the monthly EC meetings. • See the public EC meeting summaries for their latest reports.
  • 36. 36 JSR 358 goals • Maintain compatibility guarantees. • Embrace open-source licensing and development processes. • Developer access to TCKs. • Simplify IP-flow and licensing models.
  • 37. 37 Strong compatibility • All JSRs will be covered by a standard Spec license that includes strong compatibility requirements. • All implementations must pass the TCK.
  • 38. 38 Embrace open source • Reference Implementations must be developed through open-source projects and released under open-source licenses.
  • 39. 39 Developer access to TCKs • All TCKs must be made available under a Community TCK License to those who participate in the RI-development projects.
  • 40. 40 Simplify IP-flow and licensing models • The current JSPA has a very complicated IP-flow, with IP passing from contributors through the Spec Lead to implementers and end-users. • We hope to simplify that…
  • 41. 41 Follow us on java.net • Of course, we do all our work in public. • Start with our public java.net project. • There you will find links to: • The Observer mailing list (all Expert Group mail is copied here). • The Issue Tracker. • The Document Archive (our meeting minutes and working documents are published here). • Let us know what you think. • Help us to do the right thing!
  • 43. 43 ● Create a new Affiliate membership class specifically tailored towards individuals. ● Create a new Partner membership class specifically tailored towards JUGs that are not legal entities. ● Waive all membership fees to remove the incentive for corporations to encourage their employees to represent them as individual members. JSR 364 Proposal
  • 44. 44 ● Observer ● Partner member ● Affiliate member ● Full member ● Associate of Full member Proposed Membership Classes
  • 46. 46 Bringing Java into the open • 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!
  • 47. 47 Create the future Java! ● Follow the JCP online: http://JCP.org or @jcp_org ● Join the Projects for JSRs that interest you: ● Java EE 8 JSRs starting soon ● JCP.Next JSRs: ● https://java.net/projects/jsr358/pages/Home ● https://java.net/projects/jcpnext4/pages/Home ● Adopt-a-JSR ● https://java.net/projects/adoptajsr/pages/Home ● Contribute to RI for Java SE & Java EE ● http://openjdk.java.net/ ● https://glassfish.java.net/