Eclipse 的曆史、現狀和未來

來源:互聯網
上載者:User
  2001 年 11 月,IBM 向開源社區捐獻了 Eclipse 代碼,自此 Eclipse 在開發人員社區得到飛速發展。2006 年 1月19日,Eclipse 國際高峰論壇也首次登陸中國,在清華大學資訊科學技術大樓舉行。在這次 Eclipse 大會上 記者 編輯團隊與 IBM 的 Eclipse 策略經理 John Kellerman 進行了座談,聆聽了他對 Eclipse 曆史的追溯、對 Eclipse 架構的分析、對 Eclipse 現狀分析、對未來發展的展望。

  John Kellerman,IBM 軟體部 Rational 產品總經理,與 1984 年加入 IBM, 一直從事應用開發工作。2000 年初,John 開始加入了 Eclipse 項目,現在任職 IBM Eclipse 策略部總經理。他現在的主要工作是在 Eclipse 基金會、Eclipse 社區中代表 IBM 的利益,與 Eclipse 成員公司合作。

   記者: IBM 開發工具的發展經曆了從最初的 Visual Age到今Apsara Infrastructure Management Framework於 Eclipse 3.0 的產品, 可以說是非常大的飛躍,您可否給我們談一下這其中的曆史?

   John: 我在加入 Eclipse 項目之前,是 IBM Visual Age for SmallTalk 的產品經理。Eclipse 起源的一個非常重要的原因是,當時IBM 面臨著一些挑戰需要去解決,即 IBM 開發工具 Visual Age for Java 和 WebSphere Studio 很難整合到一起,而且底層的技術比較脆弱,因此進一步發展非常艱難,無法滿足業界應用開發的需求。

  因此,1998 年,我們開始了下一代開發工具技術探索之路,成立了一個項目開發小組,經過兩年的發展,2000年,我們決定給新一代開發工具項目命名為 Eclipse,Eclipse 叫法當時只是內部使用的名稱。這時候的商業目標就是希望 Eclipse 項目能夠吸引開發人員,能發展起一個強大而又充滿活力的商業夥伴(獨立軟體廠商)社區。同時我們意識到需要用它來對抗 Microsoft Visual Studio 的發展,因此從商業目標考慮,通過開源的方式我們最有機會達到目的。此外,IBM 推出了 Eclipse 試用計劃,允許 IBM 以外的開發人員使用 Eclipse。結果證明我們的決策非常正確,Eclipse 從此在開發社區廣為流傳。Eclipse 也就成為這個項目的正式名稱。

  我們認為開源 Eclipse 不能只是簡單地貢獻出源碼,建立一個開源項目然後放在開源許可證下;我們需要建立起多家公司的合作關係,否則就不足信服,不是真正的開源項目,而只是 IBM 的一個項目。因此在 2000 年到 2001 年之間,我做的主要工作就是去拜訪一些公司,與他們談論 Eclipse,邀請他們加入 Eclipse 項目。 您可以想象,這是非常有趣的談話,最終,我們與 8 家公司達成了一致,其中包括一些 IBM 的競爭者 WebGain、Borland, 還有一些盟友如 Rational(Rational 當時還沒有被 IBM 收購)。

  2001 年 12 月,IBM 向世界宣布了兩件事,第一件是建立開源項目,既 IBM 捐贈價值 4 千萬美元的源碼給開源社區;另外一件事是成立 Eclipse 協會(Eclipse Consortium),這個協會由一些成員公司組成,主要任務是支援並促進 Eclipse 開源項目。

  從此,我們看到了 Eclipse 本身、會員、外掛程式(plug-in)和 Eclipse 社區飛速成長。2003 年,我們意識到這種會員模式很難進一步擴充,有些事務操作起來很困難,比如無法籌集贈款、無法成立合法理事會,這主要是因為 Eclipse 協會不是一個法律上的實體;此外,儘管 Eclipse 成功有目共睹,但仍然有些業界成員沒有加入,他們認為是 Eclipse 的真正領導者是 IBM。因此我們認識到建立一個獨立於 IBM 的 Eclipse 將會對 Eclipse 的發展非常有利, 於是 IBM 與其他成員公司合作起草了管理條例,準備成立 Eclipse 基金會(Eclipse Foundation)。2004 年初,Eclipse 基金會正式成立。

   記者: Eclipse 由一個很小的核心和核心之上的大量外掛程式組成,這種外掛程式式架構給當時的開發社區帶來耳目一新的衝擊。您能給我們介紹一下 Eclipse 外掛程式架構嗎?

   John: 對於 Eclipse 外掛程式架構,一個很好的比喻是 網頁瀏覽器,它也有外掛程式,Eclipse 外掛程式和瀏覽器相似,都是要解決擴充性問題。對於一個 網頁瀏覽器,如果你想既能瀏覽多媒體動畫,又想瀏覽 PDF 檔案,那麼你就需要兩個不同的外掛程式,才能保證兩種內容都能在 網頁瀏覽器中顯示。 Eclipse 也一樣,通過它的外掛程式模式我們可以安裝不同的外掛程式來進行 HTML 的編輯、資料庫的設計、Java 開發、C++ 開發等等,所有這些開發工作完全在一個 Eclipse 安裝平台上進行。而且 Eclipse 模型所能做的遠超過了這些,理解 Eclipse 外掛程式的關鍵是首先要理解 Eclipse 擴充點,正是這個擴充點幫您在 Eclipse 中添加新功能。例如,如果希望在菜單中添加一項,就是通過 Eclipse 擴充點實現的。

  所以當 Eclipse 外掛程式實現了一個擴充點,就建立了一個擴充,此外,擴充還可以建立自己的擴充點。這種外掛程式模式的擴充和擴充點是遞迴的,而且被證明是非常靈活的。記得當我們著手對 Eclipse 開發進列區域性調查時,最初的決定之一是:"We will eat our own dog food"(編者註:諺語,指一個公司在日常運行中使用自己的產品),即 Eclipse 團隊要使用 Eclipse 進行 Eclipse 的開發。事實上,Eclipse 本身是一個核心的運行時綁定了一些在外掛程式之上構建的外掛程式,換句話說,Eclipse 本身就是一系列的外掛程式。這樣隨著使用 Eclipse 構建 Eclipse 的經驗累積,這種外掛程式模式就變得日臻成熟。

   記者: IBM 對 Eclipse 已經投入了非常多的資源,IBM 在 Eclipse 的將來會扮演什麼角色呢?

   John: 目前 Eclipse 項目有 100 多個,IBM 參與了其中超過一半的項目,有 3 個主管在主持 Eclipse 相關的工作。2005 年我們還贊助了一些 Eclipse 創新基金和 Eclipse 獎學金。IBM 承諾在未來的幾年內會一如既往地參與 Eclipse 研究,我們將會看到 IBM 研發出新項目,而在某些 Eclipse 項目上減少參與,這要看 IBM 的商業目標。最近我們提議了一個項目叫 Beacon, 是關於 Eclipse 流程架構的。我們將捐獻一些 Rational Unified Process (RUP) 技術,基本上這個提議是要提供流程方面的內容。IBM 現在與一家叫做 Zend 的公司合作,希望在 Eclipse 上開發出用於 PHP 的開發工具。從商業方面看 IBM, 您會發現 Eclipse 是 Rational 軟體開發平台的基礎。此外由於 Eclipse 的外掛程式模式、擴充性、整合性,我們為Rational, WebSphere, Lotus 和 Tivoli 構建了統一的平台。

   記者: 目前 IBM 的五大旗艦品牌都有基於 Eclipse 的產品, 這對 IBM 有什麼好處?

   John: 我們的目標是建立整合統一平台,我們有基於 Eclipse 構建的 DB2, Rational, WebSphere 等工具,這樣客戶就可以共同使用這些工具,有統一的介面風格,使用起來非常方便。對 IBM 自身來說,各個開發部門就可以關注於軟體的核心效能開發,而不必要浪費資源做一些重新實現的工作,從而 DB2 開發部門就專註於資料庫開發、WebSphere 專註應用伺服器的開發、Rational 專註於建模、原始程式碼控制,至於其他方面的輔助開發對於 Eclipse 來說是共同的。

   記者: Eclipse 是一個開源 IDE, 那如何通過 Eclipse 創造商業利益呢?

   John: 對於 IBM, 在 Eclipse 技術開發方面與上百家公司合作,因為 IBM 看到了 Eclipse 作為通用的、開放的、標準的技術基礎,其價值日益成長。當然,這種基礎技術是不會帶來創收的,沒有人可以使用 Eclipse 技術來賺錢,但這並不重要,就像 Borland, Sybase 等公司都在花費錢做同樣的構建工作,當然我們在這方面還有合作,但是我們還專註於將我們的核心功能組件構建在 Eclipse 平台上,例如,IBM 的 Rational Application Developer, 它是使用 Eclipse 作為基礎,然後在這基礎上添加了建模外掛程式、Web 開發外掛程式,還有其它更有價值的外掛程式,這些外掛程式我們是收費的。這就是使用 Eclipse 進行商業創收的模式之一。

  此外,人們還可以直接為 Eclipse 構建外掛程式,然後出售這些外掛程式來賺錢,因為外掛程式可以使用商業許可證發行。事實上我們建立 Eclipse 公用授權,就是為了讓 Eclipse 能很好的被商業採用,從而可以用它來賺錢,Eclipse 的所有成員公司基本都是商業軟體供應商。目前全球有上百萬開發人員在使用 Eclipse, 因此中國開發人員完全可以構建有價值的外掛程式和工具,然後進行銷售。同時 IBM 有一個夥伴計劃,協助夥伴宣傳在 IBM 基於 Eclipse 的產品之上構建的應用。

   記者: 富用戶端平台(RCP)目前是比較流行的應用開發模式,請談一下 Eclipse 是如何支援富用戶端的?

   John: 在 Eclipse 的早期,有些使用者試圖除了將 Eclipse用於開發工具基礎平台外,還用作更普遍的商業應用基礎。他們認為一個 IDE 就是一個特殊的富用戶端應用。這就是開放源碼開發的魅力所在,當這些使用者試著用 Eclipse 作為通用富用戶端時,他們就把這些想法建議反饋給 Eclipse 開發小組。就這樣 Eclipse 經過了 2.0 到 2.1 的發展,不斷收到來自社區的建議和反饋,終於到了一個通用化的階段。在3.0 版發行時,我們覺得時機成熟,於是正式聲明將 Eclipse 作為通用的富用戶端和 IDE。

  其實最早的反饋是來自我們的 Lotus 開發小組,他們在 Eclipse 3.0 之前就意識到可以使用 Eclipse 來提供他們 Workplace 用戶端的富用戶端版本。從 Eclipse 3.0 到 3.1 再到 3.2, 我們看到富用戶端平台應用的快速增長,同時也收到越來越多反饋幫我們完善提高。

  我最欣賞的 RCP 應用之一是在EclipseCon 2005 上的一個示範,示範的是美國國家航空航天管理局(NASA)的一個項目,當時 NASA 在加利福尼亞州有個實驗室叫 Jet Propulsion Laboratory (JPL),負責火星探測計劃,他們的系統管理使用者介面就是一個 Eclipse RCP 應用,通過這個應用,加利福尼亞州的工作人員就可以控制在火星上啟動並執行火星車。在示範過程中,有人問為什麼使用 Eclipse, 回答是,使用 Eclipse 這門技術,他們不用擔心,而且還節省了不少納稅人的錢,因為他們只需要集中資源開發控制火星車的應用就可以了。

   記者: Eclipse 現在非常熱門,您認為從微軟的開發平台轉到 Eclipse 上容易嗎?

   John: 這個問題可以從兩方面來說明,一是軟體供應商從 Visual Studio 移到 Eclipse 上,另一方面是微軟平台上開發的程式的移植。

  Eclipse 提供了不同的整合方法,可以是非常輕量級的整合,即只是簡單的調用和返回。Eclipse可以處理 ActiveX 控制項,這樣 Word, Excel 就可以在 Eclipse 裡開啟,這是另一種整合模式。有些供應商選擇把他們的工具封裝在 Java 層,即保留 C/C++ 工具,封裝在 Java 裡與 Eclipse 進行通訊。如果軟體供應商希望將工具構建成 Eclipse 外掛程式,那麼我們通常建議在 Eclipse 中用 Java 重新實現,因為幾乎所有的微軟工具都是 C/C++ 工具。因此工具的遷移可以分三步走:輕量級整合、重量級整合和重新實現。

  如果要遷移程式,Eclipse 提供了一些設施。但難易程度取決於程式是用什麼工具開發的,因為最重要的部分是(版本控制系統的)程式碼程式庫本身,如果程式碼程式庫同時支援 Visual Studio 和 Eclipse, 那就容易的多。此外有一些公司提供了遷移系統,在 Eclipse 網站的社區部分中可以查看這些公司列表。

   記者: 對個體開發人員,他們如何能夠參與 Eclipse 項目?

   John: Eclipse 是完全開放的,任何人都可以參與,參與的最簡單方法是關注它的新聞群組,選擇一個感興趣的技術領域,然後下載代碼,自己做些實驗,並在新聞群組上回答一些問題,這樣隨著技術的提高,就可以向 Bugzilla 提交 bug 和修複包,或去修複其他 bug。如果得到項目工作群組的認可,便可以承擔項目的一些義務,成為項目開發組的真正成員。此外還可以寫一些文章發送到 Eclipse 組織,參加本地的 Eclipse 使用者組等等方式。

  如果有興趣成立一個 Eclipse 開源項目,Eclipse 上有一個文檔"Eclipse Development Process",描述了如何操作。

   記者: 最後請給我們談談 Eclipse 下個版本的情況?

   John: Eclipse 3.2 計劃於今年 6 月面世,名稱是 Callisto, 選擇 Callisto 作為名稱是按社區要求的,因為這次目標是同時發布 10 個主要的 Eclipse 項目,以支援成員公司生態系統需求,他們將要把 Eclipse 框架組成到各自的軟體產品中。

   記者: 感謝您接受我們的採訪。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.