Apache软件基金会的介绍

2024-05-17 20:20

1. Apache软件基金会的介绍

Apache软件基金会(也就是Apache Software Foundation,简称为ASF),是专门为支持开源软件项目而办的一个非盈利性组织。在它所支持的Apache项目与子项目中,所发行的软件产品都遵循Apache许可证(Apache License)。

Apache软件基金会的介绍

2. 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,VelocityJames: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与图形进行转换的计划项目

3. Apache软件基金会的发展历史

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)。

Apache软件基金会的发展历史

4. apache的基金会

 Apache软件基金会(也就是Apache Software Foundation,),是专门为运作一个开源软件项目的 Apache 的团体提供支持的非盈利性组织,这个开源软件项目就是 Apache 项目。这个组织把自己作为有着相同目标的开发者与用户的团体,而不是简单的共享在一个服务器上的一组项目的组织团体。在它所支持的 Apache 项目与子项目中,所发行的软件产品都遵循 Apache许可证(Apache License)。Apache软件基金会(ASF)正式,它的。这个“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”(一个补丁服务器)。在这里,因为“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)。由于Apache软件基金会在开源服务器技术上的卓越贡献,荣获了著名IT杂志SD Times颁发的2013 SD Times 100奖项,位于“极大影响力”分类第二位,仅次于亚马逊。也由于hadoop在大数据处理和大数据挖掘上的出色表现,ASF也荣获了“大数据和商业智能”的第二位。 主要成果:HTTP Server,Ant,DB,iBATIS,Jakarta,Logging,Maven,Struts,Tomcat,Tapestry等等。Apache有名的几个项目介绍HTTPServer这个在前面的段落介绍过了,Apache已经是他的代号了 Subversion已经正式由Apache接管 。ActiveMQ免费开源由java编写符合JMS1.1标准的消息中间件。另外,它也支持通过除java语言外的语言的使用Ant这个太出名了。标准的批处理工具。是一套基于java的程序打造工具Commons一些常用的工具类库,包括common-pool,dbcp,fileupload,Common-beans等。Excalibur它的主要产品是一个由java写成的,名字叫做Fortress(要塞) 的轻量级的可嵌入式反向控制容器。iBATIS并入的一个项目,是ORM的一个很流行的工具Geronimo是Apache软件基金会为了创造一个兼容j2ee的容器,而整理出来的一个新成果Jakarta许多Java子项目的集成,tomcat,ant等就是从这里孵化出去的。James是一套用java开发的邮件、新闻组、消息服务器。它使用的avalon组件框架。目前支持 SMTP, POP3 和 NNTP 很快也会支持 IMAPLogging基于java的可靠,快速,扩展性强的日志工具Maven是一套java开发的工程综合管理工具。它基于工程对象模型(POM)的理念Portals门户产品Struts一套通过servlets和jsp来搭建web应用的MVC框架Tomcat 用量最大的免费的Java服务器Hadoop  现今最为著名的大数据神器,包括分布式存储和计算框架。