Apache軟件基金會(Apache 軟件 基金會,簡稱ASF)為全球最大的開源軟件基金會。是一家在美國注冊成立的501c3非營利公共慈善組織,1999年由Apache Group的成員組建,其主要目的是:通過提供硬件、通信和業(yè)務基礎設施,為開放、協(xié)作的軟件開發(fā)項目提供基礎;創(chuàng)建一個公司和個人可以向其捐贈資源的獨立法人實體,確保這些資源將用于公共利益;為個體志愿者提供一種免受針對基金會項目的法律訴訟的途徑;保護應用于“Apache”品牌下的軟件免遭其他組織濫用。
基金會簡介
Apache軟件基金會(也就是Apache 軟件 基金會,),是專門為運作一個開源軟件項目的 Apache 的團體提供支持的非盈利性組織,這個開源軟件項目就是 Apache 項目。這個組織把自己作為有著相同目標的開發(fā)者與用戶的團體,而不是簡單的共享在一個服務器上的一組項目的組織團體。在它所支持的 Apache 項目與子項目中,所發(fā)行的軟件產品都遵循 Apache許可證(Apache License)。
Apache軟件基金會(ASF)正式,它的。這個“Apache 組織”在1999年以前就已經存在很長時間了,這個組織的開發(fā)愛好者們聚集在一起,在美國伊利諾伊州大學超級計算機應用程序國家中心(National 內角 for Supercomputing Applications,簡稱為NCSA)開發(fā)的 NCSA HTTPd 服務器的基礎上開發(fā)與維護了一個叫 Apache 的 HTTP服務器。
最初 NCSA HTTPd 服務器是由 Rob McCool 開發(fā)出來的,但是它的最初開發(fā)者們逐漸對這個軟件失去了興趣,并轉移到了其他地方,造成了沒有人來對這個服務器軟件提供更多的技術支持。因為這個服務器的功能又如此強大,而代碼可以自由下載修改與發(fā)布,當時這個服務器軟件的一些愛好者與用戶開始自發(fā)起來,互相交流并分發(fā)自己修正後的軟件版本,并不斷改善其功能。為了更好進行溝通,Brian Behlendorf 自己建立了一個郵件列表,把它作為這個群體(或者社區(qū))交流技術、維護軟件的一個媒介,把代碼重寫與維護的工作有效組織起來。這些開發(fā)者們逐漸地把他們這個群體稱為“Apache 組織”,把這個經過不斷修正并改善的服務器軟件命名為 Apache 服務器(Apache Server)。
這個命名是根據(jù)北美當?shù)氐囊恢в〉诎膊柯涠鴣?,這支部落以高超的軍事素養(yǎng)和超人的忍耐力著稱,19世紀后半期對侵占他們領土的入侵者進行了反抗。為了對這支印第安部落表示敬仰之意,取該部落名稱(Apache)作為服務器名。但一提到這個命名,這里還有流傳著一段有意思的故事。因為這個服務器是在 NCSA HTTPd 服務器的基礎之上,通過眾人努力,不斷地修正、打補丁(Patchy)的產物,被戲稱為“A Patchy Server”(一個補丁服務器)。在這里,因為“Patchy”與“Apache”是諧音,故最後正式命名為“Apache Server”。
后來由于商業(yè)需求的不斷擴大,以 Apache HTTP 服務器為中心,啟動了更多的與 Apache 項目并行的項目,比如mod_ Perl、PHP、Java Apache等等。隨著時間的推移、形勢的變化,Apache軟件基金會的項目列表也不斷更新變化中--不斷的有新項目啟動,項目的中止以及項目的拆分與合并。比如一開始,Jakarta 就是為了發(fā)展 JAVA 容器而啟動的 Java Apache 項目,後來由于太陽公司(SUN)的建議,項目名稱變?yōu)?Jakarta。但當時該項目的管理者也沒有想到 Jakarta 項目因為 JAVA 的火爆而發(fā)展到如今一個囊括了眾多基于 JAVA 語言開源軟件子項目的項目。以至后來,不得不把個別項目從 Jakarta 中獨立出來,成為 Apache軟件基金會的頂級項目,Struts 項目就是其中之一。
最近,為了避免 SCO 與 unix 開源社區(qū)之間的發(fā)生糾紛降臨在 Apache 軟件基金會(ASF)身上。Apache軟件基金會(ASF)里面開始采取一些措施,讓眾多的項目進行更多協(xié)調的、結構化管理,并保護自己的合法利益,避免一些潛在的合乎法律的侵犯(potential legal attacks)。
由于Apache軟件基金會在開源服務器技術上的卓越貢獻,榮獲了著名IT雜志SD Times頒發(fā)的2013 SD Times 100獎項,位于“極大影響力”分類第二位,僅次于亞馬遜。也由于Hadoop在大數(shù)據(jù)處理和大數(shù)據(jù)挖掘上的出色表現(xiàn),ASF也榮獲了“大數(shù)據(jù)和商業(yè)智能”的第二位。
主要成果:HTTP Server,Ant,DB,iBATIS,Jakarta,Logging,Maven,Struts,tomcat,Tapestry等等。Apache有名的幾個項目介紹
HTTPServer
這個在前面的段落介紹過了,Apache已經是他的代號了
相關產品
Subversion
Subversion已經正式由Apache接管。
免費開源由java編寫符合JMS1.1標準的消息 中間件。
另外,它也支持通過除java語言外的語言的使用
這個太出名了。標準的批處理工具。是一套基于java的程序打造工具
Commons
一些常用的工具類庫,包括common-pool,dbcp,fileupload,Common-beans等。
它的主要產品是一個由java寫成的,名字叫做Fortress(要塞)的輕量級的可嵌入式反向控制容器。
并入的一個項目,是NHibernate的一個很流行的工具
Geronimo
是Apache軟件基金會為了創(chuàng)造一個兼容JBoss的容器,而整理出來的一個新成果
Jakarta
許多Java子項目的集成,tomcat,ant等就是從這里孵化出去的。
James
是一套用java開發(fā)的郵件、新聞組、消息服務器。它使用avalon的組件框架。目前支持 SMTP, POP3 和 NNTP 很快也會支持 IMAP
Logging
基于java的可靠,快速,擴展性強的日志工具
是一套java開發(fā)的工程綜合管理工具。它基于工程對象模型(POM)的理念
Portals
門戶產品
Struts
一套通過servlets和jsp來搭建web應用的MVC框架
tomcat 用量最大的免費的Java服務器
現(xiàn)今最為著名的大數(shù)據(jù)神器,包括分布式存儲和計算框架。
虛擬主機
1、核心的增強
unix線程
在有POSIX線程支持的Unix系統(tǒng)上, apache 虛擬主機現(xiàn)在可以運行在混合多進程,多線程模式。這一改進改善了很多(但不是全部)配置的可擴縮性。
新的構架系統(tǒng)
構架系統(tǒng)已經對原來基于autoconf和libtool上的草稿進行了重寫。這使得Apache的配置系統(tǒng)與其他包的配置系統(tǒng)更加相似。
多協(xié)議支持
apache 虛擬主機現(xiàn)在已經擁有了能夠支持伺服多協(xié)議的底層構造。mod_echo就是作為示例的成果。
對非Unix平臺更好的支持
Apache 2.0在諸如BeOS,OS/2和Windows等非Unix平臺上有了更好的速度和穩(wěn)定性。隨著平臺特定的multi-processing modules (MPMs)和Apache Portable Runtime (APR)的引入,Apache在這些平臺上的指令由它們本地的API指令實現(xiàn)。避免了以往使用POSIX模擬層造成的bug和性能低下。
新的Apache API
2.0中模塊的API進行了重大改變。很多1.3中模塊排序/模塊優(yōu)先級的問題已經不復存在了。2.0自動處理了很多這樣的問題,模塊排序現(xiàn)在用per-hook的方法進行,從而擁有了更多的靈活性。而且,新的調用被加入以在避免修改Apache服務器核心的前提下提供額外的模塊容量。
IPv6支持
在所有能被Apache Portable Runtime庫提供IPv6支持的系統(tǒng)上,Apache默認獲得IPv6偵聽套接字。另外,Listen, NameVirtualHost和VirtualHost 指令支持了IPv6的數(shù)字形地址字串(比如:“Listen [fe80::1]:8080”)。
濾過
apache 虛擬主機的模塊現(xiàn)在可以寫成過濾器的形式。當內容流經過它到服務器或從服務器到達的時候進行操作。舉例來說,這將使使用mod_include中的INCLUDES過濾器將CGI腳本的輸出解析為服務器端包含指令成為可能。mod_ext_filter允許外部程序充當過濾器的角色,就象用CGI程序做處理器一樣。
多語種錯誤回報
返回給瀏覽器的錯誤信息現(xiàn)在已經用SSI文檔實現(xiàn)了多語種化。管理員可以利用此功能進行定制以達到觀感的一致。
簡化了的配置
很多易混淆的配置項已經進行了簡化。經常產生混淆的Port和BindAddress配置項已經取消了;只有Listen選項現(xiàn)在用于IP地址的綁定;ServerName配置項中指定的服務器名和端口僅用于轉向和虛擬機的辨識。
本地Windows NT Unicode支持
Windows NT上的Apache 2.0現(xiàn)在使用utf-8標準來進行文件名的解析。這個操作直接轉換成底層的Unicode文件系統(tǒng),由此為所有以Windows NT(包括Windows 2000和XP)為基礎的安裝提供了多語言支持。這一支持目前尚未涵蓋Windows 95, 98 or ME系統(tǒng),因為它們仍使用機器本地的代碼頁進行文件系統(tǒng)的操作。
正則表達式庫更新
apache 虛擬主機包括了Perl兼容正則表達式庫(PCRE)。所有的正則表達式現(xiàn)在都使用了更為強大的Perl 5的語法。
2、模塊的增強
MOD_ssl
Apache 2.0中的新模塊。此模塊是一個面向OpenSSL提供的SSL/TLS加密協(xié)議的一個接口。
mod_dav
Apache 2.0中的新模塊。此模塊繼承了HTTP分布式發(fā)布和版本控制規(guī)范,用于發(fā)布、得到web內容。
mod_deflate
Apache 2.0中的新模塊。此模塊允許支持此功能的瀏覽器請求頁面內容在發(fā)送前進行壓縮,以節(jié)省網絡資源。
mod_auth_ldap
Apache 2.0.410中的新模塊。此模塊允許使用LDAP數(shù)據(jù)庫存儲HTTP基礎認證所需的證書。隨之而來的另一個模塊:mod_ldap ,則提供了連接池和結果的緩沖。
mod_auth_digest
利用共享內存實現(xiàn)了了額外的跨進程的session緩沖支持。
mod_charset_lite
Apache 2.0中的新模塊。這個試驗模塊允許針對字符集的轉換和記錄。
mod_file_緩存
Apache 2.0中的新模塊。這個模塊包含了Apache 1.3中mod_mmap_static模塊的功能,另外進一步增加了緩沖能力。
mod_headers
此模塊在Apache 2.0中更具靈活性。它現(xiàn)在可以更改mod_proxy需用的請求headers,而且它能有條件的設置回復headers。
mod_proxy
代理模塊已經被完全重寫以充分利用新的過濾器結構的優(yōu)勢,從而實現(xiàn)一個更為可靠的HTTP/1.1兼容的代理模塊。另外,新的
mod_negotiation
加入一個新的ForceLanguagePriority指令用于保證所有情況下客戶端都收到同一個文檔,取代了不可接受的或多選擇的回應。另外,negotiation和MultiViews算法已經進行了優(yōu)化以提供更完美的結果,還有,提供了包括文檔內容的新型類型圖。
mod_autoindex
經自動索引后的目錄列表現(xiàn)在可被配置為使用HTML表格以達到更清晰的格式,而且允許更為細化的排序控制,包括版本排序和通配符濾過目錄列表。
mod_include
新的指令集允許修改默認的SSI元素的開始和結束標簽,而且允許以主配置文件里的錯誤提示和時間格式的配置取代SSI文檔中的相應部分。正則表達式(現(xiàn)在已基于Perl的正則表達式語法)的解析和分組結果可以用mod_include的變量$0 .. $9取得。
mod_auth_dbm
現(xiàn)在在AuthDBMType的規(guī)策下支持多種類似DBM的數(shù)據(jù)庫。
開源技術
Apache HTTP服務器項目
Apache HTTP服務器項目主要致力于為現(xiàn)代操作系統(tǒng)開發(fā)和維護開源的HTTP服務器,其中包括Unix和Windows NT。這個項目的主要目標是提供一個可以與當前的HTTP標準同步提供安全、高效和可擴展的服務器的HTTP服務。
自1996年4月以來,Apache就變成了互聯(lián)網上最流行的Web服務器。
主要用戶群:連續(xù)13年,Apache HTTP服務器都是全球Web服務器的領軍者,為1.13億個網站提供服務。
Apache Tomcat
Apache Tomcat是一個可以執(zhí)行Java Servlet和JavaServer網頁技術的開源軟件。Apache和tomcat是相對獨立的,用戶可以通過Apache訪問Tomcat資源,反之亦然,二者可以在同一臺服務器上。
Apache Tomcat是由全世界各地的最佳開發(fā)者合力研發(fā)而來的,是一款非常優(yōu)異的開源軟件。
用戶群:Tomcat推動了很多不同行業(yè)的大型的、關鍵的Web應用程序的發(fā)展,其中包括ETrade、沃爾瑪公司、天氣頻道以及Dell EMC等。
Apache Lucene
Apache Lucene是一個高性能、全功能的文字搜索引擎圖書館,是由Java語言編寫的。Apache
Lucene適用于任何需要全文字搜索的應用程序,特別是跨越平臺。一開始,Lucene是由Java語言編寫的,目前已經被移植到其他的語言,其中包括
Delphi、Perl、C#、C++、Python、Ruby和PHP等。
用戶群:蘋果在線零售店、CNET、Netflix、維基百科、Yelp、Comcast、Linkedin、The
Smithsonian、多個政府機構(美國食品藥品監(jiān)督管理局、DOD等)、Technorati、互聯(lián)網檔案館(例如美國在線公司黃頁的上下文搜索等)。
Apache Struts
Apache Struts是一個用于開發(fā)Java EE Web應用程序的開源Web應用程序框架。Apache Struts使用和擴展Java Servlet
API去鼓勵開發(fā)者采用模型視圖控制器(MVC)構架。
用戶群: IRS、波士頓環(huán)球報、大赦國際、Sears、Alamo Car Rental、National Car Rental、Travelocity等等。
Apache Geronimo
Apache Geronimo是Apache
軟件基金會的開放源碼JBoss服務器,它集成了眾多先進技術和設計理念。這些技術和理念大多源自獨立的項目,配置和部署模型也各不相同。
Geronimo項目的目標就是產生一個服務器運行時間框架,將最好的開源替代品匯集到一個統(tǒng)一、易用的模型中,去滿足開發(fā)人員和系統(tǒng)管理員的需求。
用戶群:AMD、Chariot Solutions、IBM、Virtuas等。
Apache Ant
Apache
Ant是由Apache軟件基金會所提供的一個基于Java的開發(fā)工具,它是將軟件編譯、測試、部署等步驟聯(lián)系在一起加以自動化的一個工具,大多用于Java環(huán)境中的軟件開發(fā)。
用戶群:大多數(shù)的Java設計都被用于管理大量信息流,例如紐約州就使用Apache Ant去管理美國最大的青年計劃,每天可以實時更新超過25萬學生的記錄。
Apache Cocoon
Apache Cocoon是一個基于Spring框架的圍繞分離理念建立的構架,在這種框架下的所有處理都被預先定義好的處理組件線性連接起來,能夠將輸入和產生的輸出按照輸送流水線順序處理。
用戶群:Apache Lenya、Daisy CMS、Hippo CMS、Mindquarry等等,Apache
Cocoon通常被作為一個數(shù)據(jù)抽取、轉換、加載工具或者是系統(tǒng)之間傳輸數(shù)據(jù)的中轉站。
Apache SpamAssassin
spamassassin是一個由Apache開發(fā)的一個著名的反垃圾引擎,郵件系統(tǒng)完整的集成了SpamAssassin反垃圾引擎。
SpamAssassin中包含了各種各樣的垃圾郵件監(jiān)測技術,其中包括基于DNS和checksum的垃圾郵件監(jiān)測、Bayesian過濾、外部程序、黑名單和在線數(shù)據(jù)庫等。
用戶群:SpamAssassin被數(shù)以千計的獨立開發(fā)商和用戶所采用,并被作為數(shù)個商業(yè)產品的主要成分.\
Apache Axis
Apache Axis是一個基于SOAP應用的框架,核心是一個SOAP處理器,用于開發(fā)包括客戶端,服務器端,SOAP Gateway等各種應用。
用戶群:WSO2、MuleSource IBM、Progress 軟件等。
Apache Logging Services
Apache Logging Services項目主要是為了提供應用程式除錯以及監(jiān)督的日志登錄服務。
Apache Logging Services項目的產品包括三個日志登錄框架,分別為log4net for Java、log4cxx for
C++以及l(fā)og4net for the Microsoft .NET framework。
Apache Logging Services還被應用于日志查看器和分析工具Chainsaw中。
用戶群:Apache Logging在Java開發(fā)中無處不在。
Apache Commons
Commons是一個主要專注于可再用Java組件所有方面的Apache項目。
Apache Commons項目由3個部分組成:
*The Commons Proper—可再用Java組件的貯存處;
*The Commons Sandbox—Java組件的開發(fā)工作區(qū);
*The Commons Dormant—沙盒組件的貯存庫。
參考資料 >
【開源創(chuàng)新】SeaTunnel 宣布畢業(yè),中國又一 Apache 軟件基金會頂級項目誕生!.中國通信學會.2024-03-22
HOW THE ASF WORKS.The Apache Software Foundation.2024-03-22