Apache軟體基金會

Apache軟體基金會

Apache軟體基金會(也就是Apache Software Foundation,簡稱為ASF),是專門為支持開源軟體項目而辦的一個非盈利性組織。在它所支持的Apache項目與子項目中,所發行的軟體產品都遵循Apache許可證(Apache License)。

基本介紹

  • 中文名:Apache軟體基金會
  • 外文名:Apache Software Foundation
  • 簡稱:ASF
  • 正式創建:1999年7月
基金會介紹,發展歷史,組織構成,項目,Apache技術,

基金會介紹

Apache軟體基金會(也就是Apache Software Foundation,簡稱為ASF),是專門為支持開源軟體項目而辦的一個非盈利性組織。在它所支持的Apache項目與子項目中,所發行的軟體產品都遵循Apache許可證(Apache License)。

發展歷史

Apache軟體基金會正式創建於1999年7月,它的創建者是一個自稱為“Apache組織”的群體。這個“Apache組織”在1999年以前就已經存在很長時間了,這個組織的開發愛好者們聚集在一起,在美國伊利諾伊斯大學超級計算機應用程式國家中心(National Center for Supercomputing Applications,簡稱為NCSA)開發的NCSA HTTPd伺服器的基礎上開發與維護了一個叫Apache的HTTP伺服器
最初NCSA HTTPd伺服器是由Rob McCool開發出來的,但是它的最初開發者們逐漸對這個軟體失去了興趣,並轉移到了其他地方,造成了沒有人來對這個伺服器軟體提供更多的技術支持。因為這個伺服器的功能又如此強大,而代碼可以自由下載修改與發布,當時這個伺服器軟體的一些愛好者與用戶開始自發起來,互相交流並分發自己修正後的軟體版本,並不斷改善其功能。為了更好進行溝通,Brian Behlendorf自己建立了一個郵件列表,把它作為這個群體(或者社區)交流技術、維護軟體的一個媒介,把代碼重寫與維護的工作有效組織起來。這些開發者們逐漸地把他們這個群體稱為“Apache組織”,把這個經過不斷修正並改善的伺服器軟體命名為Apache伺服器(Apache Server)。
這個命名是根據北美當地的一支印第安部落而來,這支部落以高超的軍事素養和超人的忍耐力著稱,19世紀後半期對侵占他們領土的入侵者進行了反抗。為了對這支印第安部落表示敬仰之意,取該部落名稱(Apache)作為伺服器名。但一提到這個命名,這裡還有流傳著一段有意思的故事。因為這個伺服器是在NCSA HTTPd伺服器的基礎之上,通過眾人努力,不斷地修正、打補丁(Patchy)的產物,被戲稱為“A Patchy Server”(一個補丁伺服器)。在這裡,因為“A Patchy”與“Apache”是諧音,故最後正式命名為“Apache Server”。
後來由於商業需求的不斷擴大,以Apache HTTP伺服器為中心,啟動了更多的與Apache項目並行的項目,比如mod perl、PHP、Java Apache等等。隨著時間的推移、形勢的變化,Apache軟體基金會的項目列表也不斷更新變化中——不斷的有新項目啟動,項目的中止以及項目的拆分與合併。比如一開始,Jakarta就是為了發展JAVA容器而啟動的Java Apache項目,後來由於昇陽公司(SUN)的建議,項目名稱變為Jakarta。但當時該項目的管理者也沒有想到Jakarta項目因為JAVA的火爆而發展到如今一個囊括了眾多基於JAVA語言開源軟體子項目的項目。以至後來,不得不把個別項目從Jakarta中獨立出來,成為Apache軟體基金會的頂級項目,Struts項目就是其中之一。
最近,為了避免SCO與UNIX開源社區之間的發生糾紛降臨在Apache軟體基金會(ASF)身上。Apache軟體基金會(ASF)裡面開始採取一些措施,讓眾多的項目進行更多協調的、結構化管理,並保護自己的合法利益,避免一些潛在的合乎法律的侵犯(potential legal attacks)。

組織構成

理事會
理事會(Board of Directors)是管理與監督整個Apache軟體基金會(ASF)的商務與日常事務,並讓它們能符合章程的規定下正常地運作。
項目管理委員會
項目管理委員會(Project Management Committees,簡稱為PMC),主要負責保證一個或者多個開源社區的活動都能運轉良好
現任理事會
根據2010年7月Apache官方Blog訊息,Apache 軟體基金會(ASF)宣布:Shane Curcuru, Doug Cutting, Bertrand Delacretaz, Roy T. Fielding, Jim Jagielski, Sam Ruby, Noirin Shirley, Greg Stein和Henri Yandell當選新一屆ASF理事會成員。
Jim Jagielski
ASF理事,Apache軟體基金會主席
Apache軟體基金會
Shane Curcuru
ASF理事,副主席 任職IBM
Doug Cutting
Doug Cutting ASF理事,搜尋引擎專家,任職Cloudera,Hadoop之父。
Apache軟體基金會
Bertrand Delacretaz
ASF理事,任職DAY SOFTWARE的研發集團,他參與涉及的項目Apache Cocoon, FOP, Solr, Sling, Tika和ESME。
Apache軟體基金會
Roy T. Fielding
ASF理事,美國著名科學家,HTTP規範的重要作者之一,現任職DAY SOFTWARE首席科學家。
Apache軟體基金會
Sam Ruby
ASF理事,參與很多開源項目,ASF秘書兼法律事務副主席,W3C的HTML組織聯合創始人,現任職於IBM。
Apache軟體基金會
Noirin Shirley
ASF唯一女性理事,負責會議的副主席。她任職Google。
Apache軟體基金會
Greg Stein
ASF理事,曾擔任ASF主席。
Apache軟體基金會
Henri Yandell
ASF理事,Commons,Jakarta,Tomcat等項目維護者。
Apache軟體基金會

項目

HTTP Server: 可以在UNIX,MS-Windows,Macintosh和Netware作業系統下運行的HTTP伺服器的項目
Ant: 基於Java語言的構建工具,類似於C語言的Make工具。
AXIS2:Web服務(SOAP, WSDL)的處理器,基於AXIS1.X重新構建。
APR:(也就是:Apache Portable Runtime)C語言實現的便攜運行庫的管理工具。
Beehive:為了簡單構建J2EE套用的對象模型。
Cocoon:一個基於組件技術和XML和Web套用開發框架。
DB:關於資料庫管理系統的幾個開源項目集合
Derby:一個純JAVA的資料庫管理系統
Drill :將有助於Hadoop用戶實現更快查詢海量數據集的目的
Directory:基於JAVA語言的目錄伺服器,支持LDAP等目錄訪問協定。
Excalibur:Apache Avalon項目的前身。
Forrest:一個發布系統框架的項目。
Geronimo:J2EE伺服器
Gump:整合管理器
Hadoop:並行運算編程工具和分散式檔案系統。
Harmony:一個兼容JAVA標準的JAVA語言的開源實現。
HiveMind:一個服務(Services)與配置(configuration)的微核心
iBATIS:一個基於JAVA語言的數據持久化框架
Incubator:為了幫助那些希望獲取Apache軟體基金會支持的計畫進入Apache軟體基金會的審核項目
Jackrabbit:內容倉庫API標準(Content Repository for Java Technology API,即JSR-170)的一個開源實現項目。
Jakarta: 在ASF中,基於Java語言的一組開源子項目的集合,現在包含的子項目有:BCEL,BSF,Cactus,Commons,ECS,HttpComponents,JCS,JMeter,ORO,Regexp,Slide,Taglibs,Turbine,Velocity
James:JAVA語言實現的郵件新聞伺服器
Labs:為基金會成員提供最新變更的思維的計畫
Lenya:內容管理系統
Logging: 一個開發可以在C++、Java、Perl、PHP、.NET計算機語言下運行的通用日誌工具項目集合。
Lucene: 高性能的,基於Java語言的全文檢索項目。
Maven:項目集成構建工具
MyFaces: 一個JavaServer Faces(JSF)的實現框架。
mod_perl:為Apache伺服器提供Perl語言整合的項目
POI:提供API以供JAVA程式對Microsoft Office格式檔案的讀/寫。
Portals:與門戶(Portal)技術相關的幾個項目集合
Santuario:發展XML安全性方面的項目
Shale:在Struts之後,發展起來基於JAVA語言Web套用框架
SpamAssassin:垃圾郵件過濾器
Struts: 一個基於J2EE平台的MVC設計模式的Web套用框架
Subversion: 一個軟體版本管理系統。
Tapestry: 另一個J2EE平台的、能產生動態、高性能Web套用的框架。
TCL:為Apache伺服器提供Tcl語言整合的項目
Tomcat: 一個運行Java Servlet與JavaServer Pages(JSP)的容器。
Web Services:與Web Services技術相關的項目集合
Xalan:XML轉換處理器
Xerces: 一組可以在Java,C++,Perl計算機語言下使用的XML解析器項目。
Apache XML:XML解決方案
XMLBeans:基於JAVA語言XML對象綁定工具
XML Graphics:發展XML與圖形進行轉換的計畫項目

Apache技術

HTTP伺服器
Apache HTTP伺服器項目主要致力於為現代作業系統開發和維護開源的HTTP伺服器,其中包括Unix和Windows NT。這個項目的主要目標是提供一個可以與當前的HTTP標準同步提供安全、高效和可擴展的伺服器的HTTP服務。自1996年4月以來,Apache就變成了網際網路上最流行的Web伺服器。
主要用戶群:連續13年,Apache HTTP伺服器都是全球Web伺服器的領軍者,為1.13億個網站提供服務。
Tomcat
Apache Tomcat是一個可以執行Java Servlet和JavaServer網頁技術的開源軟體。Apache和Tomcat是相對獨立的,用戶可以通過Apache訪問Tomcat資源,反之亦然,二者可以在同一台伺服器上。Apache Tomcat是由全世界各地的最佳開發者合力研發而來的,是一款非常優異的開源軟體。
用戶群:Tomcat推動了很多不同行業的大型的、關鍵的Web應用程式的發展,其中包括ETrade、沃爾瑪、天氣頻道以及EMC等。
Lucene
Apache Lucene是一個高性能、全功能的文字搜尋引擎庫,是由Java語言編寫的。Apache Lucene適用於任何需要全文字搜尋的應用程式,特別是跨越平台。一開始,Lucene是由Java語言編寫的,目前已經被移植到其他的語言,其中包括Delphi、Perl、C#、C++、Python、Ruby和PHP等。
用戶群:蘋果線上零售店、CNET、Netflix、維基百科、Yelp、Comcast、LinkedIn、The  Smithsonian、多個政府機構(FDA、DOD等)、Technorati、網際網路檔案館(例如AOL黃頁的上下文搜尋等)。
Struts
Apache Struts是一個用於開發Java EE Web應用程式的開源Web應用程式框架。Apache Struts使用和擴展Java Servlet API去鼓勵開發者採用模型視圖控制器(MVC)構架。
用戶群: IRS、波士頓環球報、大赦國際、Sears、Alamo Car Rental、National Car Rental、Travelocity等等。
Geronimo
Apache Geronimo是Apache軟體基金會的開放源碼J2EE伺服器,它集成了眾多先進技術和設計理念。這些技術和理念大多源自獨立的項目,配置和部署模型也各不相同。Geronimo項目的目標就是產生一個伺服器運行時間框架,將最好的開源替代品匯集到一個統一、易用的模型中,去滿足開發人員和系統管理員的需求。
用戶群:AMD、Chariot Solutions、IBM、Virtuas等。
Ant
Apache Ant是由Apache軟體基金會所提供的一個基於Java的開發工具,它是將軟體編譯、測試、部署等步驟聯繫在一起加以自動化的一個工具,大多用於Java環境中的軟體開發。
用戶群:大多數的Java設計都被用於管理大量信息流,例如紐約州就使用Apache Ant去管理美國最大的青年計畫,每天可以實時更新超過25萬學生的記錄。
Cocoon
Apache Cocoon是一個基於Spring框架的圍繞分離理念建立的構架,在這種框架下的所有處理都被預先定義好的處理組件線性連線起來,能夠將輸入和產生的輸出按照流水線順序處理。
用戶群:Apache Lenya、Daisy CMS、Hippo CMS、Mindquarry等等,Apache Cocoon通常被作為一個數據抽取、轉換、載入工具或者是系統之間傳輸數據的中轉站。
SpamAssassin
SpamAssassin是一個由Apache開發的一個著名的反垃圾引擎,郵件系統完整的集成了SpamAssassin反垃圾引擎。SpamAssassin中包含了各種各樣的垃圾郵件監測技術,其中包括基於DNS和checksum的垃圾郵件監測、Bayesian過濾、外部程式、黑名單和線上資料庫等。
用戶群:SpamAssassin被數以千計的獨立開發商和用戶所採用,並被作為數個商業產品的主要成分.\
Axis
Apache Axis是一個基於SOAP套用的框架,核心是一個SOAP處理器,用於開發包括客戶端,伺服器端,SOAP Gateway等各種套用。
用戶群:WSO2、MuleSource IBM、Progress Software等。
Logging Service
Apache Logging Services項目主要是為了提供套用程式除錯以及監督的日誌登錄服務。 Apache Logging Services項目的產品包括三個日誌登錄框架,分別為log4j for Java、log4cxx for C++以及log4net for the Microsoft .NET framework。Apache Logging Services還被套用於日誌查看器和分析工具Chainsaw中。
用戶群:Apache Logging在Java開發中無處不在。
Common
Commons是一個主要專注於可再用Java組件所有方面的Apache項目。Apache Commons項目由3個部分組成:
*The Commons Proper—可再用Java組件的貯存處;
*The Commons Sandbox—Java組件的開發工作區;
*The Commons Dormant—沙盒組件的貯存庫。
用戶群:亞馬遜Web服務、谷歌。 

相關詞條

熱門詞條

聯絡我們