执念成殇——
飞图板王的前世与今生(上)
大家好:
我是凌伟雄(谷歌邮箱:weixiong.ling@gmail.com,订阅用户请惠存备忘),飞图、板王的开发作者。自从几周前发布了那封致飞图用户的公开信,令我倍感意外的是,收到很多邮件,许多用户表达了支持和鼓励,也有不少新朋友很好奇到底发生了些什么。
所以决定写一些博客,就从这个“致用户告白书”开始。一方面是想向一直支持飞图的用户表达感谢,另一方面,也想让更多人了解飞图和作者凌伟雄,了解这一路走过的点滴。
老实说,实名、写真实经历,对我并不容易。我是个性格非常内向的人,一向避免在公开场合谈自己,内心时常有个声音在提醒:“一个彻头彻尾的中年油腻loser,抛头露面的写啥博客?谁会在意你说什么?”但另一个声音严肃坚定地回应:“有些事已违反天道,不该没有后果,更不该无声!”又有个声音跳出来,带点豁达:“害,也没几年蹦跶了,人生就这么短,放飞即可,不必多虑!”
于是,我决定打开这扇窗,与大家见个面,说说我坎坷的辛酸往事。
1. 2004-2008年:梦想燃起,困境无声
早在2004年10月(是的,您没看错,至今已经20年了),我,独自一人,便开始了飞图的研发之路。这一切的缘起,是毕业几年后和大学同窗加同乡的李工(李K)在广州街头的一次宵夜。我们学的是工民建专业,和班上一大半同学一样,李工毕业后直接进入了结构设计行业,每天画图加班,而我却早已从钢构公司走人,阴差阳错自学了所谓软件开发,成了一个半吊子程序员。
我们坐在大排档的小桌旁,昏黄的灯光洒在烧烤的炭火上,周围时不时升起浓浓的硝烟,脚边的啤酒瓶杂乱地堆着,伴随着周围的嘈杂声,显得格外热闹。我们聊起各自的工作,李工一边啃着烤串,一边叹了叹气,抱怨起结构设计中“画板”的各种麻烦和耗时,随手在烟雾中比划着他的需求。那一瞬间,他的无奈和比划触动启发了我,让我心中闪过一个念头:或许我能用手头这一丁点AutoCAD插件开发技术,帮他和这些结构画图的人做点啥。如果没有那顿宵夜,没有李工的那番启发式倾诉,飞图也许根本不会面世。1.0版本的所有功能都只跟板有关,所以起名为《飞图板王》,其中‘飞图’寓意‘飞速画图’的愿景。但在今天看来,那时的自己年轻、鲁莽、不自量力,真是天真得发笑。
怀揣着这份幼稚的理想,我立马辞职租了广州城中村的一个廉价宾馆房间,关上门,开始了闭关。幻想自己好像《平凡的世界》作者路遥,关在狭小的房间里,埋头创作臆想中的“伟大作品”。房间窗外是城中村的喧嚣,大喇叭到处放着刀郎的歌,骑着三轮喊“收烂野”的、使劲拍手促销的卖衣服小妹……三教九流、车水马龙,而我全然不觉,完全沉浸在“闭关修炼”的状态中。夜以继日地伏案写代码,饿了就吃廉价外卖和泡面,桌上、床边随手扔着外卖盒和方便面袋。根本不觉得累,反而极度亢奋,实在太困了就随便眯一下,又继续回到到代码的世界中。有时一段代码调通了,就会在脑海中掀起一股难以言喻的“颅内高潮”,时常一动不动地盯着屏幕,好像自己正在创造一个改变行业的小革命。宾馆老板几次敲门,以为我死里面了或出事了,每次打开门却只见我满脸憔悴,眼中却带着激动的光。
就这样,三周后,终于搞出了飞图板王的第一个版本。现在看来,这不过是多么一个微不足道的小插件,功能只涉及板筋绘制编辑、pkpm板转图等几个需求。但当时的我,真以为它能改变整个行业,觉得只要推出市场就会趋之若鹜。于是,信心满满地从打工攒的钱里掏出一千多块钱买了张机票,背上刚买的100只深思加密狗,豪情万丈地飞去了上海。现在回想起当时的愚蠢和自负,真是啼笑皆非。
到了上海,真以为马上发财挣大钱了,第一站住的是宾馆,想着这不过是“飞图”即将成功前的一个小驻点。然而几天之后,随着一次次碰壁,宾馆的费用压得我喘不过气来,不得不搬到几十块一天的小旅店。再后来,连旅店也住不起了,只好厚着脸皮向朋友求收留,最后睡在朋友家沙发上,生存的压力越来越大,坐公交都得精打细算,每天掰着手指头算还能撑多久,心里的窘迫和失落越发沉重......
因为,现实的打击来得太快了。记得到上海后,我首先找到一位在同济院的熟人,兴致勃勃地向他演示我的“成果”,谁知人家看完后只是微微一笑,根本连试用的兴趣都没有。我心里一震,告诉自己可能是第一次演示不够完美,不可能就这么不济,于是鼓足劲儿第二天又去找了另一家小设计院,期盼着能有不同的反馈。谁知几分钟后,还是同样的拒绝留下试用锁。现实在那一刻给我浇了盆冷水,打击得措手不及。
连遭暴击后依然不死心,白天,带着加密狗一家又一家地上门。尽管从未做过销售,却硬逼着自己每天背狗出门,心里想着哪怕搏一下,也许就能换来一丝机会。每次走到设计院前台,得先在门口深吸一口气,才敢抬手敲门,忐忑紧张到好像心要从胸口撞出来了。推门而入时,脚步都走不稳,脸上满是生涩和局促,连要开口说话都觉得舌头打结。强撑起一个笑容,勉强挤出一句“我是来推销飞图板王软件的”,话一出口就觉得自己的声音里带着些颤抖。谦卑的眼神小心翼翼地看着对方,带着一丝莫名的期待,但现实一再让我失望——一声轻轻的“抱歉”,然后是那扇门缓缓关上,胸口顿时像被压上一块沉甸甸的石头,难以呼吸。每一次敲门,彷徨而恐惧,都要花尽全身的勇气!到了晚上,深秋的上海,天气早已冰冷,没有被子,没有暖气,只能披上几件厚衣服凑合着挡寒,每一个被冻醒的瞬间内心更加冷得刺骨,像提醒着我那股子从未体验过的挫败感,夹杂着些许自嘲:这就是“飞图”起飞的现实。
一个多月下来,积蓄全部用尽,梦想也被现实无情击碎。20年前那个极其寒冷的冬天,我只得灰溜溜地坐上硬座火车,缩在冰冷的车厢角落,踏上广州的回程..... 这段短暂的“闯荡”的经历给我上了扎扎实实的一课,也让我更清楚一件事:光有一腔孤勇并不足够,缺少市场的脚踏实地,理想只是空中楼阁。对于屏幕前的年轻人来说,或许这也是个教训:创业时,不妨先问问自己,梦想能撑多久?毕竟,有时候撞得头破血流也换不来半点成就。
此后,飞图板王就这么孤零零地挂在网上,偶尔有人问起,却始终无人真正购买,仿佛被遗忘在角落里一般。忙碌的生活把我卷入其中,终日劳苦奔波,像是被无形的浪潮推着向前走,日复一日,逐渐麻木,逐渐忘记了当初的热血与憧憬。只有在那些夜深人静的时候,才偶尔想起曾经的飞图板王。每每想到这段未竟的梦想,心中总隐隐有些失落,像一扇虚掩的门,里面藏着一个曾经满怀热血的自己,却始终没有开启。
(图:2005年飞图板王网上全网推广)
2007年某天心血来潮,我决定要重新更新飞图板王。那几天夜里重新打开熟悉的代码,仿佛回到了当年的孤灯之下,内心充满了久违的兴奋。可惜现实的忙碌与压力终究没能让我坚持太久,更新了几个小功能后,时间和精力便被生活的琐事挤得所剩无几。很快,我只能无奈放弃,再次将飞图板王搁置一旁,心里更多了几分失落,却也只能叹息一声,继续回到那种忙碌而平淡的生活,任凭时间一点点把这个未竟的梦想埋藏。
(图:2007年《飞图—板王》在土木在线网上升级公告,至今有效)
插曲:网上的飞图板王去哪里了?
刚刚,就在我写下这些文字的时候,顺手搜了一下“飞图板王”,发现我此前挂在各种下载网站、铺天盖地的2004到2009年版本,连华军软件园都竟然被对方删了精光,仿佛飞图板王从未到过这个世界。幸亏2021年应诉的时候在深圳市公证处做了一份公证,倒是留了证据(然鹅人民法官认为这并没有什么L用:板王不是你凌伟雄的....):
(图:公证记录:2005年飞图板王1.2版本在华军软件园)
2. 2009年:第一缕曙光
时间来到了2009年,从广州到南宁,又从南宁到了西安,虽然打工的日子还算平稳,但心里总有一丝说不出的酸楚和不安,前路一片迷茫。工字不出头,究竟要漂泊到何时,才能拥有属于自己的产品?想到未来依旧遥遥无期,心中不禁一阵苦涩,也愈发觉得时不我待,终于痛下决心,重新推出飞图板王。。这次思路非常清晰,定位也更加明确:当时的结构绘图插件市场早被TSSD软件多年垄断,但对于许多个人工程师而言,TSSD的价格难以承受,最主要的是它对大量个性化需求的覆盖并不全面,而用户对细分功能的需求依然非常强烈。于是,飞图板王2009的定位很明确——它是专为“结构工程师个人”量身定制的画图插件,作为对TSSD骨架功能的补充。TSSD已有的核心功能从平面的轴网、参数化大样绘图到小构件计算,飞图一概不重复做,只专注“新、独、巧、好”的创新功能。
新,是指需求创新,从用户那里获得全新痛点和需求。技术也创新,用户交互等也都是创新模式。最简单就拿交互来说,“通过指定图层”作为几何识别的主要条件,这样的交互体验在当时是飞图的唯一首创,尽管如今已被众多插件模仿成了交互的标配。值得一提的是飞图的另一创新,便是开启了真正的“跪式服务”模式(或称莞式服务、无论是什么名字),目的都是客服要做到极致,做到让用户“心生不忍”——深夜加班画图是结构工程师的日常,飞图每天都在QQ上挂到深夜,甚至通宵达旦,陪伴工程师们度过了多少个不眠之夜!(这一‘优良传统’也一直延续到了现在的飞图结构,利用时差优势和配置国内客服,真正实现了全年365天、全天24小时无死角客服)不仅仅是陪伴,更是实实在在的帮助:哪怕是为单个用户专门编译文件、替换功能或迅速专门打补丁,也绝不含糊。这是真正把用户用心放在第一位的服务。
2009年2月,经过大幅度改进和提升后的飞图板王再次上线,与此前的1.0版本相比可谓脱胎换骨焕然一新。在日复一日的漫长的等待和煎熬中,我一边苦苦守候,一边疯狂地更新版本、完善功能,将全部心血都灌注其中。每日每夜守在电脑前,眼睛时刻盯着QQ,心中无数次祈盼着奇迹的发生,只希望能听到那一声清脆的滴滴滴滴消息提示音。
终于在4月26日,迎来了第一位真正的用户。那一刻,所有苦苦守候的心血似乎都有了回应,像是多年的跋涉中第一次看到了远处的一点灯火。至今我都记得:第一位用户叫吴工。吴工:如果您看到这些文字,恳请您接受飞图作者凌伟雄发自内心的、一辈子的感激。您的支持,就像破晓的第一束光,让那段灰暗的日子终于有了方向。
从吴工开始,飞图渐渐有了属于它的第一批用户。在这里,我想记录下飞图板王所有A锁用户的名单(您好奇啥是A锁?还记得五年前我买了100条加密狗,满怀信心地背着去上海“销售”吗?这些A锁,就是此前那批加密狗剩下的):
当年的兄弟们,一眨眼十几年了,大家可好?“雨夜**、戴三**、嘿*、极光**、落泪***” 等等等等太多太多了..... 看着这些无比熟悉的QQ名字,心中真是百感交集!是你们当初的信任和支持,让飞图板王在那些艰难岁月里熠熠生辉。你们的鼓励和反馈,是我坚持下去的力量,也是我在每一个迷茫时刻中重新出发的理由。
是啊,当时的他们大多是年轻工程师,好比屠哥还经常周末大鹏湾骑行,如今想必早都已在各自岗位上大展拳脚,成为单位栋梁,甚至是大院领导了!尽管飞图依旧还只是一个微不足道的小插件,我仍然想表达我卑微的真诚的感激:您们当初给飞图板王的宝贵建议和支持,成为我坚持下去的动力,亦是我一生最珍贵的财富。如果有机会,再相见时,可否一起举杯痛饮,笑谈当年那段加班画图、共同奋斗的日子?
(图:用户们一开始就戏称我‘板板’、‘板王’、‘板哥’、‘板兄’,久而久之,很长一段时间,我时常恍惚几乎真以为自己名字就是‘板王’了。或许这就是那些年我坚持下去的原因之一——用户的认可,简单而真挚)
【画外:官:你找一万个板王用户证明又如何,官司输赢我说了算!】
多年来,我一直条件反射般习惯了认为自己就是板王,可谓入戏太深!以至于第一次听到被诉的消息,我整个人都彻底懵了。凌伟雄不就是板王,板王不就是凌伟雄吗?我自己从零开始制造的老虎板王,板王竟然还能告凌伟雄?这是什么星球的荒唐逻辑?难不成我把自己告上法庭?我反复琢磨,努力试图理清其中的因果,却越想越像一场荒诞的闹剧,现实竟然荒谬至此!
3. 从‘飞图’到‘老虎’,恩义与江湖
随着用户渐渐增多、口碑逐渐积累,很快,盗版的嗅觉也慢慢闻到了血腥气,就像饿狼一样,将魔爪伸向了我这个初出茅庐的“加密小白羊”。破解飞图,对他们来说就像喝水一样轻松。我苦心积虑的加密保护被毫不留情地撕开,好比壮汉戏弄柔弱少女,根本无力反抗。第一次得知飞图被破解的消息时,那种手足无措、愤怒和绝望,如今想起依然心痛如初——仿佛自己最宝贵的心血被无情践踏,彻底碾碎。
多年后,我终于逐渐学会了与破解共存,甚至开始理解他们的存在。有些人或许只是智商超群,单纯地通过破解来展示自己的优越;也有些人不过是普通人,将盗版作为一种谋生手段,用以养家糊口。然而,靠着践踏他人辛劳获益,终究让人心伤。但话说回来,盗版对软件并不完全是坏事,至少说明了飞图有了价值。毕竟,如果没有价值,就如2004年最初的飞图板王1.0,白送也无人问津。然而,当时的我心如死灰。飞图的收入远不能维持生计,每月不过几百、撑死几千元,而盗版的出现无异于雪上加霜。后来得知,那时的破解源头,正是“老虎空间”的一位技术大拿Jack。他不仅发布了破解,甚至还主动加了我的QQ,亲自演示如何在几分钟内将飞图破解得一干二净。看着他游刃有余的操作,心中的无力与痛楚几乎难以言表。岁月流逝,当年的“巨牛”Jack想必早已财务自由、隐居山林,而我,这个曾经的“受害者”,却还在这条泥泞的路上踽踽独行,心中不免有些悲凉。
这是当时的c++代码截图:
时隔多年,依然记得写下这段注释时那种无力与苦涩。自己明知道这段代码再没有任何实际意义,却仍抱着一丝侥幸,试图做些无用的迷惑和抵抗。
(图:2003,04,05… 来自久远时光的古早文件,
仍旧默默诉说着我未竟的梦想......
然并卵,这些当初自己亲手敲下的一行行源码,
竟然无法证明我才是它们的真正作者,荒谬至极,令人发狂)
【题外】穿越一下,来到到知产法院庭审现场。
我:“小人闻之,软件知识产权之判决当以代码为凭。小人自编飞图板王、老虎板王、飞图结构之C++、ObjectARX源代码,一脉相承,代代相续。每一版本、每一行、每一类、每一函数之始末来由,皆如指掌。小人如何呕心沥血创作,事无巨细,历历在心,奈何有眼无珠,误信他人,遭人暗算,鸠占鹊巢,夺我心血而据为己有。今斗胆呈于大人,恳请明鉴。” 官冷笑一声,摆手道:“代码为何物?孤不需知,只知此案乃汝之败!”
我又道:“小人电脑中,硬盘里自飞图板王至老虎板王,至飞图结构,每一版本源码俱在,完整记录了小人艰辛的创作历程。对方所拥代码不过是小人之子集,不足小人代码之全。大人若不信,可召集专家团体验证答辩,细察其详。这本是知识产权之事,恰如文章写作,总需说明构思与来由。”言至此,只见大人鼻孔朝天,竟是多看我一眼也不屑。
(图:我不由继续颤声问道:“大人,倘若您能明察对方代码,不难发现其中星罗遍布小人之名——‘lwx’乃凌伟雄之拼音缩写,文件名、类名、函数名,甚至注释中皆有‘凌伟雄’之字样,数之不尽。明证昭然,尚不足以表明此乃小人之拙作乎?”大人勃然大怒,拍案而起:“编程敲码,乃是下贱码农、码奴之事!汝竟敢暗讽本官不懂编程?”)
大人闻言,冷笑一声喝道:“啰嗦!什么淘宝、马云,你在教本官做事?!说你输你便是输,还敢狡辩?”随即拍案,竟如那葫芦僧般糊里糊涂道:“来人,将此狂徒轰下堂去!”
我愤愤低头,心道:“你这黑白颠倒的糊涂狗官,今生受汝欺压,来世为鬼,亦绝不饶汝!!”)
书归正传。正所谓“有人的地方就有江湖”,我立即意识到,是时候找一位带头大哥来护我周全了。而我的大哥,便是“老虎空间”的站长YJW。他在坛子中德高望重,一言九鼎,颇有些像金庸笔下的乔帮主,气度非凡,众人皆服。简短沟通后,大哥爽快应允,我于是将飞图板王更名为“老虎板王”投入老虎论坛的门下,在老虎空间“落户”,自此在大哥的庇护下,终于得以在险恶江湖中立足:此后再没有新的破解出来了。
这就是《老虎板王》这个古怪名字的由来!改名的那天,那是个炎热的夏日,午后的太阳明晃晃地洒向窗外依稀可见的小雁塔塔尖。我久久凝视着屏幕上‘飞图板王’的图标,心中竟有些像父母不舍出嫁的女儿一般,仿佛这是与旧日心血的诀别。满怀迷茫的我,不知改名是福是祸,只是顺应而行;也没想到若干年后,它竟会被迫又改回‘飞图’之名;更未曾料到,这个亲手缔造的‘老虎板王’竟是一只毫无人性的恶兽,反咬一口,将我告上法庭,让我一败涂地,把我逼至绝境的深渊。世事无常,人生起伏,谁又能预料?若能早知世事变幻、人心恶毒,断不会轻易将一切付诸此途。罢了,人生不过匆匆几十年,只愿来生有个平凡安稳的日子,不再如此曲折坎坷!
以下是当年“带头大哥”与我亲笔签名的改名落户合同:
(图:见证飞图->老虎的改名落户合同。
官:这,依然并没什么d用:你必须输。
我:呃.... 好吧。我走先,祝您冚(全)家富贵!)
这份十多年前的合同公诸于世,不仅见证了飞图板王->老虎板王的变迁、见证了老虎板王的诞生,也算为小小的结构插件江湖贡献一段轶闻吧。多年来,在大哥的庇护下,板王的破解版销声匿迹——当然,淘宝专业卖盗版营生的另说了。我心中唯有感激:多亏杨大哥相护,这一路虽满是风雨,但也有了可以栖身之地。
而在这江湖中,还有那些未曾谋面却如雷贯耳的高手——除了带头大哥,Jack,还有其他几位神秘莫测的破解高手。我们从未见过面,但他们的名字如同传说般时而浮现在我的记忆中,既真实又遥远,仿佛武林中的侠客一般,以自己的方式,留下的每一行代码、每一个破解的“印记”,都带着他们独特的风采!如今,老虎空间似乎早已不见踪影,当年的您们,不知如今是否安好?
(致飞图用户:也许是上辈子修行不足,命运对我不曾宽容,但我依然相信,有你们的支持,飞图终能在行业中立足。愿我的故事在某一刻与你共鸣,期待未来的日子里,您继续关注凌伟雄,关注飞图,支持我们的每一步前行。)
(未完待续....)