JCP和JSR是什么
根据知乎上的回答修改
Java Community Process是一个由oracle(曾经是sun)领导的,负责管理java和接受各种Java Specification Requests的组织,这个组织很多大厂(例如Google、IBM、Twitter、Intel、Eclipse基金会等)都加入了
Java Specification Request是java的spec,在没有正式确定某版本之前会存在很多Java Specification Requests,最终JSR会由加入JCP的那些大佬们投票决定,例如servlet4.0 对应jsr369,JSR里有一些是java规范的技术文件,有一些是一些成员的选举章程和选举结果
任何人都可以提交JSR,但是拥有投票权的是专家组,也就是现在的EC Member(执行委员会成员)
专家组(Expert Group),负责投票起草啥的
专家组组成
最初的专家组成员由ME和SE / EE执行委员会的所有成员组成
JSR355合并之前的专家组
1.支持JSR355合并的
Stefano Andreani,Aplix,ARM,AT&T,Azul Systems,CableLabs,瑞士信贷,Eclipse基金会,爱立信,富士通,高盛,谷歌,惠普,IBM,英特尔,Werner Keil,伦敦Java社区(2席位),诺基亚(2席位),Oracle(3席位),红帽,Research In Motion,三星,SAP,西门子,SK电讯,SouJava,T-Mobile,TOTVS,Twitter,沃达丰(共30个公司,34席位)
2.对JSR255弃权或者反对的
德国电信股份公司、Werner Keil(共2个公司,2席位)
2个席位通常是ME执行委员会一个,SE/EE执行委员会一个,Oracle的主导地位就不说了
2012年的JSR355 合并之后的专家组
把两个执行委员会合并成一个,并将EC成员改为一共是只能有一个席位,成员总数缩减至32席位,也就是变成了32公司32席位。
之后陆续有加入的有离开的,V2COM就是后来加入的
servelt规范就是一个jsr
Servlet的早期规范Servlet1是由Pavni Diwanji在Sun公司工作时创建的,Servlet1.0于1997年6月完成。从Servlet2.2版开始,之后的Servlet规范是在JCP下讨论开发的。
servlet2.3 对应jsr53
https://jcp.org/aboutJava/communityprocess/final/jsr053/index.html
servlet2.4 servlet2.5 对应jsr154
https://jcp.org/aboutJava/communityprocess/mrel/jsr154/index2.html
servlet3.0 对应jsr315
http://download.oracle.com/otndocs/jcp/servlet-3.0-fr-oth-JSpec/
servlet3.1 对应jsr340
http://download.oracle.com/otndocs/jcp/servlet-3_1-fr-eval-spec/index.html
servlet4.0 对应jsr369
https://jcp.org/aboutJava/communityprocess/final/jsr369/index.html
Servelt4.0的正式版已经在2017年10月5日发布
JSR的几个状态
Final 结束
Maintenance 维护
Active 活动
Withdrawn 搁置状态(或者回收状态)
Rejected 否决
前三个是有效的
否决通常是初期评审、草稿审批或者是最终审批投票的某个阶段投票否决
搁置有各种原因,有不能组成专家组的,有概念不清晰的
servlet 规范的产生经历了一下几个过程
初期评审-->初期评审投票-->专家组产生-->早期草案审查-->重新投票-->公开评审-->公开评审投票-->提议最终草案-->最终审批投票-->最终发布版本
到此,如果没有意外,这个状态应该是active,如果后续进行维护
可能还有一个或多个维护草案和维护草案发布,这个时候的状态是Maintenance,如servlet3.0对应的jsr315
如果后续不再维护,就进入结束,这个时候的状态是Final,如XML解析规范对应的jsr5
投票的有哪些:这次有ARM、诺基亚、Oracle、富士通、IBM、Twitter、V2COM等20多家公司或组织,每个投票阶段名额会有变动
Apache基金会在2010离开JCP了,不是现在的执行委员会/专家组
附:tomcat的Servlet4.0的API文档
http://tomcat.apache.org/tomcat-9.0-doc/servletapi/index.html
=================
更新20190824
祝贺阿里巴巴在2018年加入执行委员会,详细信息:https://jcp.org/aboutJava/communityprocess/elections/2018-nominees-special.html
阿里巴巴目前加入的是批准席位(Ratified Seat),此外还有当选席位和常任理事国席位,此次阿里填补l恩智浦半导体(NXP Semiconductors)腾出的一个公开批准席位
简介如下:
关于JAVA社区进程(JCP)执行委员会
在2012年执行委员会(EC)选举之后,SE / EE和ME执行委员会合并为JSR 355和JCP 2.9流程文件所定义的单一执行委员会。在合并的执行委员会中,有16个批准(ratified)席位,8个当选(elected)席位和Oracle America持有的常任理事(associate)席位。成员服务的两年任期是错开的,因此24个席位中有12个通常每年进行批准/选举。
EC成员指导Java技术的发展。EC代表了主要利益相关者和Java社区其他成员的横截面。职责是:选择JSR进行开发,批准公共审核规范草案,批准最终规范,审核TCK申诉,批准维护修订,并可能将某些功能推迟到新的JSR,批准成员之间的维护职责转移并为计划管理提供指导办公室(PMO)。有关EC的更多信息,请参阅执行委员会信息页面http://jcp.org/en/participation/committee。