欢迎各位关注: WeBank开源CMDB的Github链接
目前我们的研发如同构建一个精美的大教堂,产品给出宏伟的设计图,架构师进行精密的设计,再由研发一步一步的构建。这是构建内部项目或者商业软件的传统模式,利于内部协同和把握项目进度及方向。开源软件和开源社区,有其自身的松散特性,大教堂模式则不是一种最有效力的协同方法。
开源软件更多的是借助裂变模式进行野蛮生长和快速传播,一个有效率的裂变传播需要具备三个特点 - 种子用户、价值、有趣。快速准确的获取第一批种子用户是裂变的基础,初期种子用户的数量和质量直接决定了后期传播的速度和裂变范围;软件提供给用户的价值是裂变的前提,该价值还必须在种子用户的圈层中具有普适性;有趣则是裂变的催化剂,没有催化剂的化学反应发生的太慢,因此能否提供短小有趣的炫耀性内容直接决定了裂变的速度和转化率。
纵观目前优秀的开源社区和成功的开源项目(Spring, Apache,Spark等),一般均是由若干的松散子项目组成的,再由顶级项目进行整合,或者根本就不整合(例如Apache Commons)。小而精的项目模块在开源社区中有其天然的优势,它一般都是解决一个领域下的特定小问题,容易被用户理解,并且能够快速应用,为用户解决问题,从而快速复制一批的种子用户。这些小的特定领域问题,往往在种子用户的圈子中具有一定的普遍性,从而使得传播有了基础。
WeCube是以框架为核心,插件为扩展的软件体系。WeCube虽然对于分布式架构的运维提供了优秀的整体解决方案,但是也存在使用门槛偏高,自身定位不易清晰说明的问题。与其直接对外推广整体的WeCube框架和解决方案,不如逐步推广WeCube的功能插件,然后在成熟之后进而推广WeCube框架,这可能是一个更加现实和有效的农村包围城市策略。
今后我们的策略应该是优先开源一批小而精的插件模块,这些插件模块在不依赖WeCube框架的时候,也能独立解决某一特定的问题,例如CMDB,监控,和任务管理。这些插件聚焦在运维管理领域,有一定的优秀性和自包含能力,从而拓展出一批种子用户。这批种子用户均处于运维一线,具备一定的领域共性,小规模的插件使得种子用户参与的可行性提高,门槛变低。用户的参与本身就具有很强的趣味性和炫耀基础,参与插件建设的用户有极强的动力在其圈子里面传播和炫耀他的参与项目,从而促成快速的裂变传播。
在各个插件的开拓之下,我们的社区将会建设成为一个运维工具的插件大集市,在这个市场中,用户可以cherry pick他所需要的各种运维工具和能力。这个时候,WeCube框架的推出就顺理成章了,因为WeCube框架是可以整合和编排各个插件的能力,从而提供统一的、一站式、开源分布式架构IT管理解决方案。
因为我们现阶段应该充分重视各个插件的独立研发和开源建设,保障资源投入和对外推广宣传。插件的开源建设是整个WeCube开源建设的基础和必由之路。下面才是我心目中的WeCube社区: