V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lameleg
V2EX  ›  Kubernetes

如何做一款成功的开源项目

  •  1
     
  •   lameleg · 2022-04-17 15:49:15 +08:00 · 2402 次点击
    这是一个创建于 980 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家好,我是 sealos 的作者,很高兴和大家分享我做开源以及运营一个开源项目总结的一些经验。

    选择一个大市场

    这点非常重要,你可以选择一个大的市场,或者一个高速发展的市场,谁都知道做算法教程的一定比一个编译器底层低频工具受众会广,如果从获取更多 star 的角度来看,选一个普遍需求就非常重要,比如 sealos 选择从安装 kubernetes 开始做起,因为几乎每个实践云原生的人几乎都需要一个安装工具,这是个非常好的切入口。

    如果你现在还选择去在 openstack 生态做工具,那显然不符合时代大趋势,很难把项目做成功,因为它不符合大势的发展,存量市场也没有多大。sealos 选择 kubernetes 生态既符合当前市场足够大,也符合整个市场高速增长,所以可以搭上这趟车。

    所以对技术发展的洞察力非常重要,不然可能你即使好不容易打造成功的项目也会在两年后停滞增长。

    切中用户的痛点刚需

    痛点是如何被发现的?首先说说 sealos ,痛点来自于我自己本身的工作,三年前我发现安装 kubernetes 实在过于痛苦,官方文档都没有提供高可用的教程,我就自己写了脚本,心想很多人应该都会用到这个工具,就开源了,直到迭代到现在 golang 版本。

    所以当你工作中遇到问题时,或者抱怨别人的工具难用时,恭喜你,你发现了痛点!甚至有时候你用 google 搜索了很多都找不到解决方案,或者更好用的替代方案时,此事巨大机会就摆在你的眼前了。

    不要去重复造轮子,甚至重复造别人已经造的很好的轮子,去重复制造除非你有非常大的优势,否则你更应该看一看市场上有没有马车,去补空缺,或者让在现有东西上去优化让他更好。

    组合创新也很重要,用户需要的是马车,现在有马有轮子,这个时候最重要的就是组装一台马车出来给用户。

    多于用户沟通采集用户的需求也很重要,但是采集需求不是说要按照用户说的做,很多人听说过福特汽车的故事,大概说福特如果采集用户需求,用户只会想要一台更快的马车,永远也不会提汽车的需求。 这里很显然是错误的理解了需求,用户真正的需求是”更快的车“,而不是”更快的马车“,马车汽车是解决方案,应该是由我们对科技的洞察提供的,甚至你可以把用户的需求更高的抽象成”用户想要移动的更快“,这样理解需求你就可以造时空穿梭机! 这就是对需求的提炼与抽象能力。

    好的作品是一切的核心

    好的作品刚开始的时候评判标准来自我们自身,通常会有一个非常好的 idea 让你睡不着,想第二天就把它做出来,如此开始每天工作到半夜,发布之时你有满满的成就感,觉得她真的美爆了,简直是伟大的创造。

    然后你找三五个体验用户,然后被泼冷水,发现用户要要的并不是你做的东西,还有非常多需要优化的部分,sealos 在某个时期就是这样,安装需要三次执行命令,早期用户反馈并没有让我感到兴奋,甚至有些打击我。

    此时我下定决心打算进一步优化,把 70 分做到 90 分,最终我做到了,把所有东西做到一条命令中,为次引入了非常多的新技术,最终受到了试用者的好评。

    打造早期种子用户

    这时适合比较小规模的宣传,sealos 开始就获取了不少的用户,但是那时产品并不成熟,导致我每天需要处理大量用户的问题,我甚至都没有时间对产品进行迭代。

    我发现长期这样下去不行,我把所有客户的常见问题列成一个长长的表单,然后每天花很多时间从技术层面一个一个解决,一些非常细节非常小的问题,但凡用户可能会问到的都通过技术的手段屏蔽掉,这段时间让产品成熟度上了一个非常大的台阶。

    所以早期我觉得可以服务 10 个以下的用户,非常专心的专注于他们的反馈,去优化产品,一但 8 个以上都满意度很高了,那么恭喜,可以开始着力与宣传了。

    早期宣传

    sealos 的早期宣传几乎就是靠博客,我们也尝试过其它途径,如 google 广告,meetup 等,最终还是发现博客的性价比最高,以及一些技术文章,常见问题解答帖子等。

    口碑传播期

    知道一年多以后 sealos 实现了自然增长,其中有很大一部分是用户之间的相互推荐使用,能做到这一点取决于产品的质量。我还是会经常的挑一些客户聊天,咨询他们是否愿意把我们介绍给别的同事,有很大一部分开发者是愿意甚至已经这样做了。

    利用媒体爆发式增长

    我们在一些质量比较好的媒体上发表了文章,形成了一段时间的垂直上涨,其实这是连锁反应,那段时间上了 github 趋势榜导致了二次传播,甚至后面我们一直霸榜一周直到假期到来。

    趣味性的病毒传播

    遇到很多趣味性的内容有时能触发用户的分享兴趣,比如 sealos 的一个推广用语:”由于 sealos 可以把一周的工作量缩短到三分钟,可能会导致您工作不饱满而被老板炒鱿鱼“ 引起了不少人的兴趣并在群里面转发。

    积极的生态合作

    当你的项目有一定知名度时,就需要和上下游项目一些合作来进一步增加知名度,比如文档中提供相互集成的教程,发布合作案例文章等,没有哪个开源项目对生态合作持封闭态度的,所以生态合作既帮助了自己也帮助了别人,更帮助了用户。

    1 条回复    2022-07-21 17:31:07 +08:00
    cctv1005s927
        1
    cctv1005s927  
       2022-07-21 17:31:07 +08:00
    学到了,感谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   833 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 21:12 · PVG 05:12 · LAX 13:12 · JFK 16:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.