昨天公司说要做一个工作流程控制系统,经朋友建议,尝试使用禅道进行管理,自己试用了下,感觉非常不错。下午看朋友发的关于禅道和bugfree的恩恩怨怨,更加佩服禅道的项目主管。

原文链接:http://wangchunsheng.com/article-view-79056.html

这些话,在肚子里面憋了很久,说给自己听,也是说给hero听,也是说给大家听,是非曲直,恩恩怨怨,大家自由评说。

去年的时候,hero找我聊天,聊了很多。hero说了一句话,让我泪流满面,是委屈的流泪。hero说,你不应该放弃你的bugfree团队。我当时对hero说,我没有放弃我的bugfree的团队,只是有很多话,我现在还不能讲。

今天终于可以说说了。我并没有放弃bugfree的团队,是被排挤出了的bugfree团队!

时间要倒退到2004年,在西线工作的时候。那个时候,liu刚从微软出来,到西线创业。为了配合他的管理需要,我开发了bugfree最初的原型。一开始就是在公司内部使用,叫做bugtracker之类的名称。后来有一天说,咱们把它开源吧。liu听了之后很是兴奋,然后他说服公司,bugfree就正式开源了。最开始不叫做bugfree,叫做freebug。

很快liu去了一家做手机sp的公司。bugfree的后续版本的开发和维护,liu就没有再参与。2005年4月,我从西线辞职,开始自己的第一次创业。很幸运当时认识了手机之家的朋友们,老高帮我解决了服务器的问题。自己注册了bugfree.cn的域名,开始bugfree后续版本的开发。这时易软开源组织也正式成立。很快bugfree发布到了1.0正式版本。

之后,家中变故,父亲生病,我回老家照顾。第一次创业就此搁浅。06年上半年再次回到北京,在手机之家开发了ecshop1.0版本。这时liu和我联系,说他去了yahoo,推荐我也去yahoo工作。

于是开始了我的三年alibaba的工作生活。因为我和liu的特殊关系,两人走得很近。很多时候两个人下班也是一起回,因为住的都比较进。后来提议说,我们是不是可以把bugfree重新做起来。这个时候,bugfree上一个版本的更新已经是一年前的事情了。这时yupeng也加入了进来,很快发布了1.1版本,这是一个很小的bug fix版本,旨在让大家知道bugfree项目还没有结束。

这时大家开始筹划2.0版本。前后若干次讨论之后,最终确定了2.0第一个版本的功能。我完成了数据库设计和程序的框架设计之后,提出由yupeng来主导开发。主要想bugfree可以多一个人了解代码。

时间很快到了2007年的夏天,事情发生了很多的变化。我开始觉得liu不是以前的liu了,没有以前那么的率直,缺少了技术人员很多好的东西,增加了很多城府的东西。很多同事在谈论liu的办公室政治,政治手腕。另外一个liu的加入,让事情发生了很多的变化。淘宝的很多同事后来戏称微软二刘。liu2的加入,否定了原来bugfree2中的很多设计。这时候liu意见更倾向于liu2的看法。分歧开始增加。

这个时候发生了好几件事情,促使我做了一个决定。原来bugfree的域名一直是用的bugfree.cn。后来liu1自己注册了bugfree.org.cn,也是在我的服务器上面,我给他开了帐号。但有一天,他并没有经过我的同意,就将bugfree.cn的域名全部指向到了bugfree.org.cn。再加上这段时间,二刘已经忽略我的存在。我曾多次听到liu在电话中得意的跟别人讲,bugfree是他做的等等云云。在他的词汇中,从来没有出现过“我们”这两个词。

累,身心俱疲!我选择了放手,就提出你们去做bugfree2吧,我不再参与bugfree2的开发。大家可以看当时的这篇声明。http://blog.1zsoft.com/node469.html

2007年9月30日,这一天我告诉自己,我一定要做一个东西,为了争一口气,为了让用户用到真正好用的管理工具!

从这一天起,我告诉自己,要堂堂正正的做一个开源软件,而不是做盗窃者。微软二刘在liu2还在微软工作的时候,通过屏幕拷贝的方式将product studio的操作录制了下来,作为bugfree2的原型。现在想想,我也深为自己看到了这些东西而愧疚。

然后后面发生了一系列的事情。我在sourceforge上面bugfree的帐号被取消了管理员权限。然后过了一段时间,我的帐号被删除。这一切都没有人跟我打招呼。然后有一次在杭州,liu出差,找我吃饭,说,你能不能把bugfree.cn的域名送给他。遭到了我的断然拒绝。

然后是我在阿里巴巴工作时,开发了自动化测试框架mmt,并设计了bugfree2的api。然后不久这个api就出现在了对外发布的版本中,并被大肆宣扬。然后就是liu将bugfree的授权改为了apache,这是严重侵权的事情。bugfree最开始的授权是GPL。而我作为主要的代码开发者,享有者主要的版权。但liu没有经过我的同意就擅自更改其授权,这是非常不道德的事情。

总结下来,在和liu合作的这么多年中,总算是认清楚了一个人,也深深的体会到了一个教训,和某些个地方的人打交道,一定要小心。

2010年5月3日,禅道1.0正式版发布,我正式对外宣布BugFree结束。我终于也可以回答hero的问题,我没有放弃bugfree的团队!

禅道和bugfree相比,我们要做:

开放的开源软件。bugfree的团队一直很封闭,都是liu可以控制的人。liu2,我,还有yupeng,还有后来的lijun,都是刘的下属。这种的团队是很不正常的。
干干净净的开源软件。bugfree在开发过程中,抄袭了微软内部管理工具的很多东西,违法,也不道德。
没有版权争议的开源软件。bugfree2现在的代码存在很多的问题,首先我是不认同apache的授权的,并保留相关的权利。其次,liu没有经过公司的同意,将在公司内部改动的很多代码拿出来开源,是违法的事情。
有技术保证的开源软件。liu口口声声说bugfree是他做的,但他从来没有写过代码,从来没有做过技术方面的支持。这算是什么开源软件呢?
与时俱进的开源软件。liu整天在阿里巴巴内部推销bugfree,似乎bugfree就是灵丹妙药。岂不知现在的企业对项目管理越来越重视,单独的缺陷管理已经满足不了需要。今天看到所谓的bugfree官网上面的回复,我们要专注测试领域,不知道禅道是做什么的,只能是哑然失笑,人啊,固化了,真可怕。

liu,帮助过我很多,我感激,记在心里。
liu,之前的你很好,现在的你很不好,简简单单的活回自己,想想你的技术梦想,想想嫂子和yuanyuan。不要再为了那些名利的事情争权夺利。善待你的朋友,不要把他们当成你的棋子,更不想当成保帅丢掉的棋子……

发完这篇帖子,从此不再谈论bugfree,专心做我的禅道!这是对自己的一个承诺,也是对我的团队的一个承诺,也是对广大禅道用户的承诺!说得再多也没有用,Just do it!

转:关于bugfree的一些不得不说的事的更多相关文章

  1. Azure 进阶攻略 | 关于Java 和事件中心的那不得不说的事

    物联网技术辣么火,虽然之前有说过不少,但今天,仍有一个憋在我心里已久,不得不说的话题:基于Azure 的物联网平台必不可少,你可能已经在使用,但也许并没有意识到的服务:Azure 事件中心. 啊?事件 ...

  2. 转:Python 与 Excel 不得不说的事

    数据处理是 Python 的一大应用场景,而 Excel 则是最流行的数据处理软件.因此用 Python 进行数据相关的工作时,难免要和 Excel 打交道. 如果仅仅是要以表单形式保存数据,可以借助 ...

  3. 关于我和document.write那点不得不说的事

    一直用document.write()方法向浏览器中显示数据用,把它当做Alert()使用, 看来这样用有些大材小用了,下面说说它的主要用处. document.write()方法可以用在两个方面: ...

  4. WebView·开发指南

    WebView·开车指南 作者:凌俊琦链接:https://zhuanlan.zhihu.com/p/22247021来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. T ...

  5. [源码]String StringBuffer StringBudlider(1String部分)

      String     /** The value is used for character storage. */     private final char value[];  /** Th ...

  6. EF框架step by step(3)—Code-First

    CodeFirst是EF框架的第三种方式,也是最为复杂一种方式,本文将以EF4.1版本为基础,简要讲解一下用法,同时,也介绍DbContext的用法. 本文采用的示例仍然是前两篇采用的博客用户的示例. ...

  7. package、import、java及javac的相关介绍(转)

    Package: package中所存放的文件 所有文件,不过一般分一下就分这三种 1.java程序源文件,扩展名为.java: 2.编译好的java类文件,扩展名为.class: 3.其他文件,也称 ...

  8. Web APi之认证

    Web APi之认证(Authentication)两种实现方式后续[三](十五)   前言 之前一直在找工作中,过程也是令人着实的心塞,最后还是稳定了下来,博客也停止更新快一个月了,学如逆水行舟,不 ...

  9. 前端向后台的华丽转身 — PHP入门篇

    三个月就这么悄悄溜走了,本K对于前端虽然有了一定的认识,但对一些方面还是处于一种比较萌币的状态,就在这种萌币状态下,本K又跟着大神浩开始了后台语言-PHP语言的学习.PHP的学习对于学过其他语言的人来 ...

随机推荐

  1. HTML5资源汇总(更新游戏引擎cocos2d-html5)

    我也是现学现用,想了解的可以看看效果,想知道实现的也有源码 http://cocos2d-html5.org Cocos2d-HTML5 API和Cocos2d-x一致,同样的代码可以支持cocos2 ...

  2. charles连接手机抓包--------最详细的步骤

    首先确保电脑和手机连接到同一个热点上 电脑连接热点以后,首先打开Charles设置Charles的setting port一般都默认8888 Enable transparent HTTP proxy ...

  3. 1658: Easier Done Than Said?

    1658: Easier Done Than Said? Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 15  Solved: 12[Submit][St ...

  4. python基础一 day11 装饰器(1)

    接收的时候是聚合,调用的时候是打散     print(*args)本来在里面用的时候是用args,是一个元祖,加上一个 * 号,把元祖解包了(打散了). from functools import ...

  5. hrbust-1545-基础数据结构——顺序表(2)

    http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1545 基础数据结构——顺序表(2) ...

  6. 前台解析json的方法

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...

  7. iPhone Scrollbars with iScroll

    Since we've had web browsers and JavaScript, we've been intent on replacing native browser functiona ...

  8. shell脚本,录制和回放终端的小工具script。

    action.log和time.log这两个配置文件被当做script命令的参数.这两个文件可以随便命名.这里用time.log和action.log.其中time.log用于存储时序信息,描述每一个 ...

  9. atlas 日志分析脚本

    #!/usr/bin/env python # encoding: utf-8 #@author: 东哥加油! #@file: log_analyze.py #@time: 2018/8/23 17: ...

  10. (52)zabbix_sender提交item数据

    zabbix_sender是什么?有什么作用 zabbix获取key值有超时时间,如果自定义的key脚本一般需要执行很长时间,这根本没法去做监控,那怎么办呢?使用zabbix监控类型zabbix tr ...