过去的几个月里出现了很多关于Java的讨论,讨论它究竟是一种开源的语言还是一种有专利的语言。人们开始怀疑对Java进行投资是否还有意义,担心这种语言将会受到它的新管家Oracle的独裁控制。
在这种情形下,人们表达出了对这种语言长期发展方向的担忧,尤其担忧的是潜在的开发和运行Java软件所需的许可费用以及成本的增加。
这更加导致了人们去寻找一种开源的,独立于厂商的语言,以此避免把自己的基础架构和开发工作都捆绑在像Oracle这样的单个公司的商业标准之上。像Python,C/C++,JavaScript,Ruby 和Perl等语言都是优秀的能摆脱这种缚束的候选语言。这些语言的维护、开发和发展都是通过开源社区和开源标准组织(例如ISO和Ecma)进行的。
通常,一个公司永远都不希望缚束在另外一个公司的要求或指挥下。可替换的供应链、多公司集体作用、使用开源标准等都是能够使公司避免落入某个专权公司的专制统治之下的方法。否则的话,其它公司都会桎梏在一个公司的产品中。
所以,Java是什么样的语言?是开源的吗?我们是否会受制于Oracle的公司需求?Java Community Process (JCP)以开源社区的身份维护着Java的开发工作和执行路线。然而,在针对专门用来证明是否跟Java的规范相兼容的Oracle的技术兼容包(TCK)的认证方式上,大家存在很大的分歧。
当前的许可模式阻止了诸如Apache Harmony 等项目以独立的、开源的Java实现版本身份被开发和兼容测试,不能在开源许可协议下对外发布。
因为有这些许可条款,这种语言被议论为非开源,并且只受Oracle支配,只有向Oracle支付了专利费的授权者才可以开发和提供其它版本的Java解决方案。如果Oracle不调整TCK中关键几项的认证条款,那么JCP所宣称的开源宗旨将毫无疑问的无法实现。这样的结局将会是Java不能被开源和在社区的形式下被规划,而是将会受Oracle的希望、需求和利害关系支配。
由于这种分裂的观点和反对的意见所造成的后果还是个未知数。Apache软件基金会把这个问题提出来让整个社会参与讨论,近期他们对这个问题公布了自己的决定。
鉴于这些争论,我们且认为Java是不开源的,是受Oracle专利所有的。但这对于Java开发者和使用者是个问题吗?
不是。
历史已经说明了为什么开发人员、企业和其他用户使用或投资于一个有专利权的编程语言是不会有任何问题的。回首上世纪九十年代,当时对于各种形形色色的企业开发来说,最流行的一种语言就是Visual Basic(VB)。而整个的VB生态系统都是受微软的管理、控制和规划。
尽管受完全的支配,各公司们仍然投入了成百上千万美元来开发VB软件(数亿?)。这些公司愿意投入这么大的资金,是因为他们从这类软件开发里看到了巨大的价值。
开发人员需要向微软购买开发工具,最终用户需要支付微软Windows许可费。大多数情况下,跟微软其它产品相连接的VB应用程序会负担更多的许可费。所有的这些可以总结为是一个成本/收益的评估,开发和部署VB软件显然是一个不错的正确的选择。
那时以后,Visual Basic开始向一个全新的、非完全兼容的方向发展:Visual Basic .NET。这一直是微软的要将它的开发系统向.NET转移的计划中的一部分。这会给开发工作增加一些成本,但过去开发的VB软件仍然可以在这个平台上以一种向后兼容的模式运行,只需要做一些微小的改动。
把软件向.NET平台迁移显然会造成新的可能非常大的代价,但微软投入了巨大的人力物力来使这个平台向后兼容,使这个Windows生态系统避免了这些迁移成本。
对于微软来说,Visual Basic和它的开发系统是使Windows平台上出现这么多有用的软件的一个非常重要的因素。它因此带动了Windows许可证的销售。鉴于此,他们创立了MSDN,这也成了开发人员技术支持和开阔视野的圣地,获得了无人可及的成果。
通过这种语言、这种程序以及它与数千万Windows程序员之间的联系,你可以看出,今天的软件开发者明天将继续使用这种语言。对于微软来说,有一种很现实的商业需求促使他避免和这些开发人员疏远。
相对于微软,Oracle处在一种不同的情形中。当他得到了Solaris,他把它当作他的整个数据库销售策略中的一个组件。Oracle并没有打算把Solaris开发成一个独立的平台,也没有打算创立一个像MSDN一样的东西来帮助程序员为这个平台开发程序。
他对Java的推动和发展将会围绕着这种语言,而不会把它当作Oracle其它产品的一种支持产品。在他还没有明确的对于Java的未来的商业计划之前,他会走Sun所选择的道路:为各种环境认证Java虚拟机(JVM),包括其中的Java运行时环境(JRE)。如果Oracle不打算接受开源实现,那所有现存的JVM和JRE都必须来自Oracle和他的授权者。
这就意味着Oracle有了资金来源,而另一方面,所有的用户将需要为运行Java软件而支付费用。
微软通过它的应用程序运行环境 — 微软Windows操作系统 — 创造出来巨大的商业成就。各种公司为此付费已数十年之久。
当Oracle可以用Java运行环境敛财时(通常会隐藏到硬件或操作系统成本中),我没有感觉到他会对Java环境强征补偿性的许可费。Oracle一点都不傻,他会努力的让Java保持在一个有效的开发战略上。开发和部署Java软件现在是、将来也会是企业们最可行的选择。
为了进一步说明这个观点,设想如果一个企业想通过不支付Java环境费用来“节省成本”,这意味着它要迁移到另外一种语言(假设今天大部分的企业都在使用Java)。这种迁移的成本,包括培训费,聘请专家,完全重写应用程序和工具组件,来回的测试,最终的部署,这些很容易就使成本超过了继续使用Java开发和部署的成本。
正确的做法是不要担心Java是开源还是具有专利所有权。不要理会如今发生在新闻界的讨论。它跟你的商业需要和长远的企业软件生态健康没有关系。
此博客由Greg Stein发表
Greg是Apache Subversion项目的管理委员会成员/理事,副主席,副总裁。Apache软件基金会的前任主席。他由于在版本控制系统(包括Subversion和WebDAV)的工作而广为人知,Greg最近在Google做技术管理工作,他在Google启动了Google Project Hosting项目。他目前关注于与许可认证,开发工具和社区建设等相关的事情。
[英文原文:Open languages are not required ]
oracle开源许可证| 2010年12月20日
你也许会喜欢这些文章:
Java陷阱(2010版)
大撤退开始了 — 33名开发人员离开OpenOffice.org
BrowserQuest:开源的基于HTML5的多人在线RPG游戏
Redis 再次开源
开源软件许可协议简介
Java编程的大好时期
编程是一种超能力
Apache, Oracle, 以及JCK
交易
Git 20 年,依然怪异,依然精彩
对于这篇文章,你的反应是:
0
俺的神呀 0
赞一个 1
飘过~ 0
强 0
标题党 0
很实用 0
好文 0
笑死了 0
mark 0
敬佩 0
垃圾 0
0
看样子你已经点过这个了!
抱歉,你最多只能点三个!
- 手机gps定位怎么设置在哪里?详细设置步骤与位置指南七彩虹提前上架英伟达RTX 5090 D V2显卡 2025年8月12日 分享到: 8月12日消息,英伟达为遵守美国新出口政策,推出配置降低的GeForce RTX 5090 D “V2” 显...
- 「今日发现」高仿鞋和正品的区别在哪?这五大渠道记得收藏!推荐微信:【3396167】(朋友圈中不定期更新款式细节 ) 国内潮奢复刻圈排名前三工作室 数据真实全网可查,值得信赖! 团队整合资源,对接大...
- 滴滴车主在哪看网约车观察1月20日消息,网约车观察了解到,滴滴出行APP已经于1月17日上架安卓应用市场,1月19日,滴滴出行APP在苹果应用商店也正式上架,这...
- 自己房子的户型图要哪里找?获取方式全面解析随着现代人对居住环境要求的提高,户型图在购房和装修中的重要性日益凸显。自己房子的户型图要哪里找?这是不少业主在装修和改造自己的...
- 冲小窗是什么意思(开小窗私信是什么意思?)首页 > 流行语 > 正文 冲小窗是什么意思(开小窗私信是什么意思?) 作者:百科火 更新 :2021-10-04 09:23:42 Hot 游戏 交友 意思是开小窗私信。通常...
- 带枪的网名 关于枪的网名大全(精选99个)往你枪口上撞 枪口对准我 唇枪舌战 一枪毙命 一枪打进心窝 枪硬马子多 持枪浪潮 原谅我刀枪不入心再不受伤 别闹我有枪 像中枪了一样 盲人打...
- 18+游戏手游有哪些好玩 目前最火的18+游戏推荐━━━━━━━━━━━━━━━━━━━ 【游戏推荐】——Top2:《西游:笔绘西行》—— 【游戏类型】: 角色扮演·冒险·奇幻 【推荐理由】: ...
- 各种操作系统大全Windows Windows 7, Windows 8, Windows 8.1, Windows 10, Windows 11, Windows Server 2012, Windows Server 2012 R2, Windows Server 2016, Windows Server 2019, Windows Server 2022, WinPE Linux Deb...
- 智能仓储的应用有哪些 最新案例分享 深度解析智能仓储实际应用智能仓储的应用有哪些?最新案例分享与深度解析智能仓储实际应用 智能仓储应用主要有以下几方面:1、库存管理自动化,2、仓储空间优化,3...
- 宝宝辅食app随着社会的发展,家长们已经越来越关注孩子们的成长问题,想要把最好的一切带给他们。当宝宝满6个月后,仅仅靠母乳以及奶粉已经不能满足...