Warning: Undefined global variable $debug in /var/www/ourcoders/tiny4cocoa/application/controllers/baseController.php on line 124
zhh-4096 2020-01-06 00:00:00 发布的技术动态 - OurCoders (我们程序员)
zhh-4096
2020-01-06 00:00:00 发布
Apache 社区没有一个高质量高流行度的关系数据库,只有一个不太常用的 Apache Derby (比H2、hsqldb还小众),还是IBM捐出去的(从Informix的手上收购来的Cloudscape)。H2、hsqldb都没有在Apache 社区下面开发维护,而是自己搞一个小社区。连一些流行的ORM/SQLMapping框架都不在Apache麾下。Hibernate我就没记得哪时有放到Apache社区,iBatis早期在Apache,后来跳出来了,还改名为MyBatis。

对于这个现象我自己有两个看法:

1.关系数据库的商业价值高,或者说容易商业化,开发者们还是更倾向把控制权尽可能掌握在自己手中,包括选用什么样的开源协议自己可以定,一旦捐给Apache了,就只能用Apache的宽松协议进行开发维护。所以还是适合捐一些低商业价值的数据库,就比如Derby,这东西对IBM来说就是个鸡肋了。

2. iBatis当年从Apache退出,我印象里官方给的说法是受不了Apache那堆流程还有管理方式(也包括源代码版本控制)。的确,当Git很流行时,Apache早期还在用SVN,当GitHub已经在玩新的协作方式时,Apache才后知后觉慢慢在GitHub上有了代码镜像。

也有人给我建议,让我把我的数据库捐给Apache,一方面是行不通,捐给Apache前,开源项目要初具社区规模了,要有一定的用户和活跃度,我的项目还不满足这些要求。另一方面,当然是最重要的,我并没有考虑把我的项目捐给Apache。最后一点,因为我的数据库从H2演化而来,有一些代码依然遵守H2的开源协议,这个协议无法放到Apache社区下开发。