GNOME事件

GNOME事件

GNOME是 Linux及各種主流Unix的GUI桌面系統。目前,在 GNOME上面已經發展了許多自由套用軟體,如文字處理軟體Go、電子表格軟體 Gnumeric、日曆程式GNOMECAL、可與 Photoshop媲美的圖形圖像處理軟體GIMP等。與KDE一樣,GNOME項目為Linux 在桌面領域的發展及套用起到了至關重要的作用。

基本介紹

  • 中文名:GNOME事件
  • 外文名:GNOME event
GNOME簡介,GNOME的發展歷程,萌芽,誕生,轉折,GNOME的開發領域,

GNOME簡介

GNOME不像KDE那樣有許多自己開發的工具,而是比較傾向於集成現有的X應用程式,可以允許用戶選用任何種視窗管理程式(一般是 Windowmaker和 Enlightenment)。GNOME也有自己的辦公軟體 GNOME Office,它也是開放原始碼的免費軟體。 GNOME的套用開發採用同樣基於CORBA的 Bonobo,類似 Microsoft的OLE2
GNOME桌面環境包括:
  1. GNOME桌面 applet、 caplet、 panel.、wminteraction(sm、 pager、 footmen等)、 desktop( Iconsfile manager)
  2. sGNOME開發平台GTK+、 NOME Widgets、Component Model、FS、 Imaging、SM、il8n,主要的技術是 bonobo、XMIL、 imaging(包括 Gnome.- Print)
  3. GNOME Office Abiword、 gnumeric、GIMP、Dia、 Eye Of GNOME(EOG)、 GNOME-PIMGNOME-DB。
更加重要的一點是, GNOME是一個大型的GNU自由軟體項目,由許多人通過合作創建。在 GNOME社區中,大多數人是自願參與進來的,只在業餘時間對項目進行維護:也有一部分人是通過僱傭方式全日工作的,但只占整個社區很小的一部分。可以說, GNOME的成功乃至未來都依賴著這些社區貢獻者們:同時,一些商業公司的加入及扶持也對該項目的發展錦上花。

GNOME的發展歷程

日前,世界上有數以千計的 Linux及相關自由軟體項目有待發展。一個項目從產生到成功承受著多方麵條件的約束,適當的成長時機和環境、有能力的組織者和帶頭人、優秀的參與者、商業基金資助等環節缺一不可。GNOME也不例外。

萌芽

1996年,正值自由軟體發展的年代。一個墨西哥籍青年 Miguel de Icaza與他的一個在 Red Hat公司工作的朋友 Elliot Lee,時常在一起討論有關自由軟體的話題,並為促進自由軟體的向前發展做著各種努力,在Windows95推出之後,這兩個人都不約而同地感覺到,相對而言,自由軟體體系缺乏很多技術元素,使得其在很多領城落在後面。
當時 Icaza正在為 Linux/SGI項目(由SGI公司提供部分基金支持的一個 Linux項目)工作。他不時地抽時間在一些自由軟體相關工作上,カ圖縮短 Linux和專有軟體之間的差距。在與一位朋友討論時,其認為自由軟體桌面程式缺乏OLE模式的東西的想法,給了Icaza一些啟發、他與 Elliot Lee起進行了一些初步嘗試,比如,使用 libapp功能庫來訪問應用程式的公共資源(配置管理、近期使用的檔案記錄、mime句樹等)。雖然這項工作最終並沒有真正究成,但卻萌發了要生產一整套桌面系統的想法。
當時,KDE項目進展得十分順利,並且功能已經相對完善,Icaca對此到十分高興,並寫信給他們建議把KDE的代碼納入 Red Hat發行版,還曾致信給 Richard Stallman(GNU組織者),讓他了解有這樣一個有趣的項目存在(KDE當時是基於 GNU GPL的項目)。但 Icaza很快得到回信:Qt是商業軟體,不允許用戶修改或發行修改後的烤貝,因而違反了GPL的相關條例,而KDE對Qt的依賴性導致其中的部分程式是非自由軟體。
出於對自由軟體的熱愛, Icaza也曾與Qt的所有者 TrollTeh取得聯繫·希望可以修改Qt的相關許可規則,但是始終沒有得到回覆。經過一段時間的等待後,他決定自己親自組織一個 Linux桌面系統的項目。

誕生

Icaza從墨西哥國立自治大學計算機科學專業物色了兩名學生- Arturo Espinos和 Federico Mena,與他一同從事開發工作,同時他們也在為器西研 Linux用戶協會( LinuxUsers Group)工作。
在1997年的夏季,Icaza受一個朋友的邀請來到微軟,開發基於 SPARC的 Internet Explorer for Solaris系統(因為其技術專長就是 Linux/ SPARC)。在微軟,他學到了一些關於 Activex和COM的知識,並開始對這種技術非常著迷。在那裡,他還巧遇了一直以來在 Linuxnet IRC交流的幾個網友。當他再次返回西研時,便與 Federico著手設計一套GUI控制的基礎構架(基於UniX系統),並將其命名為GNOME。
在最初的嘗試中,他們想開發一個Qt程式的替代品。如果重新完成一套API將很可能導致軟體效率的下降,而且可能會占用很久的時間, Gnustep、wine和 LessTif是當時在代替專有API方面比較成熟的三個軟體。 Icaza組織了Linux Net絡和 Linux頻道的許多網友,共同參與到這個項的開發中來。
1997年8月, GNOME項目正式啟動。該項目的宣言草稿被送給 Richard Stallman、 Elliot Lee等多個關心該項目的朋友處進行修改。當項目的前期準備工作完成後,Icaza和Federico便著手在GIMP、Guil郵件列表、GNU項目聲明郵件列表中分發了項目聲明,以此來吸引更多的人加入。
郵件列表發揮了重要作用,來自郵件列表的參與者們做了很多貢獻,隊伍很快地擴大到了200多人。參與者們使用CORBA作為組件結構的基礎,並使用 Docbook來寫GNOME的檔案系統。在這個過程中,他們經歷了嘗試和碰壁,終於在技術上摸出了一條路子。
漸漸步入正軌後,初創的兒個人註冊了 gnome,org域名,GNOME的開發重心很快地轉移到這個社區中來。同年11月,GNOME社區聚集了足夠的能量, Icaza和 Federico推掉了其它項目,全身心地投入到開發中來。很快地,在同年的12月,他們與 Red Hat取得合作,1998年1月,共同建立了Red1Hat高級開發實驗室( Red HatAdvanced Development Labs)。這是為改進 GNOME而成立的第一開發梯隊。

轉折

1998年月,Qt2.0即將發布之際,該軟體公布了個新的許可協定,以便配合開放源碼的定義。這項聲明使得 Harmony(克隆 Qt API的免費軟體)徹底地垮台,同時也使人們的視線從剛起步的 GNOME身上轉移到KDE身上。
另一方面,由於發展的時間較短,次年3月發布的GNOME10這一版本中存在了很多漏洞,為其在穩定性方面帶來了較壞的名聲。面對這些情況, GNOME社區儘可能及時地修補了很多人們反饋的錯誤,並不斷地發布新的軟體包來彌補它們。在包含 GNOME10.xx版的 Red Hat5.0發布時,一併發布了 GNOME的眾多Bug補丁程式,在RedHat的該發行版中,也包含了KDE。
系統的不夠穩定及競爭對手給予的強烈壓力,使得GNOME社區成員們感到了危機。但是,通過不斷地吸取經驗教訓,他們最終度過了難關。
一個 Linux項目的發展,需要更多資金及專業人士的支持。同時,也待被業界承認。因此, GNOME基金會的建立不能不說是其一個重要的轉折點。
隨著 GNOME的不斷完善,很多支持開放源碼的公司也加人進來,對 GNOME用戶環境的開發及基於 GNOME的技術開發進行支持。
在2000年8月舉行的 Linux World展會上, GNOME基金會宣布成立。Sun公司在其 Solaris系統中採用了 GNOME技術,並在其開放套件 Staroffice l中繼承了 GNOME Bonobo組件架構:HP公司將 GNOME套用到IIP-UX作業系統的用戶環境中。IBM更是將其 Sashxb加速開發環境貢獻給了GNOME。
與此同時, GNOME還與 Mozilla集成到一起,並吸收了Openoffice的相關技術。 GNOME項目及社區因此而受益距淺。其中,Sun對於 GNOME的承認及支持產生了廣泛的影響,其開發團隊亦參與到 GNOME相關技術的開發研究中來在2000年9月,Sun公司宜布成立一個可訪間實驗室( Accessability Lab),幫助增強 GNOME。

GNOME的開發領域

訪問程式。這項工作的目的是為了提高 GNOMEI的易訪問性,從Gtk+小視窗到終端的閱讀用戶都可實現訪問,並提供多種特殊硬體設備的支持
文檔。這是 GNOME的一項十分巨大的工作,包括用戶文檔(如程式 Manual、用戶FAQ、 GNOME介紹)和開發者文擋(如 GNOME技術自皮書、開發者指南、開發者FAQ和API文檔)。同時,除了文檔的撰寫外,還有編和索引整理等工作。該項工作目前需要大量人員支援。
圖形。 GNOME需要幾種不同類別的圖形,分別套用在網頁、桌面、選單及特殊應用程式中。
打包。這不僅包括原始碼的打包,還包括釋放軟體包、從CVS更新的程式源碼,以及為發行和安裝打包。
質量檢驗。為了使 GNOME儘可能地穩定、高效、低Bug,這項工作必不可少。主要進行程式擴展性測試,挑出Bug並將其報告給 GNOME錯誤跟蹤資料庫。
聲音。在 GNOME的桌面事件、程式、遊戲等中都需要不同類型的聲音。目前, GNOME的聲音系統還僅局在有限系列中,急需人手來製造出高質量、高表現力的聲音
翻譯。 GNOME要想被世界上更多的用戶接受,本地化是待完普的工作之一、已被列入 GNOME未來發展計畫。該工作量是十分巨大的一對於每一種語言,都要進行全面的翻譯,包括對話框、選單、每個應用程式的按鈕的字元串,以及用戶手冊等多種文檔。現在我們在使用 Red Hat9.0附帶的 GNOME時,還經常會遇到局部漢化的間題,這正說明這項工作的必要性。
用戶界面。該項目簡稱GUP界面設計,使GNOME更易於使用和接近。
網頁設計和開發。 GNOME網站是社區成員活動頻繁的領域,以及外界接觸 GNOME項目的視窗。因而這項工作也尤為重要。要求開發者懂得PHP、MySL、WML或其它腳本編寫知識。
程式開發。主要是桌面系統中應用程式的開發。這項工作並不限定8與者一定要在既定的項日中進行選擇一有能力的人究全可以重起爐灶,另闢矚徑,從而體現個人的創遺力。如果參與這方面的開發,可以有機會與其他優秀的GNOME開發者一起工作、思考,井從他們身上學習更多的經驗和知識。
GNOME平台開發。該平台是一系列的庫和工具,應用程式便建立在其上。
開發者工具開發。開發者本身也需要很多開發工具GUI- builder(如 Glade)、IDEs、字元處理工具( gettext)、錯誤跟器、記憶體編譯工具( metro)、版本修訂控制系統(CVS)、構造工具( autoconf、 automake),以及許多其它工具。另外,圖片及文檔作者、翻譯人員也需要一系列的工具來完善和保障工作質量。

相關詞條

熱門詞條

聯絡我們