JCP 主席谈 JCP.next 发展

  • 崔康

2014 年 1 月 13 日

话题:Java社区语言 & 开发架构

JCP.next 包括 JSR 348、355 和 358。这些 JSR 强调了一些与开放度、敏捷和管理相关的重要事件。Patrick Curran 是 Java Community Process(JCP)组织的主席。在接受 Java Magazine 采访时,Curran 阐述了 JCP 追求更高透明度、参与度,拥抱开源过程的进化之路。

Curran 首先提到了 JCP 急需改变的原因:过去,大家都觉得专家组都应该秘密地开展工作——把自己关到屋子里关上几个月甚至几年,之后突然神秘的推出一种新规范。现在,JSR 348 从根本上颠覆了这个范例。JSR 348 要求专家小组通过公共邮件列表、公共问题追踪这些方式透明地开展他们的工作。JSR 明确地宣布所有的 JCP 成员和所有的公共成员,在审视、评论、参与流程上享有同样的权利。

如今开源实践变得越来越普遍,在这种情况下想要运行一个有效的标准开发流程,透明度和参与度是关键。JSR 348 加速了这些实践。JSR 355 也是相当的简单。以前我们有两个分开的执行委员会——一个是 Java ME,一个是 Java SE/EE。现在这两个执行委员会已经合并为一个了。Java ME 和 Java SE/EE 都开始收敛,而且现在也没有必要保持两个执行委员会了。这一改变将大大的简化操作。

JSR 358 现在还在进行中。通过强制的使用开源开发流程和为所有 JSR 申请开源代码许可,JSR 358 将把透明度和参与度推到新的高度。这是一项复杂的任务,因为这个任务涉及到修改 Java 规范参与协议(JSPA),而此协议是每个 JCP 成员加入组织时都必须签署的协议。想修改这个协议是很难的,因为这其中涉及到一些复杂的法律表述,这些法律表述是用来解决知识产权和许可模型之类的问题的。修改这些表述会产生深远的影响,所以在修改过程中我们必须小心翼翼。总之,实现 JSR 358 是要花一些时间了。我们已经在 JSR 358 上研究了一年,未来我们可能还需要一年来完成它。

对于 JCP 自身在这场变革中担任的角色,Curran 解释道:所有的专家组都是遵守“法律条文”的。现在我们必须要保证的是他们遵守这种“精神”。如果邮件列表中没有收到什么反馈,或者我们忽略了专家组之外的意见、评论,那么建立这个公共邮件列表就失去了意义。我们必须要保证想参与的人知道如何参与,并且能看到他们的参与是有价值的。JSR 的主页必须提供关于这些活动的所有信息。

我们在尝试通过设置一系列汇报需求来追踪专家组的活动。专家组需要收集信息并将信息示之公众,保证每个人都可以看到这些信息。我们相信通过这些措施我们可以履行承诺。

同时,PMO 致力于向大众提供信息,大众可以通过这些信息判断具体某个专家组的会议透明度如何,参与度如何。我们希望通过公开纰漏消息、公众压力和将这些信息纳入 JSP 投票的参考信息这三方面相结合,最终督促专家组全面履行他们的义务。

Curran 希望使用公共邮件列表和开源开发过程促使大众参与进来,从而使 JCP 更吸引普通 Java 开发者参加。

目前,我们通过一个名为 Adopt-a-JSR 的项目招募 JUG,通过 JUG 聚集开发者共同协助 JSR 这种方式来吸引开发者。这就可能包括审校说明书、测试实施、参与文档之类的活动。我们现在有四十多名 JUG 作为组员,他们共同代表成千上万的开发者。现在,在 JSR 358 的工作中,我们面向个体用户定制了一类新的成员。这类新成员也会有新的成员协议书,但他们的协议书会比目前复杂的法律文档简单的多,而且也不需要所在公司的签名,搞到所在公司签名有时候是一件很麻烦的事情。

在招募个人和 JUG 方面我们已经很成功了,但是我们还需要再接再厉来激发商业团体的参与度。吸引公司参与到 JCP 的最主要因素是积极的、充满活力的开发流程,所以想要更吸引公司我们就要在流程中拥有更多的 JSR。而这并不是执行委员会或者 PMO 可以直接影响的,因为 JSR 是由成员发起的。不过,我们希望通过对开源开发流程的介绍,JSR 的开源许可,可以显著地提高商业团体参与度。

对于如何从正反两个方面来促进这次改革,Curran 已经有了措施:

我们使用一组机制鼓励领导们及时按流程转移他们的工作。正反馈方面,是星级领导项目,这个项目通过每年的 JCP 奖项挖掘卓越的领导。JCP 奖项也挖掘突出的 JSR 和在过去一年有着突出贡献的会员。 从反面来说,JSR 348 提出了超时的概念,对指定时间段内没有达到定义过程阶段的 JSR 进行重新投票。如果其领导不能为延期辩护,不能让执行委员会相信工作正在有建设性的开展着,那么执行委员会就可以要求撤销 JSR。

Curran 总结说,提高透明度、保证参与度对当下保持高效标准开发组织是十分必要的。

只有在我们管理制度、流程开放之后,人们才会参与进来。这是至关重要的。这些最佳实践提高我们开发标准的质量。参与者越多,我们就能获得越多观点,解决越多问题。由此产生的技术将令各方面受益。JCP.next 是一个连续体,它起始于一些基本的透明度、参与度的改变,进一步融合开源开发流程和开源许可。这些调整保证当我们步入一个更动态、更有竞争力的格局时,Java 可以持续保持优势和关联性。

背景介绍

Patrick Curran 是 Java Community Process(JCP)组织的主席。在这份工作中,他管理 JCP 项目管理办公室(PMO)的所有活动,包括过程发展、组织发展、管理成员、规范指导领导和专家、主持执行委员会会议和管理 JCP.org。Curran 已经在软件行业干了二十五年了。他在 Sun 公司和甲骨文公司的工作经历长达二十年。在加入 JCP 之前,他是 Sun 用户软件组的 Java 一致性工程团队的领导。他也是 Sun 一致性委员会主席,Sun 一致性委员会负责制定 Sun 阳公司关于 Java 一致性和兼容性的政策和策略。他积极投身于多个组织和社区,其中包括 W3C(在这里他是质量保证工作组的领导,也是质量保证兴趣小组的主席)和 OASIS(测量指导技术委员会的联合主席)。

JCP(Java Community Process) 是一个开放的国际组织,主要由 Java 开发者以及被授权者组成,职能是发展和更新。Java 技术和 JCP 两者的原创者都是 SUN 计算机公司。然而,JCP 已经由 SUN 于 1995 年创造 Java 的非正式过程,演进到如今有数百名来自世界各地 Java 代表成员一同监督 Java 发展的正式程序。JCP 维护的规范包括 J2ME、J2SE、J2EE,XML,OSS,JAIN 等。组织成员可以提交 JSR(Java Specification Requests),通过特定程序以后,进入到下一版本的规范里面。

JSR 是 Java Specification Requests 的缩写,意思是 Java 规范请求。是指向 JCP(Java Community Process) 提出新增一个标准化技术规范的正式请求。任何人都可以提交 JSR,以向 Java 平台增添新的 API 和服务。JSR 已成为 Java 界的一个重要标准。

Java社区语言 & 开发架构