Apache软件基金会
命名缘由 | 阿帕奇超文本协议服务 |
---|---|
成立時間 | 1999年7月 |
創始人 | Brian Behlendorf, Ken Coar, Mark Cox, Lars Eilebrecht, Ralf S. Engelschall, Roy T. Fielding, Dean Gaudet, Ben Hyde, Jim Jagielski, Alexei Kosut, Martin Kraemer, Ben Laurie, Doug MacEachern, Aram Mirzadeh, Sameer Parekh, Cliff Skolnick, Marc Slemko, William (Bill) Stoddard, Paul Sutton, Randy Terbush, Dirk-Willem van Gulik |
類型 | 501(c)(3) |
法律地位 | 基金会、501(c)(3)組織 |
總部 | 福里斯特希爾 |
地址 | |
方法 | Apache许可证 |
目標 | 开源软件 |
獎項 | 大哥奖[*] |
網站 | www.apache.org |
Apache软件基金会(也就是Apache Software Foundation,简称为ASF),是专门为支持开源软件项目而办的一个非盈利性组织。在它所支持的Apache项目与子项目中,所发行的软件产品都遵循Apache许可证(Apache License)。
发展历史
Apache软件基金会正式创建于1999年,它的创建者是一个自称为“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),主要负责保证一个或者多个开源社区的活动都能运转良好
项目
- 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应用的对象模型。
- Apache Camel: 一个开源的企业应用集成框架。
- Cocoon:一个基于组件技术和XML和Web应用开发框架。
- DB:关于資料庫管理系統的几个开源项目集合
- Derby:一個純JAVA的資料庫管理系統
- 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与图形进行转换的计划项目