专栏首页phodal开源?不好意思,你们都理解错了

开源?不好意思,你们都理解错了

PS:文章仅为个人观点 —— 本文的内容基于我这几年在开源世界的观察得出的结论,并非调查所得到的结果。

上上周,我在 GitHub 上发布了 Ledge 知识平台(https://github.com/phodal/ledge),我以一种“重量级”的方式来运行这个开源项目。换句话来说,以正确的方式运行起了这个项目。因为我知道怎么运作一个开源项目,加上一些外部的原因,我开始思考个人开源和组织开源的一些困境。

开始之前,让我讲个笑话和无奈:

组织开源的四大笑话是:一次性开源、按揭开源、KPI 驱动式开源、社区是什么?(分别代表了国内的几加大公司的开源做法)

不好意思,你们是对开源有什么误解吗?

什么是开源

事实上,我们经常混淆了两个概念,那就是开源软件和开源这个行为。

开源软件是源代码可以任意获取的计算机软件,任何人都能查看、修改和分发他们认为合适的代码。开源软件依托同行评审和社区生产,皆以分散、协作的方式开发。—— 红帽官网

换句话来说,你选择一个协议,将你写的代码公开发布,这叫开源一个软件。但是,它并不叫你搞开源。开源源于开源软件,但是它现在已经成为超越软件生产的运行和工作方式。

开源源于开源软件生产的运行和工作方式,它是一种基于去中心化、自组织式的软件开发模式运作的工作方式。它以社区作为根基,通过开放、透明、协作几项原则开展的活动。

开源不是公开代码

在那本开源的《GitHub 漫游指南》里,我一直在讲述如何在 GitHub 上开发一个 “成功” 的开源项目。因为开源不仅仅只是说源代码的开源,还包含了设计文档、产品的内容等等,还要以开源的方式来运作。以 opensource.com 对于开源方式的解释来说,需要这么五个维度:

  1. 透明度。
  2. 协作。
  3. 迟早发布、持续发布。快速建立原型,发布第一个版本,并且不断地快速地迭代。
  4. 精英制度。根据提出的最佳方案做决定的方式
  5. 社区。形成社区,提升社区参与度,转化为社区目标。

也因此,如果只是公开源码的话,那是走到开源的第一步,刚来到开源的起跑线上而已,还没参与到这个游戏中去。

一个开源项目是一个产品

作为一个资深的开源运动参与者,我有一个这样的体会:运营一个开源项目,就好像创业一样。我们需要采用《黑客与画家》作者 Paul Graham 所说的创业公式:

  1. 1. 搭建原型
  2. 2. 上线运营
  3. 3. 收集反馈
  4. 4. 调整产品
  5. 5. 成长壮大

所以,开源就像是一场小型创业,需要进行竞品分析,需要制定合理的策略。当然了,如果你的东西绝无仅有,那就无需如此。而除了分析市场,针对于开发人员,还要考虑:

  1. 1. 作为投资人(技术投资),他们能获得什么?提升技术?找个好工作?
  2. 2. 作为潜在的用户,从哪里知道这个项目?
  3. 3. 作为贡献者,如何提供不同级别的贡献计划?
  4. 4. ……

你并不一定非得去考虑这些问题,只要在持续完善的过程中,这些问题的答案就会浮现出来。只是呢,在你开始之前想好,可能会事半功倍。

开源的重点在于生态建设

对于个人来说,开源的目的可能是找个好工作、为以后找个好工作……;对于一家组织来说,他们考虑开源可能有多种多样的目的:

  1. 1. 降低开发、维护成本。由社区来帮助寻找 bug,提出一些观点。
  2. 2. 技术影响力招聘
  3. 3. 建立技术壁垒。
  4. 4. 营造生态。
  5. 5. ……

一个好的开源作品,需要连接到上下游,即影响开发者,又影响使用者。慢慢地,它个作品就会成为一个影响行业的存在。尽管会不断有其它的项目冒出来,但是由于稳固的生态建设,将巩固组织在该领域的影响力。

组织需要制定开源策略

从开头的大部分四大难题:一次性开源、按揭开源、KPI 驱动式开源、社区是什么?。我们就会发现:国内大公司的开源策略都是错的。

他们可能,今年发布 Phodal UI,明后发布 Phodal Compiler,后年发布 Phodal OS。然后,中间靠各种公关稿,完成在社区的宣传。

应该是这样的,今年发布 Phodal UI 1.0,年中发布 Phodal UI 2.0,明年发布 Phodal UI 3.0 和 Phodal Compiler 1.0,明年年中 Phodal UI 4.0 + Phodal Compiler 2.0。过程中,需要依赖于布道师来进行闭环:

  1. 1. 维护开发者关系
  2. 2. 在社区进行宣传
  3. 3. 对社区进行支持、收集社区反馈
  4. 4. 建立连接内部的通道
  5. 5. 促进内部进行改进。

这些组织需要建立一个具备可持续性的开源策略:

  1. 1. 明确其带来的业务价值(如人才引进 、生态等)
  2. 2. 专职的开发人员进行开源支持
  3. 3. 开放式的开源团队组织结构
  4. 4. 合理、适当地长期 KPI 考核机制
  5. 5. 政策和流程支持。如专项鼓励奖金
  6. 6. 明确地专利和知识产权机制

开源到开放式组织

领导力变化,当我们在组织中开发一个软件应用时是以职权影响力为核心构建的;而开源方式,则是以非职权影响力构建的。

社区的每个人都可以提出自己的意见,你可以 say No,但是每个人都可以提出意见。就这一点来说,对于大部分的国内公司来说是一种挑战,大部分的领导希望听到统一的声音 —— 论组织内多样性的重要。

简单来说,大家想来就可以来,想走就可以走。所以,开源的一个难点就在于:如何吸引到人来参与开发。

尽管大部分项目都是围绕个人、团队的中心化开放式组织,如 linus 之于 Linux。但是,开源还可能变成一个中心化的组织,如 Node.js 的 IO.js 出走事件。根据开源协议,人们可以很容易派生出一个新的项目。

结论

开源,就是生态。

本文分享自微信公众号 - phodal(phodal-weixin),作者:Phodal

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 3.15 让我们来看看开源世界的抄袭

    两天前,发生了一件特别有意思的事, 饿了么前端团队在知乎专栏上,撰文《写在 Element 一周年之际》指出指责iview抄袭这件事?那么,问题来了这是不是真的...

    Phodal
  • 如何看待 GitHub 上许多笔记、面经等获得过多的 star?

    文章来源于,我在知乎相关话题上的回答。问题大意是:SQLite 和 SQLAlchemy 项目的 Star 比许多学习笔记、面经还要少。

    Phodal
  • 我的职业是前端工程师【十】客户端存储艺术:数据存储与模型

    Web或者移动应用的重心,由后台往前台挪动的两个标志是:客户端存储,客户端模型维护。在可见的未来,我们将会见证后端将不存储数据、由前端负责存储数据的应用。 写过...

    Phodal
  • 每一位程序员,都可以贡献开源吗?

    刘天栋:近期举办的中国开源年会,大会主题叫“开源向善”,开源代表向善的力量。在座很多开发者可能会疑问:开源和向善有什么关系呢?大家常常说贡献开源成就自身,这是开...

    腾小云
  • 聆听中国开源最强音 | 国内大厂开源项目齐聚 OSCAR 开源先锋日

    聆听中国开源最强音,阿里、华为、腾讯、小米齐聚北京,万众期待的 OSCAR 开源先锋日终于到来啦!

    DevOps时代
  • 企业制定开源战略的免费指南

    大多数使用开源的公司都了解其商业价值,但他们可能缺乏战略性地实施开源计划和获得全部回报的工具。根据 The New Stack 最近的一项调查,“开源计划的三大...

    Debian社区
  • 如何优雅自如的使用开源许可证?中国信通院《开源许可证使用指南》即将发布

    近几年开源技术快速发展,在云计算、移动互联网、大数据等领域逐渐形成技术主流。开源一方面可以突破技术壁垒,推动技术创新,另一方面,不可避免的带来知识产权、信息安全...

    DevOps时代
  • 程序员应该做开源项目的 6 个原因

    “开源开发人员都是义务劳动者”的观点已经成为编程世界中的陈词滥调,即使是那些伟大的开源举措也无法驳倒这种风靡一时的心态。

    哲洛不闹
  • 深度赋能,共享共赢!“有你有我开源节”开源技术研讨会暨深圳·国际开源谷揭牌仪式热烈召开

    为了满足国内开源产业的迫切需求,填补中国开源社区活动的空白,10 月 15 日,由工业和信息化部主管、深圳市政府指导,深圳市工业和信息化局和深圳福田区政府支持,...

    深度学习与Python
  • 明星开源产品实践历程,从技术构建到营销革命

    导语:在 10 月 15 日由 TGO 鲲鹏会主办的鲲鹏说上,邀请到了涛思数据创始人兼 CEO,知名连续创业者陶建辉,他从自己打造的开源成功商品 TDengin...

    深度学习与Python

扫码关注云+社区

领取腾讯云代金券