转:关于bugfree的一些不得不说的事
昨天公司说要做一个工作流程控制系统,经朋友建议,尝试使用禅道进行管理,自己试用了下,感觉非常不错。下午看朋友发的关于禅道和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的一些不得不说的事的更多相关文章
- Azure 进阶攻略 | 关于Java 和事件中心的那不得不说的事
物联网技术辣么火,虽然之前有说过不少,但今天,仍有一个憋在我心里已久,不得不说的话题:基于Azure 的物联网平台必不可少,你可能已经在使用,但也许并没有意识到的服务:Azure 事件中心. 啊?事件 ...
- 转:Python 与 Excel 不得不说的事
数据处理是 Python 的一大应用场景,而 Excel 则是最流行的数据处理软件.因此用 Python 进行数据相关的工作时,难免要和 Excel 打交道. 如果仅仅是要以表单形式保存数据,可以借助 ...
- 关于我和document.write那点不得不说的事
一直用document.write()方法向浏览器中显示数据用,把它当做Alert()使用, 看来这样用有些大材小用了,下面说说它的主要用处. document.write()方法可以用在两个方面: ...
- WebView·开发指南
WebView·开车指南 作者:凌俊琦链接:https://zhuanlan.zhihu.com/p/22247021来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. T ...
- [源码]String StringBuffer StringBudlider(1String部分)
String /** The value is used for character storage. */ private final char value[]; /** Th ...
- EF框架step by step(3)—Code-First
CodeFirst是EF框架的第三种方式,也是最为复杂一种方式,本文将以EF4.1版本为基础,简要讲解一下用法,同时,也介绍DbContext的用法. 本文采用的示例仍然是前两篇采用的博客用户的示例. ...
- package、import、java及javac的相关介绍(转)
Package: package中所存放的文件 所有文件,不过一般分一下就分这三种 1.java程序源文件,扩展名为.java: 2.编译好的java类文件,扩展名为.class: 3.其他文件,也称 ...
- Web APi之认证
Web APi之认证(Authentication)两种实现方式后续[三](十五) 前言 之前一直在找工作中,过程也是令人着实的心塞,最后还是稳定了下来,博客也停止更新快一个月了,学如逆水行舟,不 ...
- 前端向后台的华丽转身 — PHP入门篇
三个月就这么悄悄溜走了,本K对于前端虽然有了一定的认识,但对一些方面还是处于一种比较萌币的状态,就在这种萌币状态下,本K又跟着大神浩开始了后台语言-PHP语言的学习.PHP的学习对于学过其他语言的人来 ...
随机推荐
- Servlet The Filter
The Filter Filter不会产生Request或者是Response, 但是会在两者访问资源时, 对其作出改变.其可以作用于静态资源和动态资源. LifeCycle Filter会和Serv ...
- 转载:收费版APP三年总结(个人经验+数据图分享)
各位朋友好,apop感觉这里的朋友有许多是以广告收入为主,所以apop来分享另外一块(收费版APP)的个人三年来的总结分享,希望对各位有帮助.首 先,其实在AppStore(或GooglePlay)上 ...
- dinner 后台 nodemon 部署 Koa (关闭everything 安装或排除node_modules) # mysql 没开192.168.x.x 需要设置一下 #Navicat Premium,mysql 数据库版本有要求:mysql-5.7.17.msi 对??的支持
tip1:新建数据库 记得选 字符集和排序规则 utf8 -- UTF-8 Unicode utf8_general_ci 后台链接部分 1. 全局管理员安装 nodemon,后台热部署(右键 管理员 ...
- python Object-Oriented Programming
Python 类的成员.成员修饰符.类的特殊成员. Python 类的成员 类的成员可以分为三大类: 字段.方法和属性. #注:所有成员中,只有普通字段的内容保存对象中,即: #根据此类创建了多少对象 ...
- CentOS7支持中文显示
1.查看系统是否安装有中文语言包 locale -a | grep "zh_CN" 命令含义:列出所有可用的公共语言环境的名称,包含有"zh_CN" 若 ...
- (49)zabbix事件是什么?事件来源有哪些分类
什么是zabbix 事件 在trigger的文章内,我们已经有用到事件,这个事件要讲概念真心不知道怎么说,就拿trigger事件来说,如果trigger从当前值ok转变为problem,那么我们称之为 ...
- (15)zabbix ODBC数据库监控
概述 ODBC监控对应于Zabbix Web管理端中的Database monitor监控项类型. ODBC是用于访问数据库管理系统(DBMS)的C语言中间件API.ODBC由Microsoft开发, ...
- C++实现简易单向链表
#include <iostream> #include <stdlib.h> #include <stdbool.h> using namespace std; ...
- perl学习之裸字
use strict包含3个部分.其中之一(use strict "subs")负责禁止乱用的裸字. 这是什么意思呢? 如果没有这个限制,下面的代码也可以打印出"hell ...
- Django ORM (一) 创建数据库和模型常用的字段类型参数及Field 重要参数介绍
创建一个 Django 项目及应用 django-admin startproject orm cd orm python manage.py startapp app01 在 models.py 上 ...