一夜之间,开源项目仿佛无处不在,几乎覆盖了包括操作系统、网络通讯、桌面环境、教育、办公、安全、文字处理、数据库、中间件、应用娱乐在内的所有软件类型。在最大的开源项目发布平台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 Arch4J ArgoUML ashkelon ASM c2h: cetacean-to-human Castor Cayenne O/R Framework Checkstyle Compaq's Web Language Compiere ERP/CRM Business Solution DataVision Echo Eclipse Enhydra Expresso Framework Freenet FreeTTS GNU Trove Hibernate HSQL Database Engine IBM Jikes InfoSapient iSQL iText ITracker: Java Issue Tracking Software JacORB Japple Java Outline Editor (JOE) Java Wireless Connection Program JavaClientForDict Jawin JBeans JBoss jCharts jDictionary JDigraph JDOM jEdit Jetty Jext JFaceDbc JFreeChart JGraphicTools JOnAS Jonathan JORAM JOrganizer JORM Jostraca JOTM JPackage Project JPedal jPOS jPOS JPublish JRuby JSmooth jTans JUnit Just4log Logging optimizator. JXTA Jython Karapan Sapi Struts Generator kCommand Liferay Enterprise Portal Lumbermill Luxor XUL MARC4J Maverik Mercator (Java POS) Millstone Mixer MM.mysql ModelJ - Generate J2EE-Based Web Sites Mondrian MrPostman - webmail to POP3 email Gateway Mx4j NetBeans NoUnit Open For Business Open Source Java OpenCCM OpenEJB OpenEMed OpenJMS OpenNMS OpenORB OSCache OSCore OSWorkflow P6Spy PCGen PicoContainer PowerFolder ProActive ProDBA ProGuard QueryForm RmiJdbc Roller Weblogger SiteMesh SnipSnap SourceJammer Spindle Spring Framework SQuirreL SQL Client Tapestry: Java Web Components The JADE Open Framework The Open For Business Project toejam Uncle Unc Voruta WebWork WfMOpen Xbeans XDoclet Xineo XML Import Language XMLTask XMLTask XMLUnit XNap Ziga
联系作者: dawanjia@126.com
参考资料:1. GNU 官方网站 www.gnu.org2. 开源发布平台 www.sourceforge.net3. 开源共舞 http://www.donews.net/hdp/archive/2004/08/30/83115.ASPx