自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Apache軟件基金會的前任主席:編程語言不需要開源

開發(fā) 后端
Java是什么樣的語言?是開源的嗎?我們是否會受制于Oracle的公司需求?Apache軟件基金會的前任主席與您一起討論編程語言需要不需要開源?

51CTO編者按:前不久,51CTO剛剛介紹過2011年需要關注的9大編程語言。這些都是在當今軟件開發(fā)行業(yè)中被廣泛應用和關注的語言。但是人們不能忽視編程語言排行榜上穩(wěn)居第一的Java。過去的幾個月里出現(xiàn)了很多關于Java的討論,討論它究竟是一種開源的語言還是一種有專利的語言。人們開始懷疑對Java進行投資是否還有意義,擔心這種語言將會受到它的新管家Oracle的獨裁控制。

在這種情形下,人們表達出了對這種語言長期發(fā)展方向的擔憂,尤其擔憂的是潛在的開發(fā)和運行Java軟件所需的許可費用以及成本的增加。

這更加導致了人們?nèi)ふ乙环N開源的,獨立于廠商的語言,以此避免把自己的基礎架構(gòu)和開發(fā)工作都捆綁在像Oracle這樣的單個公司的商業(yè)標準之上。像Python,C/C++,JavaScript,Ruby 和Perl等語言都是優(yōu)秀的能擺脫這種縛束的候選語言。這些語言的維護、開發(fā)和發(fā)展都是通過開源社區(qū)和開源標準組織(例如ISO和Ecma)進行的。


通常,一個公司永遠都不希望縛束在另外一個公司的要求或指揮下??商鎿Q的供應鏈、多公司集體作用、使用開源標準等都是能夠使公司避免落入某個專權(quán)公司的專制統(tǒng)治之下的方法。否則的話,其它公司都會桎梏在一個公司的產(chǎn)品中。

所以,Java是什么樣的語言?是開源的嗎?我們是否會受制于Oracle的公司需求?Java Community Process (JCP)以開源社區(qū)的身份維護著Java的開發(fā)工作和執(zhí)行路線。然而,在針對專門用來證明是否跟Java的規(guī)范相兼容的Oracle的技術(shù)兼容包(TCK)的認證方式上,大家存在很大的分歧。

當前的許可模式阻止了諸如Apache Harmony 等項目以獨立的、開源的Java實現(xiàn)版本身份被開發(fā)和兼容測試,不能在開源許可協(xié)議下對外發(fā)布。

因為有這些許可條款,這種語言被議論為非開源,并且只受Oracle支配,只有向Oracle支付了專利費的授權(quán)者才可以開發(fā)和提供其它版本的Java解決方案。如果Oracle不調(diào)整TCK中關鍵幾項的認證條款,那么JCP所宣稱的開源宗旨將毫無疑問的無法實現(xiàn)。這樣的結(jié)局將會是Java不能被開源和在社區(qū)的形式下被規(guī)劃,而是將會受Oracle的希望、需求和利害關系支配。

由于這種分裂的觀點和反對的意見所造成的后果還是個未知數(shù)。Apache軟件基金會把這個問題提出來讓整個社會參與討論,近期他們對這個問題公布了自己的決定。

鑒于這些爭論,我們且認為Java是不開源的,是受Oracle專利所有的。但這對于Java開發(fā)者和使用者是個問題嗎?

不是。

歷史已經(jīng)說明了為什么開發(fā)人員、企業(yè)和其他用戶使用或投資于一個有專利權(quán)的編程語言是不會有任何問題的?;厥咨鲜兰o九十年代,當時對于各種形形色色的企業(yè)開發(fā)來說,最流行的一種語言就是Visual Basic(VB)。而整個的VB生態(tài)系統(tǒng)都是受微軟的管理、控制和規(guī)劃。

盡管受完全的支配,各公司們?nèi)匀煌度肓顺砂偕锨f美元來開發(fā)VB軟件(數(shù)億?)。這些公司愿意投入這么大的資金,是因為他們從這類軟件開發(fā)里看到了巨大的價值。

開發(fā)人員需要向微軟購買開發(fā)工具,最終用戶需要支付微軟Windows許可費。大多數(shù)情況下,跟微軟其它產(chǎn)品相連接的VB應用程序會負擔更多的許可費。所有的這些可以總結(jié)為是一個成本/收益的評估,開發(fā)和部署VB軟件顯然是一個不錯的正確的選擇。

那時以后,Visual Basic開始向一個全新的、非完全兼容的方向發(fā)展:Visual Basic .NET。這一直是微軟的要將它的開發(fā)系統(tǒng)向.NET轉(zhuǎn)移的計劃中的一部分。這會給開發(fā)工作增加一些成本,但過去開發(fā)的VB軟件仍然可以在這個平臺上以一種向后兼容的模式運行,只需要做一些微小的改動。

把軟件向.NET平臺遷移顯然會造成新的可能非常大的代價,但微軟投入了巨大的人力物力來使這個平臺向后兼容,使這個Windows生態(tài)系統(tǒng)避免了這些遷移成本。

對于微軟來說,Visual Basic和它的開發(fā)系統(tǒng)是使Windows平臺上出現(xiàn)這么多有用的軟件的一個非常重要的因素。它因此帶動了Windows許可證的銷售。鑒于此,他們創(chuàng)立了MSDN,這也成了開發(fā)人員技術(shù)支持和開闊視野的圣地,獲得了無人可及的成果。

通過這種語言、這種程序以及它與數(shù)千萬Windows程序員之間的聯(lián)系,你可以看出,今天的軟件開發(fā)者明天將繼續(xù)使用這種語言。對于微軟來說,有一種很現(xiàn)實的商業(yè)需求促使他避免和這些開發(fā)人員疏遠。

相對于微軟,Oracle處在一種不同的情形中。當他得到了Solaris,他把它當作他的整個數(shù)據(jù)庫銷售策略中的一個組件。Oracle并沒有打算把Solaris開發(fā)成一個獨立的平臺,也沒有打算創(chuàng)立一個像MSDN一樣的東西來幫助程序員為這個平臺開發(fā)程序。

他對Java的推動和發(fā)展將會圍繞著這種語言,而不會把它當作Oracle其它產(chǎn)品的一種支持產(chǎn)品。在他還沒有明確的對于Java的未來的商業(yè)計劃之前,他會走Sun所選擇的道路:為各種環(huán)境認證Java虛擬機(JVM),包括其中的Java運行時環(huán)境(JRE)。如果Oracle不打算接受開源實現(xiàn),那所有現(xiàn)存的JVM和JRE都必須來自Oracle和他的授權(quán)者。

這就意味著Oracle有了資金來源,而另一方面,所有的用戶將需要為運行Java軟件而支付費用。

微軟通過它的應用程序運行環(huán)境 — 微軟Windows操作系統(tǒng) — 創(chuàng)造出來巨大的商業(yè)成就。各種公司為此付費已數(shù)十年之久。

當Oracle可以用Java運行環(huán)境斂財時(通常會隱藏到硬件或操作系統(tǒng)成本中),我沒有感覺到他會對Java環(huán)境強征補償性的許可費。Oracle一點都不傻,他會努力的讓Java保持在一個有效的開發(fā)戰(zhàn)略上。開發(fā)和部署Java軟件現(xiàn)在是、將來也會是企業(yè)們最可行的選擇。

為了進一步說明這個觀點,設想如果一個企業(yè)想通過不支付Java環(huán)境費用來“節(jié)省成本”,這意味著它要遷移到另外一種語言(假設今天大部分的企業(yè)都在使用Java)。這種遷移的成本,包括培訓費,聘請專家,完全重寫應用程序和工具組件,來回的測試,最終的部署,這些很容易就使成本超過了繼續(xù)使用Java開發(fā)和部署的成本。

正確的做法是不要擔心Java是開源還是具有專利所有權(quán)。不要理會如今發(fā)生在新聞界的討論。它跟你的商業(yè)需要和長遠的企業(yè)軟件生態(tài)健康沒有關系。

此博客由Greg Stein發(fā)表

Greg是Apache Subversion項目的管理委員會成員/理事,副主席,副總裁。Apache軟件基金會的前任主席。他由于在版本控制系統(tǒng)(包括Subversion和WebDAV)的工作而廣為人知,Greg最近在Google做技術(shù)管理工作,他在Google啟動了Google Project Hosting項目。他目前關注于與許可認證,開發(fā)工具和社區(qū)建設等相關的事情。

【編輯推薦】

  1. 2011年需要關注的9大編程語言
  2. 到底怎樣才算是學會一種編程語言?
  3. 2010年12月編程語言排行榜:觸摸經(jīng)典語言化石之Lisp
  4. 2010年10月編程語言排行榜:Java的混亂之治
  5. 2010年9月編程語言排行榜:Perl 不走尋常路
責任編輯:佚名 來源: 外刊IT評論
相關推薦

2023-05-09 11:33:43

Apache開源

2012-12-10 11:12:25

Ubuntu

2013-11-26 15:46:36

Openstack

2022-12-27 11:19:42

開源Apache基金會

2020-02-25 10:02:00

Linux開源軟件

2014-11-12 09:49:43

Linux開源

2014-11-12 10:22:50

Linux開源

2021-09-15 10:17:53

開源基金會Apache 軟件基金開源社區(qū)

2015-09-17 09:10:36

軟件基金會軟件開源

2016-11-24 09:42:53

Linux微軟基金會

2012-09-21 17:24:04

開源云平臺開源云計算標準OpenStack

2021-04-09 22:09:55

軟件基金會頂級項目

2020-07-03 21:55:41

Linux 系統(tǒng) 數(shù)據(jù)

2009-04-16 11:12:33

Linux自由軟件GPLv3

2016-11-17 12:17:20

微軟Linux開源

2020-03-13 16:19:42

RPCTARS騰訊開源

2012-03-07 10:51:40

jQuery

2015-12-09 09:27:37

Linux基金會Linux開源

2016-11-18 09:16:53

LinuxGoogle.NET基金會

2010-11-18 13:02:33

ApacheOracleJCP
點贊
收藏

51CTO技術(shù)棧公眾號