那段时间,开源工作组有许多深入的讨论:方向对不对、版本优先级怎么排、能不能让内外上下游都满意……大家非常焦虑,常常讨论到凌晨一两点。万事不决,还是回到原点:“想让别人满意,首先得让自己满意”。我们不断自问:好用的开源项目应该是什么样子?想想Linux/Apache/Mysql/PHP(合起来就是著名的LAMP)这些成熟的开源软件,是不是down下来就能安装?安装了就能跑?用这些软件,遇到问题的话,可以读官方文档学习原理和细节;再不行,论坛上问、网上搜,买书看,总能找到答案和案例。团队有位架构师,人称“楠哥”,他用一句话终止纠结,“如果一个软件用户15分钟还用不起来,他们一定会抛弃你!”于是,码农们掐着秒,数着命令行写代码:下载代码和软件要花多长时间?是不是一行命令就能把链搭起来?配置文件用json编辑起来是不是容易误操作,用ini/toml格式是不是更简单一些?“多个进程多个鬼、多个步骤多个鬼。”,这是我们的口头禅。极致的简化,把代码中的“玄学”变成确定性。“能用就行”肯定是不行的,还要好用、耐操!我们根据之前的经验,适配各种操作系统和软硬环境,预置默认组网模式和证书文件,让使用者在整个过程中连“踩坑”的机会都没有。万一还是出错,则高亮提示、FAQ直达,用多种策略自动检测和恢复,应有尽有。链搭起来了,接着就是打磨控制台、浏览器,让区块链看得见摸得着,用户一旦眼中见图,心里更有数。然后,内置应用模板,乃至压测样例,以使得开发者可以按图索骥,一键构建应用。更进一步,区块链上云,云上资源调配、部署交付、运维运营一站式搞定。如果开发者有兴趣继续研究细节,我们还有详细的使用手册和技术文档。足足有百万字规模,赶上几本书了,可以慢慢读,还可以搜索直达知识点。此外,软件的核心能力也没落下。大家都很熟悉的“wheat”,有技术洁癖和质量强迫症,对技术攻关、架构合理性、代码风格和版本时间线毫不妥协,代码必须经过几个人(包括他自己)交叉review过,而且单元测试覆盖率足够高,才能commit。让人欣慰的是,2017年到2018年,开源工作组陆续加入了许多老司机和刚毕业的小鲜肉,他们都很生猛,大大地充实了开发力量,并随着项目一起成长。这也是硬核技术创新的奥义:“21世纪,人才最可贵”。大家一起投入,性能、安全、稳定指标都达到了高水准,同时隐私保护、跨链、新型虚拟机、链治理等多种核心能力也逐步完善。回首看,2019年初与社区共同打磨出来的FISCO BCOS 2.0版本可以说是一个里程碑,用起来简洁快捷,工具和文档配套齐备,核心能力靠谱,怎么一个“爽”字了得。效果那是立竿见影,能把区块链快速跑起来、用起来的开发者肉眼可见的迅猛增加,社区留存率明显提升,同时社区提交的ISSUE、代码和文档更新也多起来了。在此之前,社区朋友们可能会礼貌性地夸一下:“开源就是一种精神”、“开源已经是相当有勇气了”……此刻,终于能听到有人真心实意地说:“牛!挺好用!”。现在我们尝试回答第二个灵魂拷问:如果开源软件没有用户,那么,也大概率不会有什么贡献者。软件要吸引“用户”,它本身至少要稳定可用,再则使用门槛要低,最好开箱即用,交互手感要如丝般顺滑,无论是代码还是界面都要清晰优雅。唯如此,用户才不会步步惊心,甚至到处踩坑,不会迷失在繁杂的配置文件、天书一样的日志和错误信息里。众所周知,互联网产品追求“Don’t make me think”。开源项目大抵也如此,若能再有一点极客气质,那就更赞了!
有容乃大经历过开源的兴奋、焦虑、欣喜,现在我们已经淡定多了。每天的工作依旧很充实。曾经,刚进入团队的小伙伴们以为来了就是写代码,然后发现并非如此,不但要当“客服”,还要当“写手”,时不时出去当“网红”直播“带货”解析开源技术,或者去当“老师”,站在讲台上一讲就是几个小时。在不同的角色之间切换,对时间管理和注意力分配确实是一种挑战, 不习惯的时候可能会有一点点“分裂”感。尤其,对普遍有点“社恐”的码农而言,各种“抛头露面”,心理压力有点大。但是换一个视角,从长时间的职业发展来看,经此十八般武艺轮番上阵,技术写作水准、交流陈述能力,以及眼界的广度深度都能得到锻炼;最重要的是,自己写的代码,立刻就会有人用,有人切磋,对自己的技术能力和成就感也有所提升。如此于公于私,都无疑受益匪浅。在技术团队身旁,我们运营团队还有专业的“社区小助手”,活跃于线上线下沙龙、展会,组织课程,即时推送热点内容,以及和社区开发者互动,协助开发者走上开源之路。在产业合作中穿针引线,如同小蜜蜂穿梭在花丛中。当然,如果群里有人发广告,扰乱技术氛围,也很快就会被小助手请出去的。小助手也翻过车。记得几年前有一次社区活动,对在github给项目点过star支持的社区小伙伴,小助手会寄送小纪念品。本来是善意的,但被有的开发者误认为是用礼物换star,并在群里直率地反馈。我们虚心接受并整改,此后自觉避嫌,再也不去做和star相关的活动。我们非常理解star是皇冠上的宝石,绝不是用来“兑换”的,应该是由真心支持、喜爱项目的开发者自发自愿的star。相应的,对那些为开源项目做出贡献的开发者,社区也会表示感谢,并激励更多开发者持续共建共享,我们会公布项目贡献者列表和季度贡献者榜。他们会获得别致的、值得在朋友圈晒出来的社区纪念品。这主要是精神激励,搞起氛围吧。我们相信带着感恩之心携手同行,可以让我们走得更远。在开源路上,碰到一些小小的波折、误会和挑战,都很正常。诚如人和人之间,本身也有信任建立的过程。开源社区教会我们要“换位思考”,要有“用户思维”,因为我们已经不是自己在做事了; 我们要时刻保持谦逊,因为任何一点进步,都是来自社区的共同努力;更要保持开放和透明,无论是代码还是运营,都会被社区多方检视、评判和优化,毕竟“talk is cheap,show me the code”(注:code同时有“代码”和“行为规范”的涵义)。从这个层面看,开源项目的“star”重要,但更重要的是大家打star的理由,以及是否持续有人star。理想的境界是,大家都是社区的开发者,然后大家点的star,都是给自己,给共同的社区点赞!
评论(0)
Oh! no
您是否确认要删除该条评论吗?