请先看看这个帖子,尤其是下面的回复
国内同行对open source的误解远远超出了我的想象。太多的误解,以至于我不知道该从哪里说起。无力去一一厘清那么多的误解,讲讲我自己的故事吧。
G-Roller(
http://cosoft.org.cn/projects/groller)是我发起的一个open source项目,一个基于J2EE轻量级解决方案的weblog服务器软件,目的是搭建并检验一个适用于OLTP类型web应用的通用业务框架。去年10月,我用了两个星期的业余时间完成了它的基础框架,此后一直维护升级,并加入了另外几位朋友贡献的GUI和一些improvements。现在我公司的项目正在使用这个框架,此外至少还有另外三个公司的项目采用它作为基础业务框架。我们仍然在不断为open source作出贡献,不断改进着这个项目。
到目前为止,为G-Roller作出贡献的大概有四类人:
- 发起者和主要开发者(也就是我本人)。前前后后,我用了大概一个月的业余时间在这个开源项目上,主要是开发核心框架和示例应用,几乎没有做GUI。现在我们的项目使用这个框架,也就是说我的工作有90%被应用在项目里,项目前期的技术探索时间被节约下来,等于是公司为我付出的业余时间买了单。由于将项目open source,我得到了有价值的反馈和peer review,这是我的额外收获。
- 辅助开发者(有两位)。他们发现并修改了G-Roller框架中的一些bugs,并且做出了一个简单但可用的GUI。他们的贡献使G-Roller框架能够真正应用在企业级开发中,避免了深藏的bug在后期造成危害,而且一个GUI也使G-Roller更具亲和力。两人之中至少有一人已经在项目里使用这个框架,相信这也大大节约了他的时间成本。
- 使用者(一到两位)。他们没有提出更多的修改意见,而是直接使用G-Roller框架作为自己项目的业务框架。由于现在并没有一个open source的“开箱即用”的业务框架,他们节约了自主开发的时间,并且可以得到我的免费技术支持——虽然经常是语焉不详的。
- 关注者(众多)。包括学生和职业开发者。他们没有提出更多的修改意见,也没有实际应用,只是学习其中的设计思想。G-Roller是一个sample application,通过它可以了解Hibernate和Spring的基本用法,以及一些体系结构和设计中的最佳实践。
在这里,在所有这些关注open source、为open source作出贡献的人里,有任何一个人吃亏了吗?有任何一个人需要靠着高尚情操的支撑才能做出这一切吗?有任何一个人没有因为open source而获益吗?open source就是这样一件让所有人都获益的事情,在我看来是再明显不过的了,为什么还会有那么多的争执不休呢?
(新的“透明思考”:http://gigix.blogdriver.com/)
分享到:
相关推荐
**G-Roller-WW**是一个使用WebWork构建的实际应用案例,用于展示如何将WebWork与G-Roller博客系统集成。 - **JSTL与WebWork的整合** JSTL(JavaServer Pages Standard Tag Library)是Java EE平台的标准标签库,...
- 本节介绍如何将G-Roller与WebWork集成,以实现更高级的功能。 - 包括JSTL与WebWork的整合、中文解决方案等内容。 - **与其他开源项目集成**: - WebWork可以轻松地与其他流行的开源项目集成,例如Spring、...
- **G-Roller-WW介绍**:这是一个使用WebWork进行博客管理系统的示例项目。 - **JSTL与WebWork的整合**:通过使用JSTL标签库来简化JSP页面的编写。 - **中文解决方案**:处理中文编码问题,确保中文字符的正确显示。...
- **项目简介**: G-Roller-WW是一个实际项目案例,展示了WebWork与其他技术(如Spring、Hibernate)的集成。 - **技术栈**: - **Spring**: 容器管理、事务管理。 - **Hibernate**: ORM框架,用于数据库交互。 - *...
**G-Roller-WW**是一个实战项目,展示了如何将WebWork与其他开源项目如Spring、Hibernate等进行集成。通过这样的实践,可以进一步提升WebWork的应用水平。 #### 八、总结与展望 通过以上内容的学习,我们可以了解...
**G-Roller-WW**是一个基于WebWork的实际项目案例。 - **项目介绍**:该项目是一个博客系统,展示了如何利用WebWork构建实际的应用。 - **JSTL与WebWork的整合**:介绍了如何结合JSTL(Java Standard Tag Library)...
对于希望深入了解WebWork的开发者,建议继续探索其他章节,如实战G-Roller-WW以及WebWork与其他开源项目(如Spring、Hibernate等)的集成。如有任何疑问或建议,可发送邮件至 achqian@hotmail.com 进行交流。
- **G-Roller-WW**:一个具体的实战案例,展示了如何使用WebWork来开发实际的应用。 - **WebWork与其他开源项目的集成**:WebWork可以很方便地与Spring、Hibernate、Xml-RPC等其他开源项目进行集成,共同构建复杂的...
本教程是针对WebWork 0.90版本的初稿,涵盖了大部分章节,但未包括"实战G-Roller-WW"和"WebWork与其它开源项目的集成"这两部分内容。教程由作者moxie(安子)编写,并在2004年6月29日发布,提供电子邮件achqian@...
#### 实战案例:G-Roller-WW - **项目概述**:一个基于WebWork的博客系统。 - **技术栈**: - **Web框架**:WebWork2。 - **模板引擎**:如Velocity或FreeMarker。 - **数据库访问**:使用Spring或Hibernate进行...
以上只是WebWork教程的部分内容,完整的学习笔记涵盖了更多高级主题,如Interceptor(拦截器)、Validation(验证)、I18N(国际化)、AOP支持以及与其他开源项目的集成,如G-Roller-WW和Spring等。通过深入学习和...
- **实战G-Roller-WW**:介绍如何使用WebWork实现一个完整的博客系统。 - **WebWork与其他开源项目的集成**:包括Spring、Hibernate、Xml-RPC等,通过这些集成可以增强WebWork的功能性和灵活性。 #### 十、总结与...
“实战G-Roller-WW”章节提供了一个实际应用案例,展示了如何使用WebWork开发具体的应用场景。此外,WebWork与其他流行开源项目的集成也是学习过程中的重要一环,例如与Spring框架的结合,利用Spring的依赖注入(DI...
带有gccLinux,g ++ Kdevelop,cmake,ccache(可选) IT ++(> 4.3.1) ffmpeg(使用具有H.265支持的版本) HM14 Matlab的 @note如果未提供系统依赖关系,则可能无法使用某些功能 CppCollection wireless360项目所...