写点什么

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

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

关注

评论

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

每日知识总结

country

5G机遇 | 如何解决在核心场景的高并发、超低延迟需求?

VoltDB

数据库 5G 通信 VoltDB

区块链有望被主流接纳的四个场景

CECBC

区块链

区块链如何帮助联合国支持全球教育?

CECBC

区块链

2021最新Windows10环境下安装MacOS系统(黑苹果)亲测有效!!(VM安装黑苹果)

Z.

macos 黑苹果 windows vmware

从设计模式理解Vue响应式(多图警告)

coolFish(呔呆)

JavaScript vue.js 响应式 大前端 设计模式

音视频传输协议众多, 5G时代不同业务应该如何选择?

华为云开发者联盟

5G 音视频 直播 流媒体

宅米网技术架构演进分析

Andy

太牛了!美团Android开发工程师岗位职能要求,大厂面试题汇总

欢喜学安卓

android 程序员 面试 移动开发

为什么强烈推荐 Java 程序员使用 Google Guava 编程!

沉默王二

Java Guava

Java 读写锁 原来这么简单

Java架构师迁哥

Appium下的WDA使用个人开发者证书配置

行者AI

自动化测试

Kubernetes生产环境最佳实践

xcbeyond

Kubernetes 容器 28天写作

数字货币写进多地“十四五”规划纲要草案 专家建议扩大数字人民币试点范围

CECBC

数字经济

扎根CNCF社区贡献五年是怎样的体验?听听华为云原生开源团队的负责人怎么说

华为云开发者联盟

容器 Volcano cncf kubeedge 代码开发

15道类和对象面试题,快看看自己会几道

田维常

类集

企业项目迁移go-zero全攻略(二)

万俊峰Kevin

微服务 microservice Go 语言

一文带你解读Volcano架构设计与原理

华为云开发者联盟

架构 Kubernetes 负载 Volcano 集群

技术赋能教育,浅谈教育机构转型的制胜关键

华为云开发者联盟

音视频 在线教育

12.4G阿里巴巴面经公开:技术笔记+视频讲解+简历模板,绝了!

996小迁

Java 架构 面试 程序人生

Invalid bound statement (not found)

任广印

Java MyBatisPlus

工具介绍 | 百度开源Server-Agent:高性能、高效率的任务调度执行引擎

百度开发者中心

开源

怎么理解Kafka消费者与消费组之间的关系?

码农架构

Java 架构 消息队列 消息中间件

666666666666666666666

Paul

大数据

个人web分享92道JavaScript面试题附加回答

我是哪吒

程序员 面试 大前端 程序媛

顺利拿到OPPO公司Android架构师offer,Android跨进程通信导论,全套教学资料

欢喜学安卓

android 程序员 面试 移动开发

认识Nacos注册中心

登风

nacos

幕后故事 | YRCloudFile助力顶级视效制作公司MORE VFX打造视觉盛宴

焱融科技

高性能 存储 焱融科技 3D渲染 影视制作

重温亮剑-感悟

superman

java中的类和object,其实没那么难~

田维常

类集

硬核!我花5小时肝出这篇Redis缓存解决方案,带你起飞!

数据库 redis 缓存架构

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