前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开源大咖说04期|刘阳、胡杰雄、魏林贤、崔家维——CherryMarkdown创始团队

开源大咖说04期|刘阳、胡杰雄、魏林贤、崔家维——CherryMarkdown创始团队

作者头像
腾讯开源
发布2023-09-19 16:07:55
2030
发布2023-09-19 16:07:55
举报

#自我介绍

请您做一个简单的自我介绍。

CherryMarkdown创始团队:大家好,我们是CherryMarkdown项目的创始成员——sunson、barry、ivor、kirito,在参与CherryMarkdown项目之外,我们也分别参与了腾讯TAPD、工蜂、KM/乐享 等产品的前端开发工作。

您最初接触开源是基于怎样的机缘,有值得分享的趣闻轶事吗?

CherryMarkdown创始团队:我们接触的第一个开源项目就是 CherryMarkdown项目,但我们开源完全是“无意识”的,这里有个小故事想分享下。

最开始我们参与的产品(TAPD、工蜂、KM/乐享)都各自实现了一套符合自身业务特点的markdown编辑器,经过多年的不断打磨(最长的一个打磨了近十年)这三款产品的markdown编辑器可谓是“性相近习相远”。在这种背景下,一个偶然的机会来自三款产品的四位臭皮匠们(没错,就是我们)聚到了一起,正所谓“同行是冤家”,我们很快进入战斗状态纷纷开始秀起了各自的“鸡肉”。经过三方友好深入的交流,我们也逐渐地意识到了对方用心开发打磨的“小小markdown编辑器”也是有很多巧思和设计的,比如TAPD的编辑器支持将Html内容逆向解析成markdown内容,工蜂对超大文本的渲染性能有非常深入的优化,KM/乐享则在多端渲染这方面有很多实践经验。因此我们决定一起来共建一个集齐三家所长的前端markdown编辑器组件。这个想法也快速得到了产品团队的支持,经过半年多时间的开发,我们也成功完成了第一版的发布,并成功应用到线上业务里。

故事到这里本应该结束了,四位核心开发在完成了首个稳定版的发布后就应该好聚好散相忘于江湖。但随着新版编辑器的用户越来越多,也有越来越多的其他业务团队(如腾讯云、腾讯灯塔、iwiki等)找上来希望使用和共建这个组件,于是我们稀里糊涂、从善如流、亦步亦趋地完成了开源。在开源时我们把这款编辑器组件起名为cherry writer(樱桃编辑器),希望这款编辑器组件能像樱桃一样开箱即用(食)、惹人喜爱。这便是我们与我们第一个开源项目的故事。

在这条开源的道路上,您遇到过最大的挑战是什么?有哪些印象深刻的故事可以跟大家分享一下?

CherryMarkdown创始团队:挑战有很多,印象深刻的事情也不少,比如收到来自俄罗斯国际友人的issue时团队几乎把能用的翻译软件都用了一遍;再比如围绕cherry的发展规划问题,一群不认识的人在issue里完成了每分钟几百字的输出;还有匆匆忙忙发个版本忘记兼容旧版本接口,结果不到半小时业务团队就找过来,比我们还快地发现问题。这些事情不仅让我们印象深刻也让我们获益匪浅,让我们学会了如何高效沟通、如何求同存异、如何更加严肃认真地对待发布为用户负责。

#关于参与腾讯犀牛鸟计划

请您简单介绍一下您今年指导项目的安排,以及对项目成果有着怎样的期望呢?

CherryMarkdown创始团队:今年我们依然设计了简单、一般、困难三个难度模式的课题,用于帮助学生逐步深入地了解熟悉cherry编辑器。同时我们也继续采用QQ群线上讨论的方式来与同学们沟通答疑。

对于成果的期望我们还是非常积极乐观的,毕竟上一届我们可谓是收获满满,不仅各课题均有学生涉猎,还认识到了一堆新朋友。有同学后来入职了腾讯还依然参与着cherry的日常开发工作,给我们很多助力,同时他们还邀请了学弟学妹参与今年的项目。

项目发展到今天,大概经历了哪些阶段呢?目前的阶段和状态是怎样的呢?

CherryMarkdown创始团队:回首cherry项目从无到有的三年时光,cherry项目大概经历了“新生——迷茫——踏入正轨”三个阶段。

1、新生,小鹿乱撞

这是个闭门造车的阶段,我们想法很多,动力很足,投入多开发速度也高,几乎每隔几天就会发个小版本,半年发了4个大版本。

2、迷茫,拔剑四顾心茫然

这个阶段我们度过了前期的野蛮生长,先后有十几款产品引入cherry,我们也逐渐有了自己的用户,有用户认可也必然有用户质疑。面对质疑我们才发现许多问题并没有标准答案,相比第一个阶段,这个阶段开发的速度会下降很多,其中一个重要原因便是我们需要讨论、摸索、验证,在做决策时会更加谨慎,有些功能可能开发起来很简单,但往往需要讨论两三天甚至更久。这里也有个比较典型的小故事跟大家分享下,在Markdown的众多语法中,有一个我们一直很嫌弃的语法,就是在行首添加四个空格就能生成代码块,我们嫌弃这个语法的原因是它太过于隐蔽(如果只看markdown源码,很难用肉眼看出来哪些行前面有四个空格,哪些有三个空格)并且容易误触(用户经常有段落首行缩进的操作,这个操作就会把用户正常的段落解析成代码块),所以在cherry的早期版本中,我们直接抛弃了这个语法,在第二阶段有了真正用户后我们收到了一些需要该语法的反馈,其中绝大部分用户在听到我们抛弃这个语法的理由后均表示理解和支持,但只有一位用户非常坚持,最后当我们看到用户的实际书写内容后才明白在用户那个特殊业务领域,当用户熟练掌握了这个语法后也是可以写出排版非常清晰的文章的,所以最终我们也做了让步,在cherry中增加了一个配置项,打开这个配置就支持该语法,这样在用户那个特殊业务场景下可以打开这个配置,而其他业务场景则关闭这个配置,从而避免无辜用户误触。在这个故事中开发仅仅需要半天,但前后陆陆续续的讨论、验证大概持续了三周。

3、正轨,徐徐图之

cherry在腾讯内部发展近两年后,于21年正式对外开源,也标志着我们进入了第三个阶段。在这个阶段我们遇到了更多志同道合的伙伴,cherry的目标也越来越清晰:做一款开箱即用、易于扩展、功能丰富的前端markdown编辑器组件。围绕此目标我们正不断努力着。

项目实战阶段正在进行中,项目的开展是否顺利呢?在实战的过程中,学生们有遇到困难吗?可以分享一下您的指导经验吗?

CherryMarkdown创始团队:项目开展还算顺利,关于指导经验有一点希望和大家分享,就是不要小瞧学生们的开发能力和学习能力,有些同学可能会问一些在我们看来比较简单的问题,其实这并不能证明学生能力不行,只能说学生们还没有接触过某一个特定领域的知识,只要我们给出了这个知识点,学生们往往就能顺藤摸瓜把这块知识吃透。

腾讯犀牛鸟开源人才培养计划已举办至第三届,越来越多的学生参与到其中,您对热爱开源的学生们有什么建议呢?

CherryMarkdown创始团队:我的建议是多沟通。许多同学有很强的学习能力和分析问题解决问题的能力,他们独自就能完成所有的课题,这导致他们不太愿意主动去跟导师们沟通,这种习惯的确很大程度上解放了导师,但从长远来看还是会对学生产生一定的负面影响。毕竟在学校个人英雄主义永远是最浪漫最值得尝试的,但在真实的项目中,团队协作则是一切项目能够顺利落地的基石,而沟通则是基石的基石。勇于主动沟通在学校里可能会被认为“哗众取宠”,但实际项目协作中,项目风险能否及时发现、逻辑设计是否完备甚至需求交付质量能否提高都需要依靠大家的主动沟通。我们也发现许多加入腾讯的新同学往往也是比较害羞的,他们比那些能够主动沟通的学生成长时间大概长了半年左右(也就是说他们多用了半年多才逐渐“放开”融入了团队,成为了团队的技术骨干),所以我们希望参与犀牛鸟开源人才培养计划的同学能够在这些项目中不仅锻炼自身的实际项目开发能力,也锻炼下自身的沟通能力,为进入社会成为团队技术骨干提前做准备。

#关于开源

您认为腾讯犀牛鸟开源人才培养计划于学生们来说意义在哪儿?

CherryMarkdown创始团队:个人认为主要有三点。

1、帮助同学们积累实际项目开发经验,提升实战能力

2、帮助同学们查漏补缺,完备技术栈,同时也有机会提升某些垂直领域的知识

3、帮助同学们拓宽圈子,能够认识更多志同道合的朋友

近年来,国内涌现出来了不少开源软件,您是怎么看待当下的开源现状呢?您觉得现在国内开源的发展态势会朝着一个什么样的方向发展呢?

CherryMarkdown创始团队:在我们看来主要分三类开源软件。

1、独立开源软件,一般由个人牵头,开发速度、传播能力有限,并且由于开发资源有限,往往软件发展过程中有可能出现性能、安全类问题

2、基金开源软件,一般是先由普通开源项目做起,等有了影响力和使用量后由基金资助,有全职开发者,有活跃的社区

3、企业开源软件,一般是先由实际业务需求做起,等做到一定程度有了复用诉求后转而开源,核心开发者往往也是实际业务的开发者(即自产自销)目前国内对开源软件的认可度还是很高的,不过从长期来看,开源软件的安全问题将会是实际业务团队需要不断关注的。

发展态势方面,我们认为独立开源软件应该会继续保持一个自由生长、百花齐放的态势;基金开源软件任然会朝着社区更活跃、能力更全面的方向发展;企业开源软件则会继续保持“接地气”的姿态,以适配实际业务诉求为目标不断完善,同时由于企业往往有专业的法务团队和安全团队,企业开源软件也会利用此类资源朝着法律风险更低、安全风险更低的目标去发展。

面对中国开源市场,您有什么好的建议、寄语与大家分享吗?

CherryMarkdown创始团队:引用我们非常欣赏一句话和大家共勉,“能力之内做最好”。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-09-18 16:00,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯开源 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
TAPD 敏捷项目管理
TAPD(Tencent Agile Product Development)是源自于腾讯的敏捷研发协作平台,提供贯穿敏捷研发生命周期的一站式服务。覆盖从产品概念形成、产品规划、需求分析、项目规划和跟踪、质量测试到构建发布、用户反馈跟踪的产品研发全生命周期,提供了灵活的可定制化应用和强大的集成能力,帮助研发团队有效地管理需求、资源、进度和质量,规范和改进产品研发过程,提高研发效率和产品质量。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档