名家之言--Gavin King talk about the reasons of hibernate's success

Why This Project Is Successful?

Here's my thoughts upon what we did in terms of development practice that helped make this project so popular so quickly.

  • rapid release schedule -- 快速发布

Regular file releases (even a few days from one version to the next) were the best way to keep the project bug-free and our users confident that the project was/is active. Having working software "out there", in actual use, is the best way to discover which functionality the users really need.

  • regression tests -- 回归测试

I guess the whole Java community appreciates the importance of automated unit tests by now. A comprehensive test suite was central to the maintainability and stability of this project, as it went through massive changes in functionality and design. The mentality should be that if theres no test for a feature, then we have absolutely no idea whether that feature works or not.

  • do one thing well -- 专注把一件事做好

Be the best at something. Let other projects worry about all the other things which you can't be the best at.

  • avoid over-design --避免过度设计

Aiming for too much abstraction and flexibility at an early stage is a great way to waste time that could be better spent solving actual problems that your actual users are facing. Do the simplest thing that can possibly work. Don't try to solve problems that your users don't care about. And it DOES NOT matter if your implementation is inelegant, at least initially. What matters is delivering useful functionality in a timely manner.

  • a central vision --集中决策

Its got to be a pretty damn big project before you need a committee to make decisions. Most projects are better off with one or two open minded people guiding the project and maintaining a single coherent vision. That way the project can focus upon doing one thing well. I suspect that scope creep sinks more open source projects than any other danger.

  • documentation --文档

There's no such thing as an undocumented feature. If your users don't know about a feature, its a nonfeature. Get rid of it; it's just complicating the sourcecode.

  • avoid standardsism --避免标准化

Good standards can provide interoperability and portability. Bad standards can stifle innovation. "supports XXX standard" is not a real user requirement, particulary if XXX was designed by a committee of "experts" who, throughout the entire process, never once ate their own dogfood. De facto standards are usually a much better fit to user requirements than a priori ones. Standards are only useful if they are adopted industry-wide.

  • up and running in ten minutes or less -- 在10分钟内配置环境并运行实例

Prospective users don't have time to spend half an hour installing, configuring, troubleshooting a piece of software the first time they download it. Our aim is that new users can have the demo running in five minutes (assuming sufficient knowledge of JDBC) and their own simple Hello World style application going inside of an hour.

  • developer responsiveness--开发人员的责任感

When users have problems, which they inevitably will, the development team must be responsive and helpful. Users let you know about holes in your documentation. Users find the subtle bugs that your test suite misses. And besides, the project is a waste of time without them.

Incidently, heres a funny thing about bugs: users don't mind discovering bugs in new features, as long as they are fixed quickly. "Responsiveness" means bugfixes should be ready in under a week. 24 hours is a good target for the average response time between a bug report and the CVS fix.

  • Professional Open Source -- 专业开源

Without an income from their work, developers would not be able to do all the things listed here. Not many business models have emerged to allow open source developers to make a living from their software, one of them is JBoss Inc's Professional Open Source. In addition to supporting developers, it allows business users to get what they need in critical projects: development support, production support, and professional training. A successful open source project needs full-time developers and commercial backing.

  • easily update-able wiki pages..... 易于更新的Wiki
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值