
1.背景
关于PG的开源产品:WalMiner, 现在出现下边的变化。
作者已持续几年维护walminer之前的版本, 开源创作不易,因此walminer4.0暂不开源, 需要的用户可以到下载地址获取试用版本。经过考虑,作者决定募集walminer4.0开源资金,如果觉得工具不错可以捐赠支持作者创作,并助力walminer4.0开源。需要使用walminer3.0源码的用户仍然可以切换至master分支获取。
捐赠50元,可联系作者获取walminer4.0个人版永久license。
捐赠可获取企业版license,详情联系作者。
捐赠可获取walminer4.0代码权限,详情联系作者。
联系作者可定制walminer功能。
曾经试用过3.0及以前的版本,直到后来遇到了下载branch切换的问题,与原作者沟通,果断“赞助”支持,获取4.0版个人版。也算是对其个人劳动的友情支持。
2.遇到的问题以及如何破
2.1 碰到的问题

于是,问题真的来了。
在职期间写的东西,是否(知识)产权归属于公司?
这个问题,其实真的不太好回答,它绝大程度上取决于你入职那天跟公司签的合同。在职期间写的东西,如果你自己分的清楚。
比如,是完全用你自己的资源(机器、软件、非工作时间),并且有十足的证据,那么大概率是可以割裂开的。如果不是,那可能真的是完全属于公司的。这样的话,是否开源,真的要取得公司的完全同意才可以。
所以,如果在一个大的商业公司,想要开源一个作品,可能实际上会遇到很多“合规”问题。公司一般会在基于“战略”的高度去评估一个产品是否可以开源和有必要开源,同时开源的license选择也会要慎重考虑。
相信WalMiner的原作者应该处理好了上边的“知识产权”方面的问题。他以及他所在的团队的劳动理应得到尊重。
2.2 关于开源的个人经历
回想起自己,大概10年前甚至更早,我也曾经开源或Free了一些小工程。典型的,比如:
jdbf 项目,那是一个解析并读写dbf (foxpro, foxbase)文件的java库,我当时在google code上开源,有很多人引用。后来google code关停,我也没时间挪到github。可是看看现在github上那些直接搬运我的code,却从不引用我在上边的license说明,以及我的个人声明。我已经见怪不怪了。只要知道那个库现在还有很多人在用就行了。
JMyETL项目,也大概是10年前,它是一个简易的跨库传输数据及DDL的GUI工具。我没有选择源码开源,而是直接在google code上发布二进制包。相比之下,它的效果似乎好一些。至少代码没有糟到破坏。甚至在开放期间,因为添加了Cubrid JDBC Driver的支持,获得过一个韩国公司Cubrid厂商的1000美元的支持。这个项目也是因为后来google code的关停,我也懒得切到github上。也许现在在google code上还能搜得到。
-
ase.isql : https://github.com/iihero/ase.isql
这个算是自己在github上放上去的完全开源的ASE ISQL (java版)命令行工具 (Apache License 2.)。适用于不想装一坨巨大的OpenClient客户端,然后就能方便的执行SQL或SQL文件的一个工具,适合于一些运维人员,以及平台维护的脚本调用。
-
benchmarksql-v5 (采用的是GPL License开源): (https://github.com/iihero/benchmarksql-v5)
这是自己在调研原来旧的benchmarksql工程,发现是真的旧,支持的DBMS有限,而且github上的一些clone出来的project仍然在使用ant去编译。索性彻底来了个重构,使用mvn重新构建,并引入DB2、SQLServer、Sybase ASE、HANA、DuckDB等DBMS的支持。这样,用起来也就方便多了。至于对一些国产数据库的支持,因为它原有的PostgreSQL已经可以涵盖很大一部分,不同的品类(如达梦等),他们应该也有自己的修改,应该很容易。提供这些支持是为了更方便的进行各DBMS的横向对比。
个人体会:
如果觉得自己开源或开放的价值,是为了进一步推动那个项目的进一步往前发展,那么完全可以开放源码。
如果是为了推动自己作品的推广,甚至扩大使用范围和影响,自己有能力驾驭它的发展,可以试着开放二进制包,进一步评估是否要开放源码。
最后还是呼吁,一定要学会尊重原作者的知识产权,体现其“劳动”的价值,这样才能形成良性循环。
再一次祝愿WalMiner这个作品能取得好的发展前景,无论是作品本身,还是商业上的发展。
