SlideShare uma empresa Scribd logo
1 de 59
The JCP and the future of Java

           Heather VanCura
            Manager, JCP Program
               heather@jcp.org
 http://jcp.org or http://blogs.oracle.com/jcp
                 May 2011
Welcome




2         May 2011
Agenda


    • Why standards?
    • Java standards
    • How the JCP works
    • The JCP and open source
    • Current events
    • How you can participate




3                         May 2011
Why standards?




4                May 2011
Languages & protocols




5                       May 2011
Interfaces




6            May 2011
Specifications




7                May 2011
Certification




8               May 2011
No vendor lock-in




9                   May 2011
Industrial-strength systems




10                     May 2011
Java standards




11               May 2011
Java Standard Edition




12                      May 2011
Java Micro Edition




13                   May 2011
Java Enterprise Edition




14                   May 2011
How the JCP works




15                  May 2011
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.

 • JSR Deliverables
     – Each EG must deliver at the end of the JSR lifecycle:
         • The Specification
         • The Reference Implementation (RI)
         • The Technology Compatibility Kit (TCK)


16                            May 2011
The compatibility triangle


                       • Specification



     In the specification                          Can you build an
       unambiguous?                                implementation?




     Technology                                     Reference
 Compatibility Kit                                  Implementation

                             Is the TCK correct?
                            Does the RI conform?


17                               May 2011
Deliverables




18             May 2011
Compatibility testing




19                       May 2011
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.
• JCP 2: 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, and to
       define a test challenge process.
     – http://jcp.org/en/procedures/jcp2.



20                             May 2011
Organization




21              May 2011
Roles

 • JCP Chair
     – Leads the organization and manages the PMO.
 • Program Management Office (PMO)
     – Manages day-to-day operations of the organization.
 • Executive Committees
     – 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.
22                            May 2011
The Executive Committees

 • Two Executive Committees:
    – One for Java ME and one for Java SE and Java EE combined.
 • Each EC has 16 members.
 • Oracle has a permanent seat on each EC.
 • 10 of the other 15 seats are ratified by Oracle.
     – Oracle nominates a candidate; the entire JCP membership
       approves via ballot.
 • The remaining 5 seats are elected (any JCP member may
   nominate themselves.)
 • Yearly elections reconfirm or replace one-third of the members.
 • ECs meet ~monthly by phone, 3 times a year face-to-face.
 • EC meeting minutes are public.
     – See http://jcp.org/en/resources/EC_summaries.


23                           May 2011
Executive Committee responsibilities


 • Review and vote on all JSRs associated with their EC.
 • Evolve the JSPA and the Process Document.
     – The JSPA and Process Document are modified through the
       JSR process itself.
     – The Executive Committees serve as the Expert Group for
       JSRs that make these changes; the Chair is the Spec Lead.
     – JSR 99 defined the JSPA, JSR 215 defined the Process Doc.
     – Two new JSRs to evolve the JSPA and Process Doc will be
       filed soon (JCP.next.)
 • Represent their own interests to the JCP and the JCP to the
   developer and user community.
 • Advise the PMO.

24                          May 2011
Current Executive Committee membership


 • Java ME EC
     – Stefano Andreani, Aplix, AT&T, CableLabs, IBM,
       Nokia, Oracle, RIM, Samsung, Sean Sheedy,
       Siemens, SK Telecom, T-Mobile, TOTVS,
       Vodafone.
     – One vacancy recently filled by a Special Election
       (Alex Terrazas).
 • Java SE/EE EC
     – Credit Suisse, Eclipse, Ericsson, Fujitsu, Google,
       HP, IBM, Intel, Werner Keil, Oracle, Red Hat, SAP,
       Vmware.
     – Three vacancies recently filled by a Special
       Election (Goldman Sachs, SouJava, London Java
       Community).
25                          May 2011
The Spec Lead


 • The individual or institutional owner and driver of a JSR.
      – Recruits and organizes the activities of the Expert Group.
      – Responsible for delivering the Spec, RI, and TCK.
 • Intellectual Property rights to the technology
     incorporated in the JSR accrue to the Spec Lead.
      – Subject to obligations incurred under the JSPA.
 • The Spec Lead is free to define the terms under which the
     RI, and TCK will be licensed.
      – Subject to obligations incurred under the JSPA.
 • Oracle is the Spec Lead for the three existing Platforms:
     Java ME, Java SE, and Java EE.



26                             May 2011
The Expert Group


 • The Expert Group is recruited and led by the Spec Lead.
     – All members of the JCP are eligible to join.
     – Participation by all interested parties is encouraged and
       desirable.
     – The EG works as a team to define the JSR and to develop
       the Spec, RI, and TCK.
 • The EG is free to define its own working style.
     – When and how often it meets, how it makes decisions...
 • Transparency is strongly encouraged.
     – EGs must explain their transparency strategy:
        • Public aliases, public issue list, Wikis, blogs...
     – EGs must respond publicly to comments.

27                             May 2011
The membership


 • Anyone can join.
 • Total membership is approximately 1500.
 • 3700 registered users at jcp.org (not affliliated with a
   member).
 • Fees:
     –   Java Licensees: free.
     –   Individuals: free
     –   Java User Groups: free.
     –   Non-profit organizations: $2K/year.
     –   Commercial organizations: $5K/year.



28                           May 2011
Who are the members?


 • Membership distribution by type:
     – 77% individual.
     – 21% corporate.
     – 2% non-profit.
 • Membership distribution by location:
     –   50% North America
     –   32% Europe and the Russian Federation
     –   13% Asia and the Middle East
     –   5% South America




29                          May 2011
The JSR development cycle




30                  May 2011
JSR Submission


• Identify the submitters, the Specification Lead(s), and the
     initial members of the Expert Group.
•    Describe the proposed specification and the reasons for
     developing it.
•    Identify the target Platform(s).
•    Estimate the development schedule.
•    Describe the working model the Expert Group will adopt,
     and how it will involve the community and the public.
•    Identify preexisting documents, technology descriptions,
     or implementations that might be used as a starting point.
•    Publish the licensing terms for the Spec, RI, and TCK.

31                            May 2011
JSR Approval Ballot


• JSR proposals are published on the JCP website.
• JCP members, the Executive Committees, and the public
   review and comment.
• JCP members may request to join the Expert Group
  during this period.
• The Executive Committee(s) vote on the JSR during the
  final two weeks of the review period.
• If the JSR is voted down, submitters have 14 days to
  revise and resubmit for a second vote; if this fails the
  JSR is closed.


32                        May 2011
Expert Group formation


• Expert Group formation begins when the JSR is approved.
• Members request to join the EG through an online form.
• No size limit; Spec Leads should ensure that all interested
  parties are represented, but should keep the group small
  enough that it will be able to function efficiently.
• Members may be added at any time, subject to the
  agreement of the existing membership.
• EG decides its mode of operation (communication
  mechanisms, meeting schedules, etc.)
     – Transparency and community involvement are strongly
       encouraged.


33                          May 2011
Early Draft


• The Expert Group's first deliverable is the Early Draft.
      – Provides the JCP membership and the public with a draft
        that is detailed enough to generate useful feedback.
• No fixed deadline for generating the draft – EGs should
  take as long as they need (but no longer!)
• Early Draft is published for review on the JCP website.
      – Review period is typically 30 days but may be longer.
• No ballot at this stage – the purpose is to gather feedback.
• EGs may choose to revise the draft and resubmit if
     feedback indicates that significant changes need to be
     made.
      – OK to iterate through several Early Draft reviews.

34                             May 2011
Public Review


• Spec should be relatively complete before Public Review.
• Expert Group should also be developing the RI and TCK
  while working on the spec.
• Spec is published for review on the JCP website.
     – Review period is 30 – 90 days (the EG decides how long).
• All public comments should be considered and addressed.
• The Public Draft Specification Approval Ballot takes place
  during the final 7 days of the review
• If the ballot fails, the EG has 30 days to resubmit for a
  Reconsideration Ballot.
     – If this ballot fails, the JSR is closed.


35                               May 2011
Proposed Final Draft


• The EG submits a Proposed Final Draft of the spec to the
     PMO.
      – This should incorporate and address feedback from the Public
        Review.
• Spec is posted on the website for public download.




36                            May 2011
Final Approval and Release


• The EG prepares the Final Draft of the spec and completes
     the RI and TCK.
      –   The TCK must meet quality and coverage goals.
      –   The RI must pass the TCK.
      –   A test appeals process must be defined.
      –   Final RI and TCK licensing terms must be published.
• The EC has two weeks to review these materials and to cast
  their votes in the Final Approval Ballot.
• If the ballot fails the EG has 30 days to resubmit for a
  Reconsideration Ballot; if that fails, the JSR is closed.
• Approved JSRs are posted for Final Release and may then be
  implemented commercially.

37                              May 2011
Maintenance


• Spec Leads are expected to make a long-term commitment
  to revise and update the spec, RI, and TCK.
• Spec Lead typically takes on the role of Maintenance
  Lead.
      – Gathers Proposed changes, deciding which to Accept and
        which to Defer, publishing these on the JCP website.
• 30-day public Maintenance Review period (no ballot
  unless EC members intervene to request items be
  deferred).
• RI and TCK must be synchronized with spec changes.
      – Maintenance Release is final when this is completed.
• More significant changes (beyond minor clarifications of
     the spec) require a new JSR.
38                             May 2011
Summary of JSR Stages


• JAB: JSR Approval Ballot - Mandatory - 2 weeks.
• EDR: Early Draft Review - Mandatory - 30/45/60/90 days.
• PR: Public Review - Mandatory - 30/45/60/90 days.
• PRB: Public Review Ballot – Mandatory - 7 days.
• PFD: Proposed Final Draft - Mandatory - no time frame.
• FAB: Final Approval Ballot - Mandatory - 2 weeks.
• FR: Final Release - Mandatory.
• MR: Maintenance Review - Optional - 30/45/60/90 days.
• MREL: Maintenance Release - Optional.
     Each stage must be completed before the Expert Group moves on
     to the next.

39                              May 2011
Open Source




40            May 2011
Open Source processes


• Half of all currently-active JSRs are developed as open
     source projects.
       – Java SE: OpenJDK.
         • http://openjdk.java.net/
      – Java EE: Project Glassfish.
         • http://glassfish.java.net/
• Most Expert Groups have adopted some aspects of the
     open-source development process.




41                              May 2011
Transparency




42             May 2011
Participation




43              May 2011
Teamwork




44         May 2011
Agility




45        May 2011
Hmmm...

• Linux
     – POSIX (IEEE 1003, ISO/IEC 9945)
     – Single UNIX Specification (SUS)
     – Linux Standard Base
• Apache
     – HTTP, HTML, XHTML, authentication
     – http://httpd.apache.org/docs/2.0/misc/relevant_standards.html
• MySQL
     – ANSI/ISO SQL
       http://dev.mysql.com/doc/refman/5.0/en/compatibility.html
• PHP
     – ??? (but see Fortran, COBOL, C, C++. Java, C#...)
     – And don't forget Ruby.
46                             May 2011
Open source and open standards




47                   May 2011
The latest news




48                May 2011
Platform updates


 • Java SE 7 and Java SE 8 JSRs launched in late 2010.
     – JSR 336: Java SE 7 Release Contents.
     – JSR 337: Java SE 8 Release Contents.
     – Plus many component JSRs.
 • Java EE 7 JSRs launched in early 2011.
     – JSR 342: Java EE 7 Specification.
     – Plus many component JSRs.
 • Watch for Java ME JSRs coming soon.




49                          May 2011
Process updates


 • Two JSRs will be filed soon to update the JCP's processes
     and constitution.
      – As defined in the Process Document and JSPA.
 • JCP.next JSR1 will focus on simple changes that can be
   implemented within about six months.
 • JCP.next JSR 2 will implement more complex changes,
   including any that require modifying the JSPA.
      – This will take 12-18 months to complete.
 • Both JSRs will operate transparently.
      – We want your input.



50                            May 2011
Special Election May 2011


 • Four vacant EC seats filled:
     – Two ratified seats on the SE/EE EC:
       SouJava & Goldman Sachs
     – One elected seat: London JUG
     – One elected seat on the ME EC:
        • Alex Terrazas
 • For details see
   http://jcp.org/en/whatsnew/elections.
 • All members can vote –
     – Join so you can vote next time (Fall 2011).
     – Here's how: http://jcp.org/en/participation/membership


51                          May 2011
Get involved




52             May 2011
Indian participation in the JCP


 • 46 members, 129 EG participants, 1218 registered users
     (includes members).
      – Members include Chennai JUG, Pramati Technologies, Tata
        Consultancy (and Limited), Wipro
         • We need more participation from India to participate in
           the evolution of Java technology!




53                           May 2011
Asian participation in the JCP


 • Korea: 21 members, 76 EG participants, 7 Spec Leads.
     – Members include Aromasoft, Electronics and
       Telecommunications Institute, LG Electronics, Samsung,
       SK Telecom, TmaxSoft.
     – Korean-lead JSRs: 278, 327, 324, 298, 278, 300, 332.
 • Japan: 33 members, 132 EG participants, no Spec Leads.
     – Members include Aplix, Fujitsu, Hitachi, Matsushita,
       Mitsubishi, NEC, NTT, Ricoh, Sharp, Yokogawa.
 • China: 14 members, 37 EG participants, no Spec Leads.
     – Members include Beijing ZRRT, CMCC, TongTech,
       Huawei, Peking University, Xian Jiaotong University.


54                          May 2011
Why participate?


• As an individual:
     – Altruism.
     – Experience.
     – Fame and fortune.
• As a corporation:
     –   To inf uence the technologies that drive your market.
              l
     –   Because it's cheaper than developing everything yourself.
     –   To provide opportunities for your developers.
     –   To increase the size of your market.
     –   To gain a competitive advantage (ship new products faster.)




55                             May 2011
How to participate


• As a non-member:
     – Participate in OpenJDK or
       Project Glassfish.
     – Review specifications and
       provide feedback.
• As a member:
     –   Vote in the elections.
     –   Join an Expert Group.
     –   Lead a JSR.
     –   Run for the Executive
         Committee.



56                                May 2011
Java and the JCP: providing solutions for everyone




57                    May 2011
Questions?




58           May 2011
Thank you!




59           May 2011

Mais conteúdo relacionado

Semelhante a JCP: The JCP and the future of Java by Heather VanCura, Manager, JCP Program @ JavaOne Hyderabad

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
 
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
 
Jcp user groupsummit-2013
Jcp user groupsummit-2013Jcp user groupsummit-2013
Jcp user groupsummit-2013Heather VanCura
 
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
 
JavaEvolutionTalkUtahJUG
JavaEvolutionTalkUtahJUGJavaEvolutionTalkUtahJUG
JavaEvolutionTalkUtahJUGHeather VanCura
 
Join the Java Evolution NYC
Join the Java Evolution NYCJoin the Java Evolution NYC
Join the Java Evolution NYCHeather 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
 
JCP How to Participate @ JavaOne Russia
JCP How to Participate @ JavaOne RussiaJCP How to Participate @ JavaOne Russia
JCP How to Participate @ JavaOne RussiaHeather 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
 
Talk with Orlando Florida JUG & Senegal JUG
Talk with Orlando Florida JUG & Senegal JUGTalk with Orlando Florida JUG & Senegal JUG
Talk with Orlando Florida JUG & Senegal JUGHeather VanCura
 
Join the Java Evolution Coimbra
Join the Java Evolution CoimbraJoin the Java Evolution Coimbra
Join the Java Evolution CoimbraHeather 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
 
Join the Java Evolution GIDS Bangalore & Pune
Join the Java Evolution GIDS Bangalore & PuneJoin the Java Evolution GIDS Bangalore & Pune
Join the Java Evolution GIDS Bangalore & PuneHeather VanCura
 
Join the Java Evolution Africa
Join the Java Evolution AfricaJoin the Java Evolution Africa
Join the Java Evolution AfricaHeather VanCura
 
How to Participate Japan
How to Participate JapanHow to Participate Japan
How to Participate JapanHeather VanCura
 

Semelhante a JCP: The JCP and the future of Java by Heather VanCura, Manager, JCP Program @ JavaOne Hyderabad (20)

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
 
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
 
Jcp fosdem2013
Jcp fosdem2013Jcp fosdem2013
Jcp fosdem2013
 
JCP15Years
JCP15YearsJCP15Years
JCP15Years
 
Jcp user groupsummit-2013
Jcp user groupsummit-2013Jcp user groupsummit-2013
Jcp user groupsummit-2013
 
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
 
Inside jcp
Inside jcpInside jcp
Inside jcp
 
JavaEvolutionTalkUtahJUG
JavaEvolutionTalkUtahJUGJavaEvolutionTalkUtahJUG
JavaEvolutionTalkUtahJUG
 
Join the Java Evolution NYC
Join the Java Evolution NYCJoin the Java Evolution NYC
Join the Java Evolution NYC
 
How to Participate Devoxx 2013 Quickie
How to Participate Devoxx 2013 QuickieHow to Participate Devoxx 2013 Quickie
How to Participate Devoxx 2013 Quickie
 
Jozi JUG Hack Day
Jozi JUG Hack DayJozi JUG Hack Day
Jozi JUG Hack Day
 
JCP How to Participate @ JavaOne Russia
JCP How to Participate @ JavaOne RussiaJCP How to Participate @ JavaOne Russia
JCP How to Participate @ JavaOne Russia
 
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
 
Devoxx UK BOF session
Devoxx UK BOF sessionDevoxx UK BOF session
Devoxx UK BOF session
 
Talk with Orlando Florida JUG & Senegal JUG
Talk with Orlando Florida JUG & Senegal JUGTalk with Orlando Florida JUG & Senegal JUG
Talk with Orlando Florida JUG & Senegal JUG
 
Join the Java Evolution Coimbra
Join the Java Evolution CoimbraJoin the Java Evolution Coimbra
Join the Java Evolution Coimbra
 
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
 
Join the Java Evolution GIDS Bangalore & Pune
Join the Java Evolution GIDS Bangalore & PuneJoin the Java Evolution GIDS Bangalore & Pune
Join the Java Evolution GIDS Bangalore & Pune
 
Join the Java Evolution Africa
Join the Java Evolution AfricaJoin the Java Evolution Africa
Join the Java Evolution Africa
 
How to Participate Japan
How to Participate JapanHow to Participate Japan
How to Participate Japan
 

Último

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
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
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
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
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
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"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
 
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
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
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
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
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
 
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
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
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
 

Último (20)

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
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
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
 
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
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
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
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"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
 
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
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
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
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
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
 
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!
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
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!
 

JCP: The JCP and the future of Java by Heather VanCura, Manager, JCP Program @ JavaOne Hyderabad

  • 1. The JCP and the future of Java Heather VanCura Manager, JCP Program heather@jcp.org http://jcp.org or http://blogs.oracle.com/jcp May 2011
  • 2. Welcome 2 May 2011
  • 3. Agenda • Why standards? • Java standards • How the JCP works • The JCP and open source • Current events • How you can participate 3 May 2011
  • 4. Why standards? 4 May 2011
  • 6. Interfaces 6 May 2011
  • 7. Specifications 7 May 2011
  • 8. Certification 8 May 2011
  • 11. Java standards 11 May 2011
  • 15. How the JCP works 15 May 2011
  • 16. 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. • JSR Deliverables – Each EG must deliver at the end of the JSR lifecycle: • The Specification • The Reference Implementation (RI) • The Technology Compatibility Kit (TCK) 16 May 2011
  • 17. The compatibility triangle • Specification In the specification Can you build an unambiguous? implementation? Technology Reference Compatibility Kit Implementation Is the TCK correct? Does the RI conform? 17 May 2011
  • 18. Deliverables 18 May 2011
  • 20. 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. • JCP 2: 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, and to define a test challenge process. – http://jcp.org/en/procedures/jcp2. 20 May 2011
  • 21. Organization 21 May 2011
  • 22. Roles • JCP Chair – Leads the organization and manages the PMO. • Program Management Office (PMO) – Manages day-to-day operations of the organization. • Executive Committees – 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. 22 May 2011
  • 23. The Executive Committees • Two Executive Committees: – One for Java ME and one for Java SE and Java EE combined. • Each EC has 16 members. • Oracle has a permanent seat on each EC. • 10 of the other 15 seats are ratified by Oracle. – Oracle nominates a candidate; the entire JCP membership approves via ballot. • The remaining 5 seats are elected (any JCP member may nominate themselves.) • Yearly elections reconfirm or replace one-third of the members. • ECs meet ~monthly by phone, 3 times a year face-to-face. • EC meeting minutes are public. – See http://jcp.org/en/resources/EC_summaries. 23 May 2011
  • 24. Executive Committee responsibilities • Review and vote on all JSRs associated with their EC. • Evolve the JSPA and the Process Document. – The JSPA and Process Document are modified through the JSR process itself. – The Executive Committees serve as the Expert Group for JSRs that make these changes; the Chair is the Spec Lead. – JSR 99 defined the JSPA, JSR 215 defined the Process Doc. – Two new JSRs to evolve the JSPA and Process Doc will be filed soon (JCP.next.) • Represent their own interests to the JCP and the JCP to the developer and user community. • Advise the PMO. 24 May 2011
  • 25. Current Executive Committee membership • Java ME EC – Stefano Andreani, Aplix, AT&T, CableLabs, IBM, Nokia, Oracle, RIM, Samsung, Sean Sheedy, Siemens, SK Telecom, T-Mobile, TOTVS, Vodafone. – One vacancy recently filled by a Special Election (Alex Terrazas). • Java SE/EE EC – Credit Suisse, Eclipse, Ericsson, Fujitsu, Google, HP, IBM, Intel, Werner Keil, Oracle, Red Hat, SAP, Vmware. – Three vacancies recently filled by a Special Election (Goldman Sachs, SouJava, London Java Community). 25 May 2011
  • 26. The Spec Lead • The individual or institutional owner and driver of a JSR. – Recruits and organizes the activities of the Expert Group. – Responsible for delivering the Spec, RI, and TCK. • Intellectual Property rights to the technology incorporated in the JSR accrue to the Spec Lead. – Subject to obligations incurred under the JSPA. • The Spec Lead is free to define the terms under which the RI, and TCK will be licensed. – Subject to obligations incurred under the JSPA. • Oracle is the Spec Lead for the three existing Platforms: Java ME, Java SE, and Java EE. 26 May 2011
  • 27. The Expert Group • The Expert Group is recruited and led by the Spec Lead. – All members of the JCP are eligible to join. – Participation by all interested parties is encouraged and desirable. – The EG works as a team to define the JSR and to develop the Spec, RI, and TCK. • The EG is free to define its own working style. – When and how often it meets, how it makes decisions... • Transparency is strongly encouraged. – EGs must explain their transparency strategy: • Public aliases, public issue list, Wikis, blogs... – EGs must respond publicly to comments. 27 May 2011
  • 28. The membership • Anyone can join. • Total membership is approximately 1500. • 3700 registered users at jcp.org (not affliliated with a member). • Fees: – Java Licensees: free. – Individuals: free – Java User Groups: free. – Non-profit organizations: $2K/year. – Commercial organizations: $5K/year. 28 May 2011
  • 29. Who are the members? • Membership distribution by type: – 77% individual. – 21% corporate. – 2% non-profit. • Membership distribution by location: – 50% North America – 32% Europe and the Russian Federation – 13% Asia and the Middle East – 5% South America 29 May 2011
  • 30. The JSR development cycle 30 May 2011
  • 31. JSR Submission • Identify the submitters, the Specification Lead(s), and the initial members of the Expert Group. • Describe the proposed specification and the reasons for developing it. • Identify the target Platform(s). • Estimate the development schedule. • Describe the working model the Expert Group will adopt, and how it will involve the community and the public. • Identify preexisting documents, technology descriptions, or implementations that might be used as a starting point. • Publish the licensing terms for the Spec, RI, and TCK. 31 May 2011
  • 32. JSR Approval Ballot • JSR proposals are published on the JCP website. • JCP members, the Executive Committees, and the public review and comment. • JCP members may request to join the Expert Group during this period. • The Executive Committee(s) vote on the JSR during the final two weeks of the review period. • If the JSR is voted down, submitters have 14 days to revise and resubmit for a second vote; if this fails the JSR is closed. 32 May 2011
  • 33. Expert Group formation • Expert Group formation begins when the JSR is approved. • Members request to join the EG through an online form. • No size limit; Spec Leads should ensure that all interested parties are represented, but should keep the group small enough that it will be able to function efficiently. • Members may be added at any time, subject to the agreement of the existing membership. • EG decides its mode of operation (communication mechanisms, meeting schedules, etc.) – Transparency and community involvement are strongly encouraged. 33 May 2011
  • 34. Early Draft • The Expert Group's first deliverable is the Early Draft. – Provides the JCP membership and the public with a draft that is detailed enough to generate useful feedback. • No fixed deadline for generating the draft – EGs should take as long as they need (but no longer!) • Early Draft is published for review on the JCP website. – Review period is typically 30 days but may be longer. • No ballot at this stage – the purpose is to gather feedback. • EGs may choose to revise the draft and resubmit if feedback indicates that significant changes need to be made. – OK to iterate through several Early Draft reviews. 34 May 2011
  • 35. Public Review • Spec should be relatively complete before Public Review. • Expert Group should also be developing the RI and TCK while working on the spec. • Spec is published for review on the JCP website. – Review period is 30 – 90 days (the EG decides how long). • All public comments should be considered and addressed. • The Public Draft Specification Approval Ballot takes place during the final 7 days of the review • If the ballot fails, the EG has 30 days to resubmit for a Reconsideration Ballot. – If this ballot fails, the JSR is closed. 35 May 2011
  • 36. Proposed Final Draft • The EG submits a Proposed Final Draft of the spec to the PMO. – This should incorporate and address feedback from the Public Review. • Spec is posted on the website for public download. 36 May 2011
  • 37. Final Approval and Release • The EG prepares the Final Draft of the spec and completes the RI and TCK. – The TCK must meet quality and coverage goals. – The RI must pass the TCK. – A test appeals process must be defined. – Final RI and TCK licensing terms must be published. • The EC has two weeks to review these materials and to cast their votes in the Final Approval Ballot. • If the ballot fails the EG has 30 days to resubmit for a Reconsideration Ballot; if that fails, the JSR is closed. • Approved JSRs are posted for Final Release and may then be implemented commercially. 37 May 2011
  • 38. Maintenance • Spec Leads are expected to make a long-term commitment to revise and update the spec, RI, and TCK. • Spec Lead typically takes on the role of Maintenance Lead. – Gathers Proposed changes, deciding which to Accept and which to Defer, publishing these on the JCP website. • 30-day public Maintenance Review period (no ballot unless EC members intervene to request items be deferred). • RI and TCK must be synchronized with spec changes. – Maintenance Release is final when this is completed. • More significant changes (beyond minor clarifications of the spec) require a new JSR. 38 May 2011
  • 39. Summary of JSR Stages • JAB: JSR Approval Ballot - Mandatory - 2 weeks. • EDR: Early Draft Review - Mandatory - 30/45/60/90 days. • PR: Public Review - Mandatory - 30/45/60/90 days. • PRB: Public Review Ballot – Mandatory - 7 days. • PFD: Proposed Final Draft - Mandatory - no time frame. • FAB: Final Approval Ballot - Mandatory - 2 weeks. • FR: Final Release - Mandatory. • MR: Maintenance Review - Optional - 30/45/60/90 days. • MREL: Maintenance Release - Optional. Each stage must be completed before the Expert Group moves on to the next. 39 May 2011
  • 40. Open Source 40 May 2011
  • 41. Open Source processes • Half of all currently-active JSRs are developed as open source projects. – Java SE: OpenJDK. • http://openjdk.java.net/ – Java EE: Project Glassfish. • http://glassfish.java.net/ • Most Expert Groups have adopted some aspects of the open-source development process. 41 May 2011
  • 42. Transparency 42 May 2011
  • 43. Participation 43 May 2011
  • 44. Teamwork 44 May 2011
  • 45. Agility 45 May 2011
  • 46. Hmmm... • Linux – POSIX (IEEE 1003, ISO/IEC 9945) – Single UNIX Specification (SUS) – Linux Standard Base • Apache – HTTP, HTML, XHTML, authentication – http://httpd.apache.org/docs/2.0/misc/relevant_standards.html • MySQL – ANSI/ISO SQL http://dev.mysql.com/doc/refman/5.0/en/compatibility.html • PHP – ??? (but see Fortran, COBOL, C, C++. Java, C#...) – And don't forget Ruby. 46 May 2011
  • 47. Open source and open standards 47 May 2011
  • 48. The latest news 48 May 2011
  • 49. Platform updates • Java SE 7 and Java SE 8 JSRs launched in late 2010. – JSR 336: Java SE 7 Release Contents. – JSR 337: Java SE 8 Release Contents. – Plus many component JSRs. • Java EE 7 JSRs launched in early 2011. – JSR 342: Java EE 7 Specification. – Plus many component JSRs. • Watch for Java ME JSRs coming soon. 49 May 2011
  • 50. Process updates • Two JSRs will be filed soon to update the JCP's processes and constitution. – As defined in the Process Document and JSPA. • JCP.next JSR1 will focus on simple changes that can be implemented within about six months. • JCP.next JSR 2 will implement more complex changes, including any that require modifying the JSPA. – This will take 12-18 months to complete. • Both JSRs will operate transparently. – We want your input. 50 May 2011
  • 51. Special Election May 2011 • Four vacant EC seats filled: – Two ratified seats on the SE/EE EC: SouJava & Goldman Sachs – One elected seat: London JUG – One elected seat on the ME EC: • Alex Terrazas • For details see http://jcp.org/en/whatsnew/elections. • All members can vote – – Join so you can vote next time (Fall 2011). – Here's how: http://jcp.org/en/participation/membership 51 May 2011
  • 52. Get involved 52 May 2011
  • 53. Indian participation in the JCP • 46 members, 129 EG participants, 1218 registered users (includes members). – Members include Chennai JUG, Pramati Technologies, Tata Consultancy (and Limited), Wipro • We need more participation from India to participate in the evolution of Java technology! 53 May 2011
  • 54. Asian participation in the JCP • Korea: 21 members, 76 EG participants, 7 Spec Leads. – Members include Aromasoft, Electronics and Telecommunications Institute, LG Electronics, Samsung, SK Telecom, TmaxSoft. – Korean-lead JSRs: 278, 327, 324, 298, 278, 300, 332. • Japan: 33 members, 132 EG participants, no Spec Leads. – Members include Aplix, Fujitsu, Hitachi, Matsushita, Mitsubishi, NEC, NTT, Ricoh, Sharp, Yokogawa. • China: 14 members, 37 EG participants, no Spec Leads. – Members include Beijing ZRRT, CMCC, TongTech, Huawei, Peking University, Xian Jiaotong University. 54 May 2011
  • 55. Why participate? • As an individual: – Altruism. – Experience. – Fame and fortune. • As a corporation: – To inf uence the technologies that drive your market. l – Because it's cheaper than developing everything yourself. – To provide opportunities for your developers. – To increase the size of your market. – To gain a competitive advantage (ship new products faster.) 55 May 2011
  • 56. How to participate • As a non-member: – Participate in OpenJDK or Project Glassfish. – Review specifications and provide feedback. • As a member: – Vote in the elections. – Join an Expert Group. – Lead a JSR. – Run for the Executive Committee. 56 May 2011
  • 57. Java and the JCP: providing solutions for everyone 57 May 2011
  • 58. Questions? 58 May 2011
  • 59. Thank you! 59 May 2011