写点什么

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:003419
用户头像

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

关注

评论

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

软件测试 | 测试开发 | 测试工程师用 Shell 定位 Bug 的正确姿势

测吧(北京)科技有限公司

测试 bug

Qt | Qt中的一些使用在容器类上的算法

YOLO.

c++ qt 9月月更

Qt | 文件信息 QFileInfo

YOLO.

c++ qt 9月月更

软件测试 | 测试开发 | 测试人生 | 疫情之下,1个月内涨薪50%拿下亿级流量金融上市公司新 offer,我柠檬了~

测吧(北京)科技有限公司

软件测试 测试 offer

软件测试 | 测试开发 | 测试人生 | 入行未满3年拿下AI领域上市公司30W+ offer,他靠的是什么?

测吧(北京)科技有限公司

软件测试 测试

Qt | 关于点的坐标的使用 QPoint

YOLO.

c++ qt 9月月更

FreeRTOS记录(三、RTOS任务调度原理解析_Systick、PendSV、SVC)

矜辰所致

Svc FreeRTOS 9月月更 Systick PendSV

NFT和元宇宙之间的关系是什么?

开源直播系统源码

NFT 区块链、 数字藏品 数字藏品系统

软件测试 | 测试开发 | 智能遍历测试在回归测试与健壮性测试的应用

测吧(北京)科技有限公司

软件测试 测试

Qt | 文件操作 QFile

YOLO.

qt 9月月更

Qt | 关于Qt的模型/视图架构

YOLO.

c++ qt 9月月更

iOS端如何实现带UI截屏分享

MobTech袤博科技

ios

软件测试 | 测试开发 | 测试人生 | 00后0经验应届毕业生拿下2线城市15W offer,好励志~

测吧(北京)科技有限公司

软件测试 测试 offer

Qt | 关于矩形大小的使用 QSize

YOLO.

c++ qt 9月月更

MySQL系列——表的创建、插入、修改、删除数据

胖虎不秃头

MySQL 数据库 9月月更

Qt | 关于重绘事件处理函数 paintEvent()

YOLO.

c++ qt 9月月更

软件测试 | 测试开发 | 视频编辑SDK测试

测吧(北京)科技有限公司

软件测试 sdk

软件测试 | 测试开发 | Scrcpy工具码流格式化

测吧(北京)科技有限公司

软件测试 测试

MySQL系列——约束、存储引擎、事务

胖虎不秃头

MySQL 数据库· 9月月更

软件测试 | 测试开发 | AppCrawler 自动遍历测试实践(三):动手实操与常见问题汇总

测吧(北京)科技有限公司

软件测试 测试 软件测试和开发

MySQL系列——索引、视图、DBA常用命令、数据库设计三范式

胖虎不秃头

MySQL 数据库· 9月月更

软件测试 | 测试开发 | 这些常用测试平台,你们公司在用的是哪些呢?

测吧(北京)科技有限公司

测试 bug

关于QPalette的使用

YOLO.

c++ qt 9月月更

望繁信科技携手复旦大学教育发展基金会,齐心共助公益慈善义拍

望繁信科技

Qt | 关于样式表的使用 QStyleSheet

YOLO.

c++ qt 9月月更

软件测试 | 测试开发 | 接口自动化测试如何进行认证?

测吧(北京)科技有限公司

测试 自动化测试

软件测试 | 测试开发 | 探索Java中如何执行python脚本

测吧(北京)科技有限公司

Python 测试

Qt | 关于容器类的一些总结

YOLO.

c++ qt 9月月更

软件测试 | 测试开发 | 接口自动化中如何完成接口加密与解密?

测吧(北京)科技有限公司

Python 测试 自动化测试

软件测试 | 测试开发 | 基于Bert迁移学习点击未知弹框

测吧(北京)科技有限公司

软件测试 测试

Qt | 关于目录操作的使用 QDir

YOLO.

c++ qt 9月月更

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