为何Java还未抛弃Ubuntu
译者 wsong83
Why Java Isn't Dead On Ubuntu A deceptive headline caused a panic in the Ubuntu community. Don't worry, Java is going to be there for a long time yet.
为何Java还未抛弃Ubuntu 一则欺骗性的头条报道曾在Ubuntu社区导致恐慌,不过不用担心,JAVA还将在这里存活很久呢!
Published 12:28, 21 December 11
发表于2011年12月21日12:28
There has been a certain amount of upset finally surfacing as a result of the decision Oracle took over the summer to discontinue packaging Java for Linux under the Distro License for Java. Quite a lot of people commenting on the article at OMGUbuntu this week, for example, see the news that the Java packages are no longer being maintained in the Ubuntu repository as a sign of the End Times for Java (ETJ). As I commented on Google+, I don't think this is the case. To explain why, here's a little history, necessarily abbreviated. Some History
由于这个夏天Oracle对Sun的并购,Java已停止使用Distro许可证发行其Linux版本软件包。这最终引起了一些人的担心。很多人都在讨论这周发表在OMGUbuntu上的文章,认为Java软件包从Ubuntu软件仓库的离开是其时代的的终结。然而正如我在Google+上的评论,我对此持乐观态度。为了解释我的观点,让我们先看看历史。
While there had been an implementation of Java for GNU/Linux for many years (that arose in a cloud of community mishandling in 1999), it was never licensed in a way that was compatible with the way most distributions packaged software. Consequently, there were rarely packages for Java in distribution repositories, and installing Java for Linux was something of an art. In particular, software developers targeting Linux tended to avoid it because they could not add it as a dependency in their packages.
尽管Java基于GNU/Linux的开源实现已存在了很多年(起源于1999年社区内的众多不善措施),它从未达到和其他众多打包发布软件所拥有的兼容程度。这直接导致Java很少出现在软件仓库中,同时在Linux系统上安装Java也非易事。事实上,Linux的软件开发者都倾向于避免使用Java,因为他们不能简单地将Java列入软件安装时的库依赖列表中。
By 2005 (when I took over as head of open source at Sun) it was clear even to the most hardened of Sun's Linux-sceptics that this was a problem. We got a project together to start fixing the problem. At the point we started, Sun hadn't committed to making Java open source, so we had to focus on what we could fix.
从2005年开始(也就是我成为Sun内部开源软件部分的负责人那年),即使是那些顽固的Linux怀疑者也认识到这已成为一个问题。于是我们成立了一个专门项目。不过在那时,Sun还不准备开源整个Java库,我们只是争取解决我们能解决的小问题。
The clear problem was that Java realistically wasn't available to most Linux users, so we crafted a new license for Sun's Java implementation for Linux that allowed it to be packaged in Linux distributions - the Distro License for Java (DLJ) - and engaged the Debian community. Knowing we'd probably get it wrong first time, we "embedded" a staff member in the Debian community (he's still there) and asked what they thought of our new license.
Java那时有一个很明显的问题:Linux使用者并不能轻易获得Java。为此,我们为Java的Linux版本起草了一份新的许可证协议--Java的Distro许可证(DLJ, the Distro License for Java),并和Debian社区进行了接触。得到的反馈显示许可证第一版并不合适。于是我们派驻了一个小组成员到Debian社区以了解他们的想法。
We used a FAQ as the main mechanism to clarify the meaning of the license, updating it frequently as issues were raised on mailing lists and occasionally also adjusting the language in the actual DLJ when real problems were identified. Using a FAQ in this way was so effective we did it again later for OpenJDK and its maintainer has gone on to offer consulting on the subject.
我们主要使用一个FAQ来明确许可证的各项含义,并根据在邮件列表中出现的问题不断更新。同时我们也会根据偶尔出现的实际问题调整许可证中的具体语言。这个方式看起来很非常有用。随后关于OpenJDK的开发也采用了相同的方式,FAQ的维护者也为相关内容主动提供咨询服务。
The result of all this work was that, despite being a stop-gap measure to help Java adoption on Linux while we waited for the inevitable announcement of true open source Java, the DLJ was extremely successful. In particular, both Ubuntu and Debian carried the Sun Java packages from the beginning. Successful
最终的结果是:尽管该项目只是在完全开源Java之前衡量并试图减少Java和Linux软件间的差距,DLJ许可证本身是一个非常重要的成功。一个重要的结果就是Ubuntu和Debian系统开始发布Sun Java软件包。
Success is a double-edged sword. The Sun Java packages continued to be successful even after we collaborated with the Classpath community to create a fully GPL-licensed open source Java, OpenJDK. This was partly because OpenJDK continued to be a poor cousin to the "official" Java reference implementation in some areas, and partly because the Sun Java packages sounded more official.
不过成功是一把双刃剑。Sun Java软件包持续保持着它的成功,甚至我们和Classpath社区合作开发的使用GPL许可证的OpenJDK也未能撼动它的地位。从一方面这是由于OpenJDK本身还存在着不足,另一方面也因为Sun Java听起来更正式一些。
All the same, the inevitable gravity of OpenJDK stayed in effect, to the point where this summer Oracle announced it would actually be the reference implementation of Java 7. Once that step was taken, it seemed obvious to me that the DLJ-facilitated "official packages" would soon be history, and indeed Oracle confirmed it soon afterwards.
尽管如此,OpenJDK的发展是不可阻挡的。于是今年夏天,Oracle宣布OpenJDK以实际上成为Java 7的标准软件包。一旦宣布,DLJ许可证的“正式”软件包就即将成为历史,这也正是Oracle不久所承认的。
These things take time to ripple outwards, so when the news appeared on the Ubuntu Security list it was misrepresented in the wildly incorrect title of an article on OMGUbuntu - "Java To Be Removed from Ubuntu, Uninstalled from User Machines". While the seeds of truth can be found in the actual text, the headline was enough to panic a load of people into "typical Oracle evil" comments. For once, those are misplaced. Java To Stay In Ubuntu
事情的发展都是曲折的,所以当这些消息出现在Ubuntu的安全提示列表中时,它们被冠以非常错误的标题发表在了OMGUbuntu上:“Java将从Ubuntu移除并从用户机上卸载”。尽管从文章中可以获悉实事的真实情况,但标题本身已足购让众多恐慌的人们认为这是“惯常作恶”的Oracle的决定。然而这一次,人们误解了。Java还想继续存留在Ubuntu上。
Java is not being removed from Ubuntu. OpenJDK is the open source version Java, is developed primarily by Oracle, is becoming the reference implementation and is available in Ubuntu. The Sun-Java packages under the DLJ were a temporary stop-gap we put in place before Java was liberated as GPL. Removing these packages is just housekeeping. There are some programs in the Ubuntu repository that will need to do rework on their dependencies (Minecraft in particular), but this is an entirely expected lifecycle step and actually I'm surprised it's not happened before. Nothing to see here folks, move along.
Java并没有被移除。OpenJDK是Java的开源版本,主要开发于Oracle,将成为Java的标准实现并已包含于Ubuntu中。原来的使用DLJ许可证的Sun Java软件包只是我们在提供Java GPL版本之前的临时解决方案。将它从软件列表中移除只是例行清理。Ubuntu软件仓库中的一些软件确实需要修改它们的依赖列表(比如Minecraft),但这是整个软件生命周期里可预期的一小步调整。我唯一感到不解的是它们为何拖到现在才做出改变。我要说的是:这没什么稀奇的,适应就好。