问题:
Sun 声明的内容是什么?
答复:
Sun 采用 GNU/Linux 操作系统所用的同一种许可证(称为 GPL 版本 2)开放所有 Java 平台实现的源代码。
Sun 声明的具体内容:
- 对 Sun 的 Java SE (JDK) 实现和 Java ME 实现采用 GPL v2 许可证,并对 Sun 的 Java EE 实现新增该许可证。
- 首次发布 JDK 的代码以及 Sun 的 Java ME 实现、项目和社区的代码。
- 未来代码版本和社区开发的蓝图。
此非凡举动是迄今为止对免费软件社区所做的最大贡献,并直接将 Sun 推到开放源代码行动的前沿,而且是最大的一个商业参与者。
返回页首
问题:
此声明对本行业有什么意义?
答复:
此声明宣告了开始开放本行业最重要且普及面最广的软件平台之一的代码库的源代码,此举可以开拓新市场、建立涉及面更加广阔的社区,进而可以更好地推动创新。目前已有超过 38 亿支持 Java 技术的设备,Java 技术已经呈现出迅猛的发展势头,几乎无处不在的应用状况就体现了这一点。现在作为免费软件的 Java 平台可以开拓新市场,并且推动创新下一代网络应用程序。
返回页首
问题:
为什么对 Java 选用 GPL?而不是 Sun 为 OpenSolaris 制定的 CDDL?也不是 Apache 软件许可证?
答复:
此次行动的主要目标之一是扩展 Java 市场,使其向更广更深的方向发展,进而使各方(平台、ISV、OEM 以及各种客户)能够从中获益。我们考虑了多种不同的许可证(包括 CDDL)。虽然考虑的每种开放源代码许可证都可能会有积极效果,但经过评估,我们认为,使用 GPL 可以最大程度地推动 Java 市场的发展。
返回页首
问题:
什么是 OpenJDK 社区?
答复:
Sun 正在筹建 OpenJDK 社区,用于正在进行的 Java SE 开放源代码实现开发。在 OpenJDK 社区中,开发者可以聚集在一起就 JDK 开放源代码库及相关项目进行合作。在此社区中,也进行开放源代码库“实时更新”的 OpenJDK 项目。通过 OpenJDK 项目,开发者能够直接影响 JDK 实现的未来,与其他开发者一起参与开放社区,并扩展 Java 技术应用领域。Sun 正在将现有的 JDK 社区(在过去的两年里,开发者一直在此从事源代码的工作)发展成为 Sun 开发者和非 Sun 开发者同样可以一起就实现进行合作的地方。OpenJDK 社区网址为
http://community.java.net/openjdk。
返回页首
问题:
目前开放了 JDK 软件中哪些组件的源代码?
答复:
我们正在开放 Java 编程语言编译器 ("javac") 与 Java HotSpot 虚拟机的源代码。此外,我们还在开放 JavaHelp 2.0 可扩展帮助系统的源代码,即这第一个代码版本中 Sun 的 JSR 97 引用实现。JavaHelp 代码库网址为
https://javahelp.dev.java.net。
返回页首
问题:
是否也是按照 GPL 开放 JDK 源代码?
答复:
是的,是按照 GPL 版本 2(包含 Classpath 例外)对 JDK 进行许可。此许可证将用于 Sun 的所有 Java 实现,自由软件基金会认可该许可证,并且 GNU/Linux 操作系统也采用此许可证。
返回页首
问题:
何时完成开放 JDK 源代码的工作?最后期限是何时?
答复:
我们预计在 2007 年上半年发布几乎完全以开放源代码为基础构建而成的可完全编译 JDK。
返回页首
问题:
Sun 是否将继续分发 JDK 商业实现?
答复:
返回页首
问题:
Sun 的商业 JDK 版本是否以开放源代码为基础构建而成?
答复:
是的,大部分都是如此。由于 JDK 中存在一些妨碍性代码,因此在完全正常的开放源代码取代这些代码之前,Sun 将继续在商业版本中使用这些代码。
返回页首
问题:
目前开放了 JDK 软件中哪些组件的源代码?为什么选择了这些组件?
答复:
我们正在开放 Java 编程语言编译器 ("javac") 与 Java HotSpot 虚拟机的源代码。此外,我们还在开放 JavaHelp 2.0 可扩展帮助系统的源代码,即这第一个代码版本中 Sun 的 JSR 97 引用实现。JavaHelp 代码库网址为
https://javahelp.dev.java.net。在以后的几个季度里,Sun 会在解决了妨碍性代码问题时根据情况陆续发布 JDK 所有源代码。
幸运的是,JDK 的主要子组件没有妨碍性代码问题,并且包含了 Java 技术中一些最重要的创新。
返回页首
问题:
是否开放 Java 语言或 Java SE 平台规范的源代码?
答复:
我们没有开放 Java 编程语言的源代码,也没有开放平台 API 和规范(它们由 JCP 管理)的源代码。开放的是 Sun 的 Java SE 和 Java ME 规范实现的源代码。
返回页首
问题:
这些组件属于哪个版本的 JDK?是否开放最新的源代码?
答复:
我们开放的是 JDK 7 最初版本的组件的源代码。为了准备开放这些组件的源代码,不仅更改了许可证内容,而且还简化了编译过程,以便能够在完整的 JDK 源代码树外更加轻松地编译这些组件。不久将完成 JDK 6,那时我们将发布 JDK 7 树中的这些组件。这些组件的 JDK 6 版本和 JDK 7 版本之间仅有的另外一些差别是已在 JDK 7 树中做了一些微小的错误修复以及集成了一些增强功能。当我们开放完整的 JDK 的源代码时,将提供 JDK 6 和 JDK 7 的源代码。社区中既有重点提高质量的稳定版本 JDK 6,也有在其中采用创新技术和新功能的下一个功能版本 JDK 7。
返回页首
问题:
什么是 Java 编译器 ("javac")?开发者可以使用此代码做什么?
答复:
javac 是用于将 Java 程序转换为“字节码”(之后由 Java 虚拟机 (Java virtual machine, JVM) 执行这些代码)的编译器。开发者能够试用该编译器、使用此早期发布的代码修复错误以及尝试进行新的优化。
返回页首
问题:
什么是 Java HotSpot 虚拟机?开发者可以使用此组件做什么?
答复:
Java HotSpot 是 Sun 的 Java 虚拟机实现。Java HotSpot VM 包含用于 Java 平台的核心执行引擎,其中包括:
- 动态编译器,用于将 Java 字节码转换为支持硬件平台上的优化本地机器码
- 内存管理和垃圾收集子系统
- 线程和同步
- 监视、调试和为遥测配置文件
- 部分 Java 安全体系结构(包括字节码检验器)
同样,Java HotSpot 虚拟机也是 Java SE 平台的组件,它最直接地体现了 Java 技术的“一次编写,随处运行”承诺。
开发者能够了解如何构建一流的虚拟机,如何使用此代码修复错误、试用新的垃圾收集功能、同步、字节码编译器算法以及将 VM 移植至新的硬件体系结构和操作系统。
返回页首
问题:
什么是 JavaHelp?JavaHelp 与 JDK 有什么关系?
答复:
JavaHelp 软件是功能全面的、独立于平台的可扩展帮助系统,通过它可以在 applet、组件、应用程序、操作系统和设备中加入联机帮助。创作人员还可以使用 JavaHelp 软件在 Web 和公司内联网上提供联机文档。JavaHelp 是 Sun 的 JSR 97 引用实现。
虽然 JavaHelp 不属于 JDK,但它是一项密切相关的技术,并与 JDK 的首批代码组件同时开放源代码。
返回页首
问题:
开发者可以在何处参与实现这些 JDK 组件?
答复:
返回页首
问题:
如何参与?
答复:
返回页首
问题:
OpenJDK 项目的管理模式是什么?
答复:
最初将采用类似于现有的 JDK 社区采用的管理模式。以后,Sun 会逐步将管理模式发展为社区人员共同参与并达到广泛参与、精英领导这一目标。
返回页首
问题:
这些首批开放源代码 JDK 项目的管理和基础结构与 java.net 上的现有 JDK 社区及 jdk6 项目和 jdk7 项目有何不同?
答复:
我们对参与过程进行了多次改进,简化了在代码库中实施开发者的错误修复和实现构想的过程。
返回页首
问题:
Mobile & Embedded 社区是什么?
答复:
返回页首
问题:
您为 Java ME 选用了什么许可证?
答复:
将遵循 GPL v2 对 Java ME 代码进行许可,这与所有 Java 实现一样。
返回页首
问题:
Sun 正在开放 Java ME 中的什么源代码?
答复:
Sun 正在开放 Java ME 实现的源代码。启动后立即提供的是 Sun 的称为 Sun Java 无线客户端的功能电话实现(基于有限连接设备配置 (Connected Limited Device Configuration, CLDC),是目前使得在超过 15 亿手机上实现了丰富移动数据服务的下一代平台版本)的源代码。今年晚些时候,Sun 将发布高级 OS 电话实现(基于连接设备配置 (Connected Device Configuration, CDC) 规范)。
另外,Sun 还在开放兼容性和质量测试工具框架的源代码,其中包括 Java ME TCK 框架(Sun 的 Java ME 兼容性测试的基础)的源代码。我们相信这可以为本行业提供一个用于实现标准化的框架,从而简化测试过程。
在未来几个月中,Sun 将开放 Java 设备测试框架(质量和功能测试的基础)的源代码。该项目让开发者可以创建新的测试,从而减少实现变数,并使其应用程序可运行于多种设备上。
返回页首
问题:
什么是功能电话实现?
答复:
功能电话实现是一个 Java 运行时,专门用于当今大众市场的手机上。
返回页首
问题:
什么是高级 OS 电话实现?
答复:
高级 OS 电话实现是一个 Java 运行时,专门用于面向智能手机与机顶盒等高级移动设备的操作系统上。
返回页首
问题:
Sun 的实现是否在开放源代码的基础上构建而成?
答复:
是的,Sun 的功能电话实现和高级 OS 电话实现都将以开放源代码库为基础。
返回页首
问题:
开发者可以直接使用 CDC 和 CLDC 代码库做什么?
答复:
开放了这些源代码后,开发者将能够直接构建功能电话代码库和高级 OS 电话代码库。而且开发者将有机会下载、评估及使用源代码,并协助正在进行的开发。
返回页首
问题:
Sun 是否继续提供商业实现?
答复:
是的,Sun 将继续采用 Sun 的商业许可证提供功能电话和高级 OS 手机的商业实现。
返回页首
问题:
开放源代码与商业代码库之间有什么区别?
答复:
它们之间的区别有妨碍性代码和对源代码所做的一些微小修改,如闪屏、徽标、许可证及头文件等。
返回页首
问题:
开发者可以使用框架代码库做什么?
答复:
开发者可以使用这些框架对新的移动 JSR 的兼容性测试进行测试,并创建测试来改进实现的质量。
返回页首
问题:
开发者可以在何处参与 Java ME 项目?
答复:
返回页首
问题:
什么是 phoneME 项目?
答复:
在 phoneME 项目中,Sun 发布 Java ME 电话实现,它有一个由各种当前开发模块(包括 CLDC、CDC、MIDP 和各种 JSR 实现)组成的库。
返回页首
问题:
什么是 cqME 项目?
答复:
Sun 发布了源代码后,在 cqME 项目(兼容性和质量)中对 Java ME TCK 框架进行现行开发。将来,Sun 会在此项目中发布源代码,并对 Java 设备测试框架进行现行开发。
返回页首
问题:
什么是应用程序开发者项目?
答复:
应用程序开发者项目将为开发者提供资源,并提供一个场所让大家参与开放 Java ME 应用程序源代码的开发。该项目将提供与 Orange 合作创建的新开发者指南。这些指南将帮助开发者最大限度减少移植工作。此项目还将提供 Java ME 应用程序开放源代码。
返回页首
问题:
此声明对 Java EE 有什么影响?
答复:
自从 2005 年 6 月起,就通过 GlassFish 社区并采用 CDDL 许可证提供 Sun 的 Java EE 5 实现的开放源代码。为了获得 GPL v2 许可证的所有益处并能够采用同一许可证提供整套 Java 平台的实现,将采用 GPL v2 许可证(包含 Classpath 例外)与 CDDL 许可证提供 GlassFish 应用服务器源代码。通过添加第二种许可证,简化了通过其他获得 GPL 许可的社区合并与分发 GlassFish 代码的过程。通过采用通用许可证提供所有 Java,开发者现在可以更加轻松地一起就 Java SE、Java EE 和 Java ME 的更新版本展开合作并进行分发。有关 GlassFish 的更多信息,请访问
http://java.sun.com/javaee/community/glassfish/index.jsp。
返回页首
问题:
开发者如何使用 NetBeans IDE 开始进行有关此代码的工作?
答复:
javac 源代码已配置为 NetBeans 项目,所以只需下载它们,在 NetBeans IDE 中打开并使用 Build Project 命令编译它们即可。有关详细信息和逐步教程,请访问
http://nb-openjdk.netbeans.org/netbeans.org。
另外,可以使用 NetBeans Mobility Pack,它具有拖放屏幕设计功能,使用它可以很容易创建移动应用程序。一流的高效 Sun Studio 开发环境让您可以在 Java HotSpot 虚拟机中处理特定于平台的本机代码。
返回页首
问题:
Sun 为什么现在开放 Java 实现的源代码?
答复:
Java 平台的发展已经历了 11 年多。第一次发布 Java 平台时,便采用与商业软件完全不同的方式,包括采用全新的许可证开放完整源代码。Sun 和 Java 发展系统在当时取得了巨大成功,开拓并发展了充满活力的巨大市场。Java 平台保持了自己的许可模式,即使开放源代码模式快速盛行开来时也是如此,因为 Java 许可模式成功开拓了有许多兼容选择的大型开放市场。现在我们看到了鼓励创造更多条件扩展 Java 平台应用领域的机遇,而免费许可和开放源代码开发方法是考虑的先决条件。
同时,免费软件和开放源代码社区表明,对于任何 Java 实现,都会确保兼容性。另外,现在呈现了对 Web 2.0、SOA 及协作/参与技术进行创新的新潮流,而 Java 平台是进行创新的理想基础平台,且开放源代码有助于加快这一创新的速度。
返回页首
问题:
是什么促成了这一决定?
答复:
一些主要的免费软件和开放源代码社区已表示,他们认为只有与规范完全兼容的 Java 技术实现才能在市场上取得成功。这些社区引领着开放源代码 Java 领域的思潮,现在的工作重心是只提供兼容的实现。
另外,Sun 通过 Java EE 的 GlassFish 开放源代码实现项目、OpenSolaris、OpenOffice.org 和 NetBeans 以及 java.net 上的 JDK 社区,获得了社区开发方面的经验。这些经验使我们相信,通过开放 Sun 的 Java 实现的源代码,该平台将会获益,并且我们可以更好地平衡社区的需求与客户、最终用户和许可证持有者的需求。
总之,我们认为对于一项影响全球数千万人生活与工作的技术,需要谨慎行事。经过多方面考虑,我们认为现在是对 Java 平台采取下一步行动的理想时机。
返回页首
问题:
为什么这对 Java 开发者有利?
答复:
因为数量众多。开放 Sun 的 Java SE 实现的源代码将减少进入开放源代码软件占主导地位的市场的障碍。随着新市场采用 Java 技术,开发者将会发现新的机遇,可以开发更多的应用程序,并可以进行利用 Java 的行业实力基础提供重要新产品和服务的创新。并且,开发者能够直接影响 JDK 实现的未来,并与其他开发者共同参与开放社区。扩展 Java 应用领域,并有利于确保 Java 技术保持用于统一 Internet 标准的中心地位。
返回页首
问题:
Java 客户和用户有何益处?
答复:
投资安全,因为有多种独立的 Java SE 实现,以及 Sun 采用开放源代码许可证提供的引用实现。开放源代码 JDK 设计思路简单:
- 采用 Sun 的 Java 技术毫无困难。Java SE 免费提供-迫于推动竞争、降价和加速创新的市场压力。
- 不管是出于理论角度或经济原因来评价免费的开放源代码软件、希望有更大的灵活性、希望获得透明带来的质量,还是希望了解对自己所做投资的全面掌控情况,都可以采用 JDK,因为一定会有这些优势。
- 使用 Sun 采用 GNU/Linux 分发产品所用同一开放源代码许可证提供的高性能稳定 JDK 实现,可以相信,在新的平台中将会采用 Java 技术,在新的应用程序和基础结构中会利用 Java 技术,并且该技术是未来最具影响力的新产品和 Web 技术的基础。
随着开放源代码加速创新、广泛采用以及扩展平台应用领域,您在 Java 技术上所做投资的价值将会不断增长。
返回页首
问题:
您认为这一计划将为 JDK 打开什么市场?
答复:
采用开放源代码许可证提供 JDK 后,很可能会在下列几个市场中呈现竞争优势:
- 政府、教育和科研等市场,在这些市场中,要求采用或非常需要开放源代码软件。
- 要求采用开放源代码基础结构以保持最大的灵活性以及降低获取成本的企业。
- 选择了以 GNU/Linux 和 OpenSolaris 为基础的 OS 分发产品作为部署的首选 OS 的企业和组织。
为了获得商业支持利益以及预测功能,这些客户可以选择使用 Sun 的商业 JDK 或 JRE 分发产品并签订支持合同。但是,如果商业产品没有开放源代码版本,他们就不会考虑使用这些产品。
返回页首
问题:
这一行动对采用 Java 平台有什么影响?
答复:
Java 平台应用非常广泛,它是目前基于 Web 的最新基础结构中最重要且使用最广的组件之一。但仍有一些未使用或未广泛使用此平台的市场。特别是,通常随附于 GNU/Linux 分发产品并与其一起分发和部署的开放源代码 Web 基础结构“产品集”中有时没有 Java 技术。而那些采用了 Java 技术的产品集通常没有最新的兼容运行时和开发环境。我们将在 GNU/Linux 分发产品中加入 JDK,使其作为这些开放源代码操作系统分发产品通常附带的免费软件库的一部分。这些平台附带了 JDK 后,就很容易获取 JDK 并与这些平台一起安装,我们预计,在北美和西欧以外的地区,Java 技术的应用会更加广泛,并且可以在全球范围内进行最先进的 Web 基础结构部署。
由于 GPL 是使用非常广泛的开放源代码许可证(事实上就是 GNU/Linux 使用的许可证),与 GNU/Linux 分发产品一起采用 GPL 分发 JDK 应该是一种很好的搭配方式,这样,那些寻求开放源代码替代产品的用户采用起来也更加简单。
返回页首
问题:
开放 Sun 的 Java ME 实现的源代码的目标是什么?
答复:
为了保持在移动应用程序开发平台领域位居首位的优势*,Java ME 需要发展与改进。这意味着要有众多开发者参与进来、加速创新以及确保不同设备之间有更加一致的实现。[* Evans Data Corp,2006 年春]
返回页首
问题:
哪些人会从开放 Java ME 源代码中获益?
答复:
Java ME 发展系统中的每个人都会从开放 Java ME 源代码中获益,包括:
通过开放这些实现的源代码,手机制造商可以利用通用代码库来降低其开发成本。最终减小了不同设备之间的差异,换句话说,“一次编写,随处运行”延伸到了下一个层面。
应用程序开发者和操作人员都将从加速的创新中获益,使得开发者能够继续创建功能强大的应用程序和服务,而这些程序和服务反过来也有利于提高回报。且操作人员和手机制造商将从移植、测试和维护成本降低中获益。
返回页首
问题:
Sun 所指的“兼容性”的含义是什么?
答复:
Java 技术的兼容性是指该技术的实现达到了其技术兼容性套件 (Technology Compatibility Kit, TCK) 的相关兼容性要求。对于 Java SE 来说,这意味着通过了 Java SE TCK 中定义的 TCK 测试并达到了其他要求。
返回页首
问题:
您是否认为会有人开发出 JDK 分支产品?
答复:
我们希望有人在该平台的基础上开发分支产品,从而出现非凡的新构想和有价值的研究。此外,Sun 鼓励开发兼容的分支产品,在这些产品中,可将代码移植至其他硬件和软件平台。通过这样的移植,可以将 Java SE 应用覆盖面扩展至尚无任何供应商支持的领域。广泛分发不兼容的分支产品可能会有危险,因为这些分支产品可能会破坏 Java 平台“一次编写,随处运行”的兼容性价值。
返回页首
问题:
如果这样,如何保持兼容性?开放了 Sun 的 Java 平台实现的源代码后,Java 技术如何保持“一次编写,随处运行”?
答复:
Java 技术的兼容性承诺是平台价值的核心所在,因此它是推动制定这一计划的详细规划和决策的最重要的唯一影响因素。Sun 制定了许多针对社区的重要决策和约定,相信可以帮助保持与发展兼容性:
- 许可证:由于所有更改都必须发布出来,因此 GPL 可减少专用分支产品。
- 品牌使用:Java 商标和徽标仅用于兼容的实现。
- JCP:此次行动并不会改变 JCP 作为 Java 标准和发展的管理实体的角色。
- 社区开发:Sun 在建立大型社区方面的经验表明,这里的管理和基础结构很可能就符合开发者的需要。
除了为帮助保持与发展兼容性采取的特定步骤外,我们深信市场需要的是兼容的实现,那些不兼容的实现不会获得成功。安装库中已有数十亿美元的 Java 应用程序,社区已意识到没有运行安装代码库的 Java 实现不会成功。这就是为什么 GNU/Classpath 和 Apache Harmony 项目明确表示他们构建的是完全兼容的 Java SE 实现。
我们在 Java EE 领域的经验也证实这一点:市场中有四个兼容的开放源代码 Java EE 实现(包括 Sun 的 GlassFish 应用服务器),而没有任何非兼容的实现。我们预计 Java SE 平台和 Java ME 平台同样如此。
返回页首
问题:
Java SE 客户可从 Sun 购买什么产品?
答复:
JRE 和 JDK 的二进制代码本身供大家免费下载。最终用户客户可从 Sun 购买 Java SE 企业级支持订阅服务和一次性产品,包括:
- 按照预定计划发布的性能经过优化的高质量二进制代码。
- 打包的更新程序、修补程序和安全修复程序。
- 不定期提供的中断/修复支持(包括客户特定的错误修复程序)。
- 品牌使用:获得使用商标和徽标的许可(包括 "Java Powered")。
- 安装和自定义工程服务。
- 培训和教育。
- 开发者支持。
商业源代码许可证持有者可以选择购买其他服务与获取其他权利,包括:
- 有权提供从经过修改的自定义源代码派生的二进制代码。
- 有权对源代码进行修改,而无需将这些修改加入开放源代码共享中。
- 有权在兼容的自定义实现上使用 "Java Compatible" 徽标。
- 移植服务。
- 自定义开发和工程支持服务。
- 对源代码进行升级和更新。
- 性能优化服务。
- 二进制代码支持。
- 包括 TCK 测试在内的测试服务。
- 培训。
此外,某些需要适于嵌入式实时应用程序的专用版本的 Java SE 的客户可以购买这些增值实现的许可证。我们还在研究一些可以根据需要向喜欢使用开放源代码库“自己动手”(但需要一些额外的帮助)的客户提供的支持服务。
返回页首
问题:
为什么要从 Sun 购买这些增值服务和实现?
答复:
Sun 是唯一一个开放了几乎其全部软件产品源代码的系统供应商,让客户可以利用许多只有它可以提供的独一无二的优势,包括:
- 通过范围更广的产品实现开放源代码业务模式的经济优势。
- 获得认可的“金牌标准”Java SE 实现和 Java ME 实现,开放源代码社区非常希望对这些实现进行创新。
- 选择使用 GPL 许可证,这可以实现开放源代码共享价值最大化以及最大限度推动兼容性发展,同时创造了将商业许可证以及为许可证持有者提供的支持服务货币化的机遇。
- 可以与 JDK 的主要设计者和创建者交流,包括支持和调优服务。
- 系统经过优化,运行 Java 应用程序时表现出非凡的吞吐量、功能和空间特征。
- 包括 NetBeans 5.5 和 Sun Studio 在内的开发工具,提高了开发者的效率。
此外,Sun 还公开了有关 Java 技术和开放源代码最佳实践的独家专业技术和知识。上述这些做法有助于 Sun 将 OpenJDK 建为适于创新活动的最具影响力的开放源代码社区,从而使 Sun 可以从开放源代码计划中获得最大收益。其中一些优势如下:
- 拥有掌握与平衡复杂多样的 Java 发展系统的需求方面的经验。
- 拥有无人可及的开发者资源和社区开发经验。
- 具备将企业级严格的开发过程与开放源代码透明化结合在一起的非凡能力,利用社区开发的优势提供准时交付的顶级商业产品。
- 在提供用于管理世界上最大的开放源代码项目的可伸缩社区基础结构方面取得了公认的成功。
- 提出参与、透明化、开放式开发和协作设想并予以实现。
- 非常清楚 F/OSS 社区的关注点和期盼点,并且拥有平衡社区需求与客户兴趣点的实际经验。
- 拥有开放大型代码库源代码、平衡各方关注点以及实现应用与普及货币化,同时尊重各方知识产权的最佳实践策略与过程。
返回页首
问题:
Sun 的 Java ME 业务会受到什么影响?
答复:
Sun 坚信许可证持有者将会继续利用 Java ME 商业产品和服务来协助其让使用者享受到精彩绝伦的移动 Internet 体验。因此,我们预计在轻松获取源代码带来经济效益提高的基础上,商机会不断倍增。
返回页首
问题:
您为开放源代码 JDK 组件选择了哪种许可证?
答复:
对于几乎所有虚拟机,选用了 GPL v2;对于类库与虚拟机中公开公共 API 的那些部分,选用了 GPL v2 + Classpath 例外。
返回页首
问题:
您为 Java ME 和 Java ME 框架的实现选择了哪种许可证?
答复:
对于所有与 Java ME 有关的组件,选用了 GPL v2。
返回页首
问题:
是原封不动地使用了 GPL v2,还是对其做了改动?
答复:
没有任何改动。Sun 使用的是未修改过的 GPL v2。
返回页首
问题:
GPL v2 是否是开放源代码许可证?
答复:
返回页首
问题:
什么是 Classpath 例外?
答复:
返回页首
问题:
为什么需要 Classpath 例外?
答复:
如果应用程序以 Java 实现(如采用 GPL v2 许可的 JDK)进行分发,该应用程序可能必须遵循 GPL 要求,即作为“基于 [GPL] 程序的产品”一部分提供的所有代码也应采用 GPL 进行许可。因此,需要 GPL 许可例外,明确规定链接到 GPL 实现的任何应用程序无需遵循此许可要求。Classpath 例外可以实现这一点。如果不使用 Classpath 例外,采用 GPL v2 许可的 Java SE 实现就无法实际以非 GPL 许可的 Java 应用程序进行分发。如果未解决该问题,可能会导致出现严重的应用障碍,例如 OpenSolaris 或 GNU/Linux 分发产品无法应用。
返回页首
问题:
为什么选择了此许可方式?
答复:
这是免费软件社区中常用的许可方式,例如用于 Java 技术实现的组件(包括虚拟机和类库)的 GNU/Classpath 和 Kaffe。我们特意选择这一许可方式,以避免外界再次猜测 Sun 试图采用纯免费的开放许可证提供 Java SE 实现。
返回页首
问题:
GPL v2 + Classpath 例外的许可条款不是与 LGPL 非常相似吗?为什么不改用 LGPL?
答复:
是的,从实际角度来看,Classpath 例外的条款与 LGPL 相似。但是,因为免费软件 Java 技术社区没有选用 LGPL,所以 Sun 沿用他们采用的方式,使用 Classpath 例外。
返回页首
问题:
这是否意味着 Sun 放弃了 CDDL?
答复:
绝对不是!Sun 开发了广泛、实用的免费开放源代码许可方式,并使用多种不同的许可证来满足开展的社区的各种需求。
例如,请注意,GlassFish 将包含 Classpath 例外的 GPL v2 与 CDDL 许可证结合使用(而非替代),现在就是采用这种方式进行许可。
返回页首
问题:
开放其余代码库的源代码时,是否采用此方式许可整个 JDK?
答复:
是的。
返回页首
问题:
那么如何提供仅包含二进制代码要素的 JDK?您曾提过存在妨碍性代码。
答复:
这个问题提得好!此首次声明中涉及的 Java SE 组件都不含妨碍性代码,因此不存在仅包含二进制代码要素的问题。如果此时提供完整 JDK 或其他 Java SE 组件,可能仍会有无法提供源代码的妨碍组件。软件自由法律中心和自由软件基金会帮助我们起草了 GPL 的特殊例外条款,以便能够编译完整 JDK。此例外条款只是暂时应用,直到删除了妨碍性代码为止。欢迎您协助我们尽快完成这一事项。
返回页首
问题:
为什么没有选择 BSD 或 Apache v2 之类的许可证?
答复:
Sun 在选择用于 JDK 源代码的许可证时考虑了多个方面。我们希望:
- 最大限度降低出现不兼容分支产品的可能性。
- 推广应用。
- 扩大开放源代码社区的涉及面。
- 保护并增强那些获得了许可并选择支持 Java 平台的各方的投资。
在经过全面分析并咨询了 Sun 内外专家后,我们认为在可供选择的许可方式中,GPL v2 + Classpath 例外的许可方式最有可能达到这些目标。我们知道这种许可方式不太可能让所有人都满意,但我们认为它可以很好地平衡开发者和 Sun 的需求。
返回页首
问题:
为什么用于 Java ME 的许可证与用于 JDK 的许可证不同?为什么没有将 Classpath 例外用于 Java ME?
答复:
对于 Java ME,无法安装和集成实现,而是在硬件上集成实现。同样,对于 Java ME,也不会出现像 Java SE 实现那样要采用 Classpath 例外的问题。
返回页首
问题:
GPL v2 的优势是什么?
答复:
除了实现推动免费软件发展的初衷外,GPL v2 中还规定要求与公众共享创新技术,从而协助推动项目和代码共享的发展。该许可证明确要求与项目共享所有修改,从而最大限度减少专用分支产品。GPL v2 就是体现 Java 的商标“一次编写,随处运行”价值主张的许可证。
返回页首
问题:
采用 GPL v2 + Classpath 例外时,开发者有哪些权利?
答复:
返回页首
问题:
采用此许可证时,开发者有哪些义务?
答复:
再次强调,了解 Sun 选择用于 JDK 源代码的许可证的最佳答案就是许可证本身。
返回页首
问题:
如何使用开放源代码库创建派生产品?
答复:
目前 Sun 的 Java 平台实现是免费软件。开发者能够以使用 GPL v2 许可的代码库时可以采用的任何方式,来使用 JDK 和 Java ME 开放源代码代码库。这些实现不属于“特例”。
返回页首
问题:
是否可以使用此代码创建与 Java 规范不兼容的实现?
答复:
可以。但我们建议不要也不支持这样做。此外,不允许在相应的实现上标记 "Java Compatible" 和 "Java Powered" 品牌和徽标。使用这些品牌表明实现通过了相关 TCK。
返回页首
问题:
是否可以创建甚至未实现 Java 但却使用部分 JDK 的软件?如果有限制,这些限制是什么?
答复:
可以。没有任何限制。但是,与采用 GPL v2 许可的代码一样,必须确保所有生成的程序(结合了所用的部分 JDK)都要按照该许可证要求附带完整的源代码。
返回页首
问题:
是否可以将生成的软件称为 "Java"?
答复:
不能。
返回页首
问题:
要将以 OpenJDK 项目或 phoneME 项目中的代码为基础构建而成的软件称为 "Java",必须做些什么?
答复:
使用 "Java" 商标和名称的要求并未随着 JDK 和 Java ME 源代码开放而改变。GPL v2 不包含商标许可证,OSI 批准的开放源代码许可证也不包含商标许可证。Sun 目前没有许可计划,允许在您的产品或公司名称中使用 "Java" 标记。但可以根据 Sun 关于商标使用的标准条款,使用将您的产品或公司与 Java 技术关联的符合事实的“口号”。有关更多详细信息,请访问
http://www.sun.com/policies/trademarks/。
返回页首
问题:
要使用“咖啡杯和热气”徽标,必须做些什么?Sun 是否对其进行许可?
答复:
返回页首
问题:
如何知道对 OpenJDK 项目中的哪些组件采用了 GPL,对哪些组件采用了 GPL + Classpath 例外?
答复:
每个源文件都是单独进行许可。 主要区别在于是否有以下这句话:
在此代码附带的许可文件中,Sun 指明此特殊文件遵循 Sun 提供的 "Classpath" 例外。
(在 "+ Classpath" 版本中)。因此,如果许可证标题中有 "Classpath" 一词,基本上就可以断定适用该例外。
返回页首
问题:
请介绍一下 GPL v3 的情况。是否考虑过使用该许可证?
答复:
虽然 Sun 积极与自由软件基金会合作开发与审阅 GPL v3 许可证,但目前该许可证尚未完成。Sun 迫切希望及早完成开放 Java 技术实现的源代码,因此,决定使用已制定的现有许可方式,而不是等待 GPL v3 完成。使用 GPL v2 并不表示对 GPL v3 有所微词。Sun 会继续非常积极乐观地参与该新许可证的开发。
返回页首
问题:
我想参与,是否需要签署什么协议才能开始?
答复:
返回页首
问题:
为什么要制定参与协议?
答复:
制定 Sun 参与者协议 (Sun Contributor Agreement, SCA) 是为了确保 Sun 有权在产品和项目中使用您参与的工作成果。另外,该协议还要求您保证您有权向 Sun 授予这些权利,以及据您所知,您参与的工作成果没有侵犯其他任何人的权利。Sun 对当前许可证持有者负有的责任不会因为免费提供这些实现而免除,因此,Sun 需要这种共享以便为扩展的 Java 社区提供服务。
返回页首
问题:
如果签署 SCA,我是否会失去某些参与权利?
答复:
与其他一些要求您将版权移交给某个组织的参与协议不同,SCA 不会剥夺您对所提供的知识产权的任何权利。接受 SCA 后,您就向 Sun 授予了版权的共同所有权以及您参与的工作成果的专利许可。您仍对所参与的工作成果享有所有的权限、权利和利益,并可随意使用。
返回页首
问题:
有其他一些非营利性社区,为什么我要与 Sun 共享我的版权?
答复:
共享版权可保护 Java 社区的利益。Sun 起着中间桥梁的作用,确保开放源代码社区和传统的商业组织能够为了各方的利益发展 Java 发展系统。为此,Sun 需要能够采用开放源代码许可证与商业许可证以整体方式提供 Java 平台。Sun 可通过 SCA 来实现这一点。此外,这让 Sun 可以确保知晓每行代码的出处,以便应对今后出现针对 Sun 或社区的诉讼;这还让 Sun 可以在未来必要时升级开放源代码许可证。
返回页首
问题:
Sun 可以对我参与的工作成果做何处理?
答复:
Sun 可以行使版权所有者拥有的所有权利,以及您在 SCA 中授予使用您参与的工作成果中任何专利的权利。您也一样。
返回页首
问题:
Sun 是否会继续采用商业许可证与 GPL v2 提供 JDK 和 Java ME 源代码?
答复:
是的。事实上,出于各种原因,Sun 的一些现有许可证持有者更愿意使用商业许可证而不是开放源代码许可证。
返回页首
问题:
Sun 为什么会继续采用商业许可证提供 JDK 和 Java ME 源代码?
答复:
Sun 对其许可证持有者负有商业义务,毫无疑问,在开放代码库的源代码后,我们会继续履行这些义务。Sun 将继续与许可证持有者(希望分发从 Sun 的实现派生的产品,而 GPL 中没有相关规定要求其再将所做修改提供给社区)合作。Sun 的商业 Java 技术分发许可证要求许可证持有者只能分发符合 TCK 中针对相关 Java 技术的规定的兼容实现。
返回页首
问题:
获取 JDK、Java ME 实现或 Java ME TCK 框架源代码的商业许可证的过程是什么?
答复:
返回页首
问题:
Sun 是否会继续提供 JDK 和 JRE 二进制代码包?
答复:
是的,Sun 会继续采用二进制代码许可证 (Binary Code License, BCL) 提供这些代码包。此外,Sun 还会提供 GNU/Linux 和 OpenSolaris 分发产品的 Java 分发许可证 (Distribution License for Java, DLJ) 代码包。
返回页首
问题:
Sun 是否会更改用于其 JRE 的二进制代码许可证的条款?
答复:
目前尚未更改。
返回页首
问题:
JCP 的规格许可证呢?是否发生变化?
答复:
没有,该规格许可证没有任何变化。
返回页首
问题:
Sun 是否会更改对 Java SE 和 Java ME TCK 进行许可时遵循的条款?
答复:
目前尚未更改。一直以来我们都将工作重点放在提供源代码上。
返回页首
问题:
是否可以将从 Java HotSpot 开放源代码派生的虚拟机与现有的 Sun Java 类库相结合?
答复:
JDK 6 的候选发布版本的分发许可证包含一些特殊文字(第 3.6 节),明确允许将 Sun Java 类库与 Java HotSpot 开放源代码一起使用,但仅限内部使用和评估之用(注意:候选发布软件并未获得授权可用于生产与再分发)。这只是用于对 Java HotSpot 开放源代码进行有效评估与测试的临时性解决方法。开放了类库的源代码后,就不需要此解决方法。
返回页首
问题:
Sun 怎么能够对开放源代码库采用其他许可证?难道它不再是“开放源代码”?
答复:
因为 Sun 拥有开放源代码库的版权,所以 Sun 能够采用任何许可证(包括商业软件许可证)对其分发的此代码库的每个副本进行许可。这是版权法中规定的权利。多个免费的开放源代码社区中都采用这种做法。
返回页首
问题:
Sun 是否会提供下载 JDK 开放源代码库的二进制版本?如果这样,采用哪种许可证?
答复:
JDK 的第一个代码版本中发布的最初模块没有二进制版本。我们正在对 2007 年春要发布的主代码版本检查此问题,并会在制定决策时考虑妨碍性代码。
返回页首
问题:
您所提的“妨碍性代码”是指什么?
答复:
JDK 和 Java ME 实现中有些部分包含一些特殊代码,Sun 可能没有足够的权利采用允许第三方创建不受限制的可再许可派生产品的许可证发布这些代码。要采用 GPL v2 发布这些实现,必须拥有这些权利。我们对其没有这些权利的那部分代码称为“妨碍性代码”。
返回页首
问题:
您提到的将于 2007 年初提供“可完全编译”的 JDK 是指什么?
答复:
我们将采用 GPL 发布尽可能多的源代码。但是,可能无法避免 JDK 的第一个可编译版本中存在一些妨碍模块。近期,我们将提供从这些源代码汇编而成的单独的二进制代码包,可以将这些二进制代码包与多个版本的 GPL 源代码结合创建可正常使用的完整 JDK。以后,我们希望重新编写这些组件,删除封闭源代码,希望您能助我们一臂之力!
返回页首
问题:
JDK 中有哪些妨碍组件?
答复:
最主要的妨碍性代码在二维图形领域:ICC 颜色管理库、字体渲染器和图形渲染器。对于颜色管理库,有相当直接的开放源代码替代产品,因此我们认为这个比较容易处理。但目前虽然有相当不错的开放源代码字体渲染器和图形渲染器,但不幸的是,它们目前尚不支持 Java 2D API 的所有功能,因此使这类组件与 JDK 结合在一起还需要投入大量工作。
返回页首
问题:
如何对二进制妨碍代码进行许可?我是否能够再分发使用 GPL 的源代码和二进制妨碍代码构建而成的 JDK?
答复:
我们将使用在自由软件基金会和软件自由法律中心协助下编写而成的特殊 GPL v2 例外,该例外允许再往下分发此类 JDK。有关此主题的更多信息,请参见“许可”。
返回页首
问题:
是否会以开放源代码形式提供 Java ME 功能电话实现和高级 OS 电话实现中的所有内容?
答复:
不会,在这些电话实现中可能会有多处妨碍性代码。这些妨碍性代码包括对专用电话硬件、图形引擎及音效引擎等的支持。开放源代码库中不会包含所有这些组件及任何其他妨碍性代码。
返回页首
问题:
如何管理 Java ME 代码库中的妨碍性代码?
答复:
Sun 正在积极与知识产权 (Intellectual Property, IP) 所有者进行协商,以取得将妨碍性代码(如果有)添加到开放源代码库中的权利。并将尝试用开放源代码或其他合适的替代产品取代妨碍性代码。对于包含妨碍组件的实现,继续以采用商业许可证的方式提供。
返回页首
问题:
OpenJDK 社区的管理模式是什么?
答复:
我们正在研究开放源代码社区中的现有管理模式,但我们要花一些时间进行仔细的分析并收集更多的信息和建议,然后再制定这个非常重要的决策。我们计划逐步将管理模式发展为社区人员共同参与并达到广泛参与、透明、精英领导这一目标。
返回页首
问题:
我是否可以从现在起参与修复和改进 JDK?如果可以,怎么做?
答复:
返回页首
问题:
谁将决定接受哪些针对 OpenJDK 代码库的参与工作成果?
答复:
与 JDK 6 计划一样,在此过渡阶段将由 Sun 做出最终决定。
返回页首
问题:
Sun 是否会一直控制 JDK 的发展?
答复:
我们打算建立一个就此代码库展开工作的充满活力的社区,以便可以利用已得到验证的开放式开发的力量发展 JDK。同时,我们还决定保持及时提供高质量版本的能力,这是一个不仅有益于 Sun 而且有益于整个 Java 社区的目标。我们深信能够协调这两个目标,并期待社区对在做出有关代码更改的决定时如何顾全这两个目标提出建议。
返回页首
问题:
非 Sun 成员是否能成为 JDK 的提交者?
答复:
当然!我们非常乐意与非 Sun 社区成员就代码进行合作,并按照开放源代码项目的惯例,邀请他们当中最杰出的人员担当代码库的提交者,他们与 Sun 社区成员享有同等待遇。
返回页首
问题:
JDK 的非 Sun 提交者是否享有同等待遇?
答复:
是的。他们与 Sun 工程师享有同样的权利正是我们的意愿。他们还将承担所有责任,包括审阅代码职责,以及遵循并协助改进各种有助于构建高质量 JDK 的开发实践和过程的义务。
返回页首
问题:
是否会出现向 OpenJDK 社区提供的代码(如用于移植到其他操作系统或平台的代码)不会在 Sun 的实现中采用?
答复:
有可能,但对于这个问题,我们可能会收集社区各方信息。Sun 不可能测试这类代码,因此其质量可能达不到代码库中其余代码的水平。如果进行了无关的更改,无意中导致大家共同参与的这类代码出现问题,情况就会更加复杂。
返回页首
问题:
Sun 是否计划提供其 JDK 质量测试套件?
答复:
我们将提供其中一些(而非全部)测试套件,并且不是一次提供完毕。而是会根据实际需要,提供尽量多的回归测试和单元测试套件及其代码。我们计划最终提供其中一些功能测试。有些测试依赖于只能在 Sun 内部使用的内部测试框架、测试工具或环境,这可能会限制社区使用它们。我们还计划创建质量门户网站,以便与社区就测试展开密切合作。
返回页首
问题:
Sun 是否会允许 OpenJDK 代码库中存在替代的组件实现?
答复:
有可能。但与不会属于 Sun 实现的代码一样,同步无关的更改可能会比较困难。我们可能会收集一些信息来帮助决定如何管理这类事务。
返回页首
问题:
Mobile & Embedded 社区的管理模式是什么?
答复:
Mobile & Embedded 社区最初将采用过渡管理模式,以后会逐步改进该模式。Sun 团队研究了开放源代码社区中的许多现有管理模式后,决定采用一个认为不错的初始模式。
该模式的基本原则是透明、参与、兼容性和卓越工程管理。其管理委员会由 5 名成员组成。其中 2 名常任成员是来自 Sun 的代表,1 名成员由 Sun 任命(非 Sun 成员),还有 2 名成员是从 Mobile & Embedded 社区的成员中选举产生的。该委员会的职责是通过监督社区事务以及促进社区运作与其制定原则和目标保持一致来维护社区健康发展。
Mobile & Embedded 社区处理的项目将包括 Java 平台项目(基于 JSR)、Java 工具项目(工具、实用程序及库等)和 Java 应用程序项目(midlet 或 xlet)。如果要在社区中新建项目,可以填写项目请求表单,如果达到立项标准,即可新建项目。批准的项目都放在培养器中。此时,项目会一直处于培养器状态,直至达到成为 Mobile & Community 正式项目的标准。项目级别管理由项目所有者决定。
返回页首
问题:
是否可以在 Mobile & Embedded 社区中新建项目?
答复:
是的,可以在 Mobile & Embedded 社区中新建项目。可通过在 java.net 上提交新项目提议来新建项目。这些达到培养器立项标准的新请求项目放在培养器中。要从培养器状态转为 Mobile & Embedded 社区正式项目状态,项目必须达到特定标准,如透明度、质量及兼容性要求等。
返回页首
问题:
我是否可以参与修复和改进 phoneME 项目和 cqME 项目?
答复:
返回页首
问题:
谁将决定接受哪些针对 Mobile & Embedded 社区项目的参与工作成果?
答复:
提交者有权将代码提交到源代码树中。在成为提交者之前,参与者必须在提交者的帮助下才能使其代码接受审阅并得以提交。
返回页首
问题:
非 Sun 成员是否能成为 phoneME 项目和 cqME 项目的提交者?
答复:
当然!与 OpenJDK 社区一样,我们非常希望与非 Sun 社区成员就代码进行合作。并希望最杰出的参与者担当代码库的提交者。
返回页首
问题:
非 Sun 提交者是否享有同等待遇?
答复:
是的。与 OpenJDK 项目一样,非 Sun 提交者与 Sun 工程师拥有相同的权利和责任。
返回页首
问题:
Sun 是否计划提供其 Java ME 质量测试套件?
答复:
Sun 还没有计划提供质量测试套件。
返回页首
问题:
成为 Mobile & Embedded 社区中的完备项目的标准是什么?
答复:
成为 Mobile & Embedded 社区中完备项目的标准是符合基本原则及必要的法律要求。
返回页首
问题:
什么是 Java 品牌?
答复:
Java 品牌由两部分组成:名称 (Java) 和徽标(Java 咖啡杯和热气)。此外,还有一些用来进一步明确使用的是 Java 技术以及表明某产品符合其品牌承诺情况的“子品牌”:Java Powered 和 Java Compatible。
这些品牌(及其徽标)是由 Sun Microsystems 拥有、保护及管理的宝贵注册商标。Java 品牌有非常明确的价值主张-“一次编写,随处运行”的承诺(任何了解技术的用户和 IT 专业人士都认同这一点),还有一个意义就是可使用其代码生成强健且易于使用的优秀应用程序。
Sun Microsystems 将管理对该品牌的使用,继续拥有并保护该品牌及其价值。任何希望使用 Java 品牌系列之一的产品都必须符合相关 Java 品牌方案。
http://www.java.com/en/about/brand/ 上概括列出了这些品牌。
返回页首
问题:
我是否可以将利用从你们的开放源代码站点下载的代码创建的产品称为 "Java"?
答复:
按照该品牌的相关准则,如果您的产品符合使用 Java 品牌(请参见
http://www.java.com/en/about/brand/)的多项方案要求(包括适用测试)之一,可以使用相应的 Java 咖啡杯和热气徽标。
例如:
- “我们的产品 Foo Sneakers 符合 Java Compatible。”(添加徽标)
-
“此 OpenJDK 项目源代码派生产品符合 Java Compatible。”(徽标)
-
“我是使用 Java Compatible 实现创建该应用程序,且其为 Java Powered”(徽标)
要使用 Java Powered 徽标,您必须是 Sun 合作伙伴优势计划的成员,并提供基于 Java 的应用程序(适于 Java SE 1.4 或更高版本)。要使用适于 Java SE 的 Java Compatible 徽标方案,您的实现必须通过 Java SE 的相关 TCK 并申请该徽标。但如果您并未努力并达到 Java 品牌方案的要求,那么就无权使用 Java 名称与其徽标。而只能在法律上称为“正当使用”的地方使用 Java 一词。(请参见下面的问题)。请注意,在美国法律和其他司法规章中,没有“正当使用”徽标的规定,因此,您必须拥有许可证才能使用徽标。
例如,您可以说:
返回页首
问题:
我是否可以使用 "JDK" 一词来描述我的产品-毕竟它是利用 OpenJDK 项目的代码创建生成的?
答复:
商标 "JDK" 是 Sun 的 Java 开发工具包的名称。因此,它的规则与 "Java" 商标类似。您不能将您的产品与实现称为 JDK,即使它是基于您从 OpenJDK 项目下载的代码也是如此。但您可以遵循 Sun 的“正当使用”准则使用 "JDK" 一词。有关更多信息,请参见
Sun 的商标政策。
返回页首
问题:
我怎么知道别人的产品是不是兼容产品?
答复:
如果产品带有 Java 咖啡杯和热气徽标,并且/或者使用 Java Compatible 一词或 Java Powered 一词,那么该产品遵守 Sun 的商标和兼容性方案规则,并且一定是经过测试的兼容产品。
如果产品中说明了它与开放源代码 Java 社区及其代码的关系(如“从
openjdk.dev.java.net 上的代码派生而来”),那么务必要仔细查看其声明,并了解是否有代码经过了测试且获得认可使用 "Java Powered" 或 "Java Compatible" 的较具体证据。例如,您可以询问解决方案是否通过了相应 TCK 测试套件的认证。
返回页首
问题:
如果我使用开放源代码站点上的代码创建了产品,但并不要求它通过 Sun 的认证,那么可以怎样描述该产品?
答复:
如果您是使用从
java.net 上的开放源代码 Java 技术项目站点之一(如
openjdk.dev.java.net)下载的代码创建了派生产品,该产品在通过 "Java Compatible" 认证之前视为不符合 "Java Compatible",而只是“基于 OpenJDK 项目中的开放源代码的派生产品”。虽然它可能确实是 Java 技术的派生产品,但商标法只支持在经过 Sun 验证并许可后使用该词。
但商标法支持“正当使用”的概念,即允许遵循特定准则以文本形式使用作为商标的词语。
正当使用 Java 商标时,您需承认 Sun Microsystems 拥有该商标。以下表述属于正当使用:
“Java、JDK、OpenJDK、Java Compatible、Java Powered 和 ... 是 Sun Microsystems, Inc. 在美国或其他国家/地区的商标或注册商标。”
有关如何及何时能够使用 Java 商标的完整说明,请访问
http://www.sun.com/policies/trademarks/。
返回页首
问题:
什么是 Java 认证计划?
答复:
Java 认证计划是一个无线行业推动的组织,提供适于移动 Java 技术应用程序的完整测试过程。其成员公司包括 Motorola、Nokia、Siemens、Sony Ericsson、Vodafone Group、LG Electronics、Orange 及 Sun Microsystems,这些成员一起制定测试移动应用程序时遵循的测试标准。对于那些通过认证测试的应用程序,可以使用 Java Powered 徽标和数字证书证明软件的真实性和完整性。
返回页首
问题:
什么是 TCK?
答复:
技术兼容性套件 (Technology Compatibility Kit, TCK) 包括兼容性测试、工具和文档,让您可以确定某个特定实现是否在某个特定主机平台上完整且正确实现了 Java 规范要求 (Java Specification Request, JSR) 定义的特定 Java 技术规范。如果您的产品或实现通过 TCK 测试表明符合某个规范,并且满足其 TCK 中所述有关某个规范的所有未测试兼容性要求,表明其以兼容方式实现了该规范。
返回页首
问题:
开发者是否能够对其修改的组件运行 TCK 测试?
答复:
我们很清楚,对于从事开放源代码库工作的开发者来说,能够使用 TCK 测试这一点很重要。但是,我们一直把精力完全放在首个源代码版本的工作上,目前还不能提供有关使用 TCK 的任何信息。
Sun 推出了“兼容性测试奖励计划”(参见
Compatibility Testing Scholarship Program)作为有资格的教育以及非营利性机构使用 TCK 和支持服务的途径,这已经持续了相当一段时间。TCK 奖励计划将一直持续下去。
返回页首
问题:
个人或组织通过 JCP 向 Sun 申请并接收 TCK 支持奖励的过程是什么?
答复:
请参见
Web 站点上的“如何申请奖励”("How to apply for a scholarship") 部分。
返回页首
问题:
在 JCP 中,开放 Java SE 和 Java ME 的源代码是否需要进行什么更改?
答复:
返回页首
问题:
Java SE 和 Java ME 规范如何得以改进?
答复:
JCP 定义了创建和更新 Java 技术规范的
流程。这是不会更改的。现在,Sun 是整个 JSR(负责定义 Java SE 的组件)的规格领导者。由 Java SE 专家组和规格领导者共同商定将在每次发布新规范版本时纳入哪些附加的 JSR 和其他一些微小的改进之处。由 JCP 执行委员会通过投票对所有更改做出最终审核。对于 Java ME 平台,流程完全相同。
返回页首
问题:
我如何参与 Java SE 或 Java ME 的改进?
答复:
可以通过多种方式来影响 Java SE 或 Java ME 平台的发展方向:1) 您可以加入 JCP 并提交或参与一份将包含在 Java SE 或 Java ME 规范中的 JSR;2) 在公共评论期间对这些 JSR 规范发表评论;3) 与 Sun 或 JSR 专家组成员一起合作来对您的计划发出倡议;4) 在 OpenJDK 或 Mobile&Embedded 社区中与 Sun 合作来对实现进行微小的改进(即微小的改进不会涉及增添单独的 JSR 条目)。JCP 计划办公室最近发起了
JSR 306 活动,其目的之一是寻求能使更多人以个人身份参与提交 JSR 的方法。
返回页首
问题:
我如何加入 JCP?
答复:
返回页首
问题:
我的雇主不允许我以个人身份私自加入 JCP。但我仍然想参与 Java 的改进,我应该怎么办?
答复:
许多雇主都针对雇员参与外部团体(如 JCP 或其他标准机构)采取了限制措施。通常这些措施都具备非常充分的理由,雇主完全可以向雇员做出合理的解释。不过,如上所述,有多种不用签署 JSPA 即可参与 Java 改进的方法。此外,JSR 306 的目标之一是寻求能使更多人以个人身份参与 Java 改进以及允许更多外界力量加入 JSR 开发过程的方法。
您即使不是 JCP 的成员,也可以有多种方法参与并影响 Java 的改进:所有规范草案都是公开的,您随时可通过电子邮件发送您在关于 JSR 的各个 Web 页上找到的评论别名,来直接向规格领导者和专家组提供反馈。
最后,非常重要的一点是,为了能够随时了解有关 Java Community Process 的信息,您可以订阅 JCP 邮件列表:JCP-INTEREST。有关更多详细信息,请访问
Web 站点。
利用此列表,您可以在规范提议通过 Java Community Process 审议的同时随时了解它们的进展。当提出新规范、请求对现有规范实施修订、推出规范草案以及规范得到最终确定时,您将会收到通知消息。
返回页首
问题:
参与 OpenJDK 和 Mobile&Embedded 社区有哪些要求?
答复:
返回页首
问题:
在参与之前我是否需要签署什么协议?
答复: