深入了解 Java 社区进程

  • Victor Grazi
  • 傅健

2012 年 9 月 4 日

话题:Java语言 & 开发

Java 语言发展初期,Sun Microsystems 公司清楚意识到:Java 若想成功,必须由社区需求驱动起来。正因如此,Java 社区进程(JCP)得以建立。时至今日,JAVA 语言推出已有 17 个年头,而 JCP 也建设了 14 年。目前 JCP 仍然发展良好。

JCP 执行委员会监管 JCP 及 JCP 驱动下 Java 技术本身的发展和演化。现在有两个执行委员会,分别面向 Java SE/EE 和 Java ME,计划在未来两年合并。

每个执行委员一般会由 16 名成员构成,包括:技术提供商,如 Oracle、IBM 和诺基亚;技术使用者,如瑞士信贷和高盛投资公司;Java 用户组,例如巴西和伦敦用户组;个人,例如 Werner Keil。

参与 JCP 必须先成为执行委员会一员并签署 Java 规范参与协议(JSPA)(更多参与 JCP 的相关信息参考www.jcp.org/en/participation/membership)。JCP 赋予个人、组织和公司成员主持或参与 Java 规范请求(JSR)的权利。JSR 是 JCP 完善自身或在 Java 领域引入新技术的流程。例如:Java 相关的 JSR 就包括JSR 335 (Lambda 项目),JSR 310 (时间、日期 API), JSR 337(Java 8). 以及上面提到的合并两个执行委员会的JSR 355

执行委员会会议一般是月度会议。除了三次面向全球、自愿参与的面对面会议,大多数会议都采用电话会议形式。下次会议定于 9 月份在捷克共和国首都布拉格市由德国电信主持召开。详情可查看 JCP 会议完整的日程表 jcp.org/en/whatsnew/calendar。

这次月度会议是 2012 年 7 月 31 日。

Java ME 执行委员会需要参加的会议较少,这可能是 Java ME 地位被削弱所致。究其原因,在于移动应用中 iOS 本地应用程序和基于 Java 的可替代它的 Andorid 等的影响日益提高。

随着会议不断召开,一些 JSR 目前的阶段是:

JSR 359 (SIP Servlet):于昨天投票截至;

JSR 358 (Revisions to JCP);7 月份投票截至;

JSR 340 (Java Servlet 3.1 Spec):进入初步草案审阅阶段;

JSR 341 (Expression Language 3.0 for JSP's);投票在今天开始;

JSR 355 (JCP EC Merge):已经处于公开审阅阶段,最终草案已经制定,最终的表决投票将在今天开始。

2011 年 10 月制定的 JCP 执行委员会成员规章 V 2.1(The JCP EC Standing Rules 2.1)规定:出席的定义是成员出席面对面会议。规章同时也规定:如果一个成员连续两次缺席会议将失去选举权;12 个月内连续缺席 2/3 的会议将取消成员资格。

SK 电信和三星在最近 8 次会议中缺席了 7 次,已经达到上面规定提到的数量:12 个月内 10 次会议的 2/3。所以他们很可能失去成员资格。当然,JCP 主管 Patrick Curran 可以法外开恩,但是目前来看没有什么理由如此。

Aplix 的 John Rizzo 指出 Oracle 在 Java Me 执行委员会已经很久没有大作为。所以他们要承担部分责任,Patrick 同意把这个意见反映给 Oracle。 美国电话电报公司(AT&T )也快被取消会员资格,因为前 8 次会议只参加了 2 次。如果今年再缺席一次,资格就会不保。

鉴于打印机业务是 Java ME 的主要应用之一,所以有传言三星的打印机部门会被重新被纳入 JCP 成员。

经过 JSR355 合并两个委员会之后,一些成员资格将被取消,具体实施计划如下:

  • 今年将除去两个重复的席位 - Oracle 和 IBM;
  • 每个新成员仅服务一年;
  • 2013 年,额外减少 3 个候选席位和 2 个批准席位,所有成员都要重新参与竞争;
  • 会员任期将从 3 年减至 2 年;
  • 因为不得不换届,投票在 50% 以上的将获得 2 年任期,50% 以下的一年,50% 的由随机数决定。

JCP 年度奖也在讨论中,提名工作在这星期结束,年度奖分为三类:

  • 年度 JCP 成员
  • 规范杰出主持者
  • 最重要 Java 规范请求

获奖者名单将在 2012 年 10 月 2 日三番市召开的 JavaOne 会议上公布。JCP 接下来几个月的重要主题是 JSR358(“JCP 主要修订”)。相比较 JSR355 用来处理执行委员会合并事宜,JSR358 致力于简化 JCP,让 JCP 更易吸纳成员,简化主要针对的是 JSPA。经常有很多抱怨指出 JSPA 是一份充满威胁感的合法协议,以至于很多只是想自由参与其中的成员觉得荒谬而无法签字。值得一提的是,正因如此,Apache 软件基金会(Apache Software Foundation )和其他一些高级成员在几年前纷纷退出,详见 interview with Patrick Curran on InfoQ

目前 JCP 有 3 个层次的成员:

  1. 自由参与者: 可能去修复一些少重现的 Bug;
  2. 有选举权,但是不想参与主持规范的;
  3. 规范主持者。

相对应的,JSPA 将被修改成三个文档:

  1. 面向自由在线贡献者的有关条款;
  2. 面向想拥有选举权、有权利为 JSR 专家组(EG)服务的简单会员协议;
  3. 面向规范者主持者的完整协议。

令人担心的是:假设 JSAP 协议条款太宽泛,一些大公司可能因为担心在知识产权上失去控制而不想参加;但是假设太严格。他们又会觉得受”威胁“。因此现在必须平衡好这个矛盾。

假设 JSPA 修订成功的被大众认可,我们将在 InfoQ 开辟专栏论述。下次 JCP 执行委员会会议将在 2012 年 9 月 11-12 日在捷克共和国布拉格采用面对面的方式进行。

原文链接:Inside the Java Community Process


感谢侯伯薇对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

Java语言 & 开发