个人开源的困境:开源只能交个朋友

在 Ledge 知识平台 (https://devops.phodal.com/) 发布的这一周多里,我一直在思考如何让这个项目做得更好。在和 CSDN 编辑的讨论中,我意识到我可以把这个过程中的相关经验分享出来。因为毕竟大部分的开源项目做得不好。

除了写代码之后,我们做了这么一些事情,使得这个项目可以好好的运转下去:

  1. 我写了一篇宣传方案。扩散到相关的微信群里,发布在公号、知乎和其它写作平台上。

  2. 我通过社交平台微博、Twitter、Bilibili 等扩散了项目的信息。

  3. 我写了两篇技术实现原理。发布在 InfoQ、CSDN 等专业平台上。

  4. 我和我的小伙伴们,建了个微信群,以实现快速反馈。

  5. 我们鼓励开发人员为开源项目做贡献。

  6. 我们联系了不同的 DevOps 厂商,来共同发展这个项目。

  7. 我们以透明的方式不断公布、上线新的特性。

  8. ……

它的运作模式和我早期在 GitHub 开源的学习应用 Growth 几乎是一模一样的。大抵是因为我对开源的运作模式相当的熟悉。不过,从某种意义上来说,它还是一场关于影响力的游戏。

不了解开源项目的运作模式

从我的观察来看,大部分的开发人员连 README 也写不了。因为工作或是业余开发的需要,我经常在 GitHub 上搜索到相关的项目,而这些项目,它可能:

  • 只是把代码扔在了 GitHub 上

  • 缺乏一个可读的 README

  • 没有截图(对于 UI 项目)

  • 除了看代码,不需要从哪下手

  • 找不到任务的相关资料

  • 对 issue 没有任何响应

  • ……

tips: 这些技巧基本上都可以在《GitHub 漫游指南》上找到,这里就不详细展开了。而事实上 GitHub 官方也有一份非常不错的开源指南。读一读这些指南,再开展你的开源项目,你会发现开源真的很容易。

tips: 参与一个知名的开源项目,你就知道开源项目可能是怎么运作的。

缺乏多角色能力

在这个过程中,我承担了多个角色的责任:

  • 开发人员。没啥说的

  • 布道师。我要持续地写写文章,宣传宣传项目。

  • 项目领导者。嗯,就是打杂的那个人。

  • 市场人员。总之就是尝试去对接一些公司,以获得一些相关的案例,成为合作伙伴。

  • 程序员鼓励师。是的,作为一个开源项目,大家都是拿业余时间来练手的,需要不断地鼓励他们。

  • 代码评审者。大部分人是出于提升自己水平的目的参与开源项目,所以给他们一些建议,能帮助他们更好地成长。

  • ……

tips: 所以,如果你缺乏这样的能力,你可以找找感兴趣的小伙伴来一起搞搞。

看不见收益

从某种意义上来说,开源是一种信仰。而信仰这种东西本身又是一种玄学。所以,多数时候,开心就好。

一谈及收益的时候,我们可能也就有了点结果导向的意思。当你开了一个坑,你会期望得到什么?

  • 额外的收入

  • 简历上新的一笔

  • 一份新的工作

  • 让别人觉得你很优秀

  • ……

事实上,多数时候,你刚开坑的时候,你也就只能交个朋友了。除非,你做的项目特别优秀,并且绝无仅有,否则你只能通过长期的投入来获取收益。

tips: 如果你做的是应用,那么不妨以练习技术作为目的。

tips: 优先不要考虑那些悲伤的问题,比如 IE。谁要用 IE,谁自己来支持 [狗头]

tips: 开源最重要的是让自己开心

没有时间投入

我是一个开源的狂热粉,而使用代码来创造事物又是我的乐趣,所以我会把时间投入于此。既然是如此,也需要划分一些时间来做专门的事:

  • 平时修修小 bug

  • 周末写写新功能

  • 偶尔换个项目,换个心情

  • 放松一下,什么也不做

不过呢,对于国内 996 的现状来说,大部分的开发人员是没有多余的意愿投入在这个领域。周末陪男朋友玩玩文明不好吗?周末陪女朋友逛街不好吗?

不懂得宣传

在信息同质化 + 越来越垃圾的今天,绝大部分的同类的项目都会迅速地走向死亡。只要别人在宣传上做得比你好,就有可能获得后发优势。一个典型的例子,就是前端框架 Avalon,框架本身非常好,但是却没有铺展开来。

当你觉得你做了一件非常了不起的开源项目,不要畏惧,你可以尝试:

  • 到相关的技术论坛上发个简单的介绍。

  • 写写文章,发布到一些写作平台上

  • 寻找相关领域的专家,看看他们的意见。

  • ……

关键时候,你的软能力往往比你的代码硬能力来得更重要。

缺少度量数据

开源最怕的一点是,你发现你辛辛苦苦做的东西可能没人用。所以,诸如 GitHub 这样的平台,提供了大量的度量数据,以帮助开发人员了解项目的情况。像 GitHub 的 stars、traffic 都是一些非常好的功能。

所以,不妨通过一些工具,诸如 Google Analytics 建立流量的度量等。

缺乏愿景和规划

大部分项目,可能还没有到这一步就放弃了。

开源是一个目标明确,过程松散的运作模式。大部分项目都会有一个明确的目标,基于此,大家才能一起朝这个方向前进。

所以,你可能需要花点时间:

  • 制定你的发布计划

  • 更新你的 Todo

  • 勾勒一个美好的未来

结论:开心就好

坚持你觉得对的事,你就会能得你要的东西。

如果你过于期待收益的话,那么你可能就不会开心。

THE ONLY FAIR IS NOT FAIR,ENJOY CREATE & SHARE!


欢迎加入 Ledge 的开发,你要你感兴趣就可以加入开发: https://github.com/phodal/ledge。除了正常的开发开发(Angular 框架),你还可以: 

  • 帮助我们国际化 ledge

  • 完善首页的周期表

  • 提交 DevOps 案例

  • 帮助完善相关的内容,如智库、检查清单等等

  • ……

除此,我们正在提取 ledge 框架用于构建其他的知识库,你也可以加入主开发中。

你可能感兴趣的:(个人开源的困境:开源只能交个朋友)