一夜之间,开源项目仿佛无处不在,几乎覆盖了包括操作系统、网络通讯、桌面环境、教育、办公、安全、文字处理、数据库、中间件、应用娱乐在内的所有软件类型。在最大的开源项目发布平台www.sourceforge.net上,已经有近十万件开源项目,并且天天都有更多新的开源项目加入。而闻名的www.apache.org则为大家奉献了Apache、Tomcat、Struts 、Axis等。
开源运动是程序员对聪明成果共享、自由的追求,天天都有无数程序员为开源世界添砖加瓦,还有更多的程序员在学习开源软件的思想、框架和实现(我也是其中一个^_^)。将开源项目的思想、框架运用,或者是直接集成到工作项目中,是几乎每个开发人员都要面对的(为公司提高效率,节省工作量,老板说不定就给你加薪喽)问题。
Java开源软件是开源世界中的生力军。从开发工具IDE(就是大家熟悉的eclipse)、框架Framework、中间件、再到测试工具,几乎可以找到开源的整套解决方案。站在巨人的肩膀上看的更远,学习、研究、应用优秀的java开源项目,既可以提高自身的水平,又可以提高项目开发的效率、促进和保证软件开发的质量,如此一箭多雕的事,何乐而不为呢(不过要学的东西可真不少啊:()。
笔者在工作中,接触到了不少开源软件,感觉很有必要系统的学习一下。基于开源精神,预备将学习的心得整理出来,既是对自己学习的整理和记录,更希望能给您一点启发和帮助(水平有限,别砸臭鸡蛋^_^)。
在前面几节,会简单介绍一下开源软件的历史、软件许可协议等相关知识。后边则对闻名的开源项目一一介绍,不可能很细致,主要介绍一下软件的功能和应用场景(假如感爱好,就需要您自己深入研究啦)。打算至少一个星期更新一节,欢迎您多提意见!感谢您的关注^_^
以下是打算介绍的开源项目名称(初步打算,会有增删)
Anthill Build Management Server
AntiChess
ANTLR
Apache Jakarta : OJB
Apache Jakarta: Alexandria
Apache Jakarta: Ant
Apache Jakarta: Avalon
Apache Jakarta: BCEL
Apache Jakarta: Cactus
Apache Jakarta: Commons
Apache Jakarta: ECS
Apache Jakarta: James
Apache Jakarta: Jetspeed
Apache Jakarta: JMeter
Apache Jakarta: Log4j
Apache Jakarta: LUCene
Apache Jakarta: ORO
Apache Jakarta: POI/POI Serialization Project
Apache Jakarta: RegeXP
Apache Jakarta: Slide
Apache Jakarta: Struts
Apache Jakarta: Taglibs
Apache Jakarta: Tomcat
Apache Jakarta: Turbine
Apache Jakarta: Velocity
Apache Jakarta: Watchdog
Apache XML-RPC
Apache XML: AXIS
Apache XML: AxKit
Apache XML: Batik
Apache XML: Cocoon
Apache XML: Crimson
Apache XML: FOP
Apache XML: Security
Apache XML: SOAP
Apache XML: Xalan
Apache XML: Xang
Apache XML: Xerces
Apache XML: Xindice
Apollo