写点什么

Oracle 将关闭 Java.net 和 Kenai.com 社区

  • 2016-05-13
  • 本文字数:1431 字

    阅读完需:约 5 分钟

Oracle 宣布在大约一年后关闭Kenai.com 和Java.net 社区;他们已经建议项目管理员索取项目数据,包括代码、Bug 跟踪信息、邮件历史、维基页面和论坛内容,以便能够继续在其他地方运作项目。这一举措同市场上的其他类似决定一致,如像 Codehaus Google Code 这样的网站之前就已经宣布关闭。

关闭 Kenai 本身并不让人意外,因为 2015 年 9 月 Oracle 就已经宣布。只是那份公告指出,项目将会迁移到 Java.net 社区,实际上只是两个平台的合并。这就是说,最近的决定有严重的后果,如果项目管理员没有及时采取措施,那么许多项目可能会消失。

事实上,不单是这个案例会让人产生疑问,为什么与其他类似社区相比 GitHub 如此受欢迎。Kenai 和 GitHub 项目都是在 2008 年开始运作,虽然 GitHub 早几个月,但那种差别不足以解释先动优势。另一方面, Kenai 提供的功能比其他任何平台提供的功能都广泛,这就是说,肯定有其他因素起了作用。

GitHub 和其他平台(如 Kenai 或 Java.net 项目)最显著的不同是他们背后的主要推动力:后者是为开源社区提供支持的项目,而前者是一个全面的商业计划。自创立以来,GitHub 已经募集了 3.5 亿美元来支持他们的发展( 1 亿美元来自 Andreessen Horowitz 2.5 亿美元来自红杉资本);相比之下,Kenai 项目在启动 8 年之后仍然处于 Beta 状态。

不过,最重要的区别可能是一个更不明显的因素。Kenai 项目由 Sun 开发,与 NetBeans 紧密集成,主要是一个面向 Java 开发人员的平台;另一方面,GitHub 使用 Ruby 和 Erlang 开发,起初主要是吸引了 Ruby 开发人员。对于托管在 Kenai.com 上的项目,本文作者没有找到任何有关语言使用情况随时间变化的官方数据,不过,Java 是最流行的语言也在意料之中。相比之下,在 GitHub 前 5 年的时间里,Ruby 是最流行的语言。Java 和 Ruby 在技术上的差别可能在流行度差异上发挥了一部分作用。

对于每个开源项目,用户都有两种类型:希望读取或修改它的用户,他们需要访问源代码;只希望使用它的用户,他们需要访问一个可分发的形式。在 Java 中,使用库的标准方式是通过像 Maven 或 Gradle 这样的包管理器,它会从类似 Maven Central 这样的工件库中下载预先编译好的 Jar 文件。就是说,访问源代码不足以让开发人员可以轻松地使用一个用 Java 编写的开源项目,即 Kenai.com 本身无法完全提供一个可供公众使用的开源项目。

另一方面,Ruby 将 Bundler 作为事实上的标准包管理器。虽然可以被编译为多种目标体系结构,包括 JVM,但 Ruby 主要是作为一种解释型语言使用,就是说,不需要使用预先编译好的对象。这让 Bundler 可以直接从存储源代码的库中使用 Ruby 项目,就是说,GitHub 既可以作为源代码库,也可以作为一种分发机制,供开发人员使用托管在那里的 Ruby 项目。

使用 Ruby 编写的开源项目,不需要第二个系统,就是说,这些项目的使用要容易许多,这可能会鼓励更多的人分享他们的 Ruby 项目。这种综合效应可能在很大程度上促成了 Ruby 最初的流行;由于 Ruby 是 GitHub 前 5 年里最流行的语言,所以语言的流行或许也促成了平台的流行。这意味着,作为一个平台,公共版本库要取得成功,就要着眼于其中分享的代码的整个生命周期。

即使还有其他方案,关闭 Kenai.com 和 Java.net 社区对于 Java 社区而言未必是个坏消息。像 Junit 5 这样的新项目已经成功在 GitHub 上分享,有关将当前所有的JSR 内容迁移到其他平台(如GitHub 或Bitbucket)的讨论也已经开始。

查看英文原文: Oracle to Close Java.net and Kenai.com Forges

2016-05-13 19:003868
用户头像

发布了 1008 篇内容, 共 448.9 次阅读, 收获喜欢 346 次。

关注

评论

发布
暂无评论
发现更多内容

TASKCTL调度服务(主/从)代理节点的启动和停止

敏捷调度TASKCTL

数据仓库 kettle 调度引擎 ETL 调度任务

SpringBoot系列:RabbitMq讲解与示例

爱好编程进阶

Java 面试 后端开发

Vue 学习笔记(3)路由的基本使用 结合 SpringBoot

爱好编程进阶

Java 面试

jackson学习之三:常用API操作

爱好编程进阶

Java 面试 后端开发

如何成为元宇宙最初的少数人?

博文视点Broadview

SpringBoot+WebSocket实时监控异常

爱好编程进阶

Java 面试 后端开发

MyCat教程【简单介绍】

爱好编程进阶

Java 面试 后端开发

mysql sql语句大全

爱好编程进阶

Java 面试 后端开发

Elasticsearch文档读写模型实现原理

爱好编程进阶

Java 面试 后端开发

MySQL最全整理(面试题+笔记

爱好编程进阶

Java 面试 后端开发

SSM 最简单最全面的整合Spring+SpringMVC+Mybatis三大框架 快速搭建

爱好编程进阶

Java 面试 后端开发

《零基础》MySQL 连接(四)

爱好编程进阶

Java 面试 后端开发

Mybatis源码解析:sql参数处理,原来可以这么简单-1

爱好编程进阶

Java 面试 后端开发

Spring Cloud Gateway过滤器精确控制异常返回(实战,控制http返回码和message字段)

爱好编程进阶

Java 面试 后端开发

Spring Cloud入门教程-使用Hystrix Dashboard 监控熔断器的状态

爱好编程进阶

Java 面试 后端开发

阿里云视频云人脸生成领域最新研究成果入选CVPR2022

阿里云CloudImagine

计算机视觉 视频编码 CVPR 视频云

jackson学习之九:springboot整合(配置文件)

爱好编程进阶

Java 面试 后端开发

JAVA 最常用实用的正则表达式校验

爱好编程进阶

Java 面试 后端开发

Java集合框架(四)

爱好编程进阶

Java 面试 后端开发

理想汽车 x StarRocks:为 Hive 数据查询插上极速之翼!

StarRocks

大数据 数据分析 StarRocks

Spring(十)

爱好编程进阶

面试 后端开发Java

小程序能当成 App 吗?

FinClip

【并发编程系列1】Thread生命周期及interrupted()作用分析

爱好编程进阶

Java 面试 后端开发

Nginx主要功能及使用

爱好编程进阶

Java 面试 后端开发

Redis高可用之主从复制实践

爱好编程进阶

Java 面试 后端开发

JAVA8之后的版本履历

爱好编程进阶

Java 面试 后端开发

美区块链公司Espresso Systems口碑滑坡:知识产权、团队道德皆陷丑闻

小哈区块

Redis开发常用规范

爱好编程进阶

Java 面试 后端开发

【并发编程系列10】阻塞队列之SynchronousQueue

爱好编程进阶

Java 面试 后端开发

Oracle将关闭Java.net和Kenai.com社区_Java_Abraham Marín Pérez_InfoQ精选文章