我和banq之间的恩怨---阎宏
我和banq之间的恩怨直到今日,让我感叹。
我们之间最早的摩擦开始于他的一篇关于Abstract Factory的网上文章,中间放了一张我在yesky.com的插图。他本人以免费刊载的方式鼓励转载,因此文章流传较广,出现在很多的网站,最后回到yesky.com。而我对这个流传过程并不知道,第一次看到此文章就是在yesky.com,他的文章就在我的文章下面,而里面有我使用Together画的一个UML类图,而没有指明出处。其他相似之处可以做别的解释,我也不想较真,而这个图的内容和颜色等等都不可能有错,那就是我亲手画的。
这是我感到很困扰,我一个很自然的反应就是某个作者看到了我的文章,抄出了其中的一部分,连换一家网站都不换,随手就投稿到同一个专栏,如果我在另一家网站发现copycats,我也许不会如此困惑。可现在…这简直就是大白天的。。。不说了,我还想给banq留下最后一点斯文。我自然向yesky.com的编辑作了交涉,yesky.com是一个驰名中外的网站,它的著名之处就在于它对原创精神的执著,因此yesky.com的编辑是不可能在知晓的情况下,发表这样的文章的,所以编辑也很感吃惊。估计编辑本人与banq作了交涉,但我并不知道过程,只是编辑特别让我和banq交换意见。我给banq的email措辞比较强硬,有诸如不计代价惩罚剽窃行为之类的话。我的信中留下了联系方法,包括电话。
不过我并没有想到banq会打电话给我。banq随后真的打了一个IP电话到我的纽约家里,这让我特别感受到了他的诚意。banq特别表示道歉之意。我和他商讨了解决问题的办法,就是注明此图的出处。达成一致意见之后,我主动告诉他我不会继续追究此事,这包括他已经流传到很多地方的旧版本。
Banq告诉我,几年前我在yesky.com发表的几篇工厂模式和单态模式的书对国内初学模式的人有很大帮助,等等,可能是客气,也可能是实情。
现在想起来,我如此对待一个同行,确实有些过分。Banq对设计模式感兴趣,我们本可以一起讨论和合作,现在变成了我当警察,把他当成小偷。如果我采取比较婉转的方式,也许可以达到更好的效果,而没有现在的这些后遗症。
不过我随后在yesky.com又发表了一篇责任链模式与击鼓传花游戏的文章,我相信击鼓传花游戏与责任链模式的相似之处,是我第一次发现,也是本人特有风格的体现。读过我的书和文章的读者,相信都会有这样的感受。可是随后我就在banq的网站上发现了一条对责任链模式的解释“就像击鼓传花一样”,仍然没有注明这个比喻的出处。
我回想起banq打电话时诚恳地话语,选择了沉默。也许这就是他的习惯吧?再说,不就是一个比喻吗?要这么较真吗?
一些网友经常提到一些设计模式的例子,他们说这些来自jdon.com和banq,我知道这些例子中有较为精当的,又不很精当的,而精当的那些都无一例外来自其他地方,譬如Bob Tarr的教材等等。Banq并没有明确指出过这些例子的来源。看来我的待遇比Bob Tarr他们还好些,呵呵。
我回想起在大陆的时候,常常要排队买东西,有时会遇到有人插队(夹队),这种做法在北方叫做“加三儿”。此人看上去并没有注意到你的存在,“漫不经心地”排到了你的前面。如果你提醒他,你会想,这是不是有一点过分?也许你会想,算了,多等一会儿吧。
可是如果事不凑巧,你需要一次又一次排队,而总有一个人“漫不经心地”排到你的前面,你怎么想呢?
要是这个人总是同一个人呢?
要是你提醒之后,他恍然大悟,然后正颜道:“我会插队吗?我难道会插队吗?”要是过了几分钟,他又“漫不经心”地挪回来了呢?
网友们一次又一次把一些设计模式的例子传给我,告诉我这些例子来自jdon.com和banq,希望我能解释一下例子是不是恰当。我有我的网站,他有他的网站,我评论他,他评论我,这有什么意思吗?而且我不仅有一个网站,我有我的《Java与模式》和几万名读者,他并没有。我有必要总是和他“过不去”吗?
因此我不评论他的例子,也不想从我这里说出他的某些例子的来历,捅破这层窗户纸,我一次又一次选择了沉默。现在这层窗户纸让别人捅破了,呵呵。Banq,不要怪我。
与此同时,Banq没有放过任何评论我的《Java与模式》的机会,呵呵,想必jdon论坛的朋友不会不知道吧。
我出版了一本技术书籍,这已经把我自己变成了公众人物。无论评论我还是评论我的书,都没有错。但是Banq的评论也很有意思,值得一读。看看这个:
“坚持真相,揭穿伪科学,减少对初学者的误导,无论对方是自己的老师或学友,这是我们每个严谨的程序员应该具备的态度。”
多么高的道德角度啊,哈哈。会“加三儿”的,也会讲道、道与德,就是道德啊。
说到这里,不能不提一点精彩的。那是一个子无虚有的故事,把电子工业出版社也牵扯其中。
Banq告诉别人电子工业出版社曾经同时向我和他约稿,他没有写,我写了。所以就有了我的《Java与模式》。在此谢谢几位网友同时提醒我banq的帖子。嘿嘿,banq抄袭我的插图的时候,《Java与模式》已经初稿了。再说这样一本“伪科学”的书,banq有必要这么在意吗?
好了,接着谈banq对我的书的评论吧。jdon论坛有一位网友对他的评论颇不以为然,他说:
“Banq以前的关于Adapter的例子。
那个斑竹的例子我在google上面找到了,是好多的外国的大学教材里面的照抄过来的,比如umbc的Bob Tarr的关于Adapter的例子,里面有RoundPeg的SquarePeg的例子,对中国人不太好理解,里面有更详细的解释我也看过《Java与模式》,我真的喜欢这本书的风格,因为这是按照中国人的思路来说的,比较好理解(我想用什么手段不重要,重要的用简单容易记住的例子让我们掌握技术的大致脉络,也许不是全对,这点是最最珍贵的,这本书这点做的不错,这比什么都重要),是花了时间和结合自身的经历的产物,不是照抄的,因为无处好抄. ”
我重复一遍最后一句:“不是照抄的,因为无处好抄”。
我很喜欢这段评论,这是读者的评价,也是我自认为这是我能得到的评价中最高的评价。Banq,最珍贵的,是原创。
阎宏
《Java与模式》作者