夜天之书

A modern wizard.

缘起

ClickHouse 社群指标模型》一文里提到了 ClickHouse 社群基于自己的软件 ClickHouse 制作社群指标的探索。由于遇到了公开数据集表模式缺列,查询执行内存限制,以及数据库只读模式限制等问题,我在过去一周里试着按照 ClickHouse 官方博客的介绍,搭建起了一个属于自有的基于 ClickHouse 的 GitHub 事件数据库。

简单介绍下结果,自建数据集确实解决了上面列举的三个问题。然而,我选择的 16 核 64 GB 内存版本实例在查询性能上还不如 Playground 的性能,只是内存占用大的聚合查询 Playground 可能由于 Quota 限制无法执行。另外,我选择的阿里云上的 ClickHouse 数据库在追上游版本和一些使用体验上还是有所欠缺。最后,日常数据同步的脚本可以在 korandoru/github-adventurer 取用。

当然,我会去做这件事,还有一个不可忽视的原因是我所在的公司本身商业模式就是云上售卖数据处理服务,我希望能够基于云上的服务搭建自己的业务,体验这个流程可能遇到的各种问题。因此,本文不是一个指导手册或者技术指南,而是实现过程中每个环节的杂谈。

阅读全文 »

随着信息化和数字化的发展,传统企业的业务发展在软件的帮助下突飞猛进。软件技术日新月异,几乎每隔几年就会有全新的技术和产品颠覆过往业务开展的方式。然而,掌握前沿软件技术的人相对于全行业的需求可谓是凤毛麟角。为了规模化前沿技术的价值,越来越多的软件服务公司如同雨后春笋一样不断出现。

顾名思义,软件服务公司主要以提供高质量的软件或软件服务来提高其他企业开展业务的效率。随着软件技术日益复杂,采用何种软件服务逐渐从以往的 CTO/CIO 决策转变为不同领域的一线开发者根据自身的能力和喜好选择。因此,软件服务公司需要专门制定开发者关系的策略,以在新形势下继续赢得客户订单。

本文将以 What is Developer Relations? 网站的介绍和 Ubuntu 前任社群经理 Jono Bacon 的视频 Developer Relations: A Complete Guide to what it is, how it works, and whether you need it 为基础,讨论开发者关系将为企业带来什么价值,开发者关系的从业者到底在做什么工作,以及从事开发者关系工作需要具备什么样的能力。

阅读全文 »

我在《企业实践开源的动机》和《开源世界当中到底存不存在“白嫖”?》两篇文章中对这种商业模式已经有详细的介绍和议论。鉴于最近企业服务领域的创业公司以源代码可读为卖点,并大肆渲染“开源 vs. 云厂商”的对抗氛围,我从其中希望和 OSI 定义的开源区分开来的观点出发,尝试为这种模式做一个定义和说明。

阅读全文 »

数字化时代下绝大多数工作都有关键绩效指标(KPI)指导,任何组织都期望找到一个合理的指标来校准战略方向,衡量工作成果。

然而,并非所有工作都能有 KPI 准确地衡量产出。著名软件工程师,同时也是《重构》《分析模式》等书籍的作者 Martin Fowler 曾经写过一篇博客论证软件工程师的生产力是无法衡量的

开源社群成员的重要组成部分,也是一切价值的核心飞轮就是这样一群软件工程师。这是否意味着开源社群的工作也是无法衡量的吗?

我认为,目前探索所及的一切开源社群指标都是人的活动产生的,并且这里的人都是匿名的网络用户。这样的背景下,如果有人背负着必须提高某个指标的任务,在不论对社群协作造成的次生影响的前提下,几乎所有指标都是可以做出来的。因此,只是考察社群指标的结果数字,甚至为了掩饰自己不愿意理解社群运作的深层逻辑,而要求组织的社群协调员以某种归一化的分数来汇报社群指标,都不能达到撬动社群杠杆完成组织生产力增效的目的。

但是,没有北极星指标引领社群工作方向,难免会导致社群成员对自己所在的社群正处于一种什么状态缺乏清晰的认识。不是将指标作为目标结果,而是以定性和定量的指标来辅助校准社群发展的方向和衡量社群工作的效率,这样的工作是有价值的。

Apache 成熟度模型就是一个定性模型,从代码、版权、发布、质量、社群、共识和独立性七个方面衡量一个软件项目是否符合 Apache 开源之道。绝大部分从 Apache 孵化器毕业的项目在毕业前都会准备一份对应成熟度模型的报告,例如 Apache Pulsar 在毕业之际就专门撰写了一份社群成熟度报告来回应孵化器导师的质询。

近年来,越来越多的企业和组织认识到社群运营的重要性。除了定性的指标以外,这些企业和组织投入的人力和资金也使得探索定量指标得到了更多的支持。这其中值得关注的两个,就是 orbit.love轨道模型和 ClickHouse 社群基于 GitHub Events 全域公开数据进行的社群分析。

相比之下,orbit.love 的轨道模型不只是针对开源社群,而是针对普遍的社群运营行为及其结果的建模,定义更加严谨,理论更加丰富。ClickHouse 社群的指标模型是从使用自家软件分析社群活动出发,目前还停留在比较简单的统计分析的阶段上。

本文以 ClickHouse 的社群分析报告为基础,看看从 GitHub Events 全域数据能够进行哪些数字化社群指标分析。

阅读全文 »

开源软件不是凭空出现的,开发开源软件是一项艰苦卓绝的工作。每个开源软件的背后少则有原作者一人的投入,多则协同了成千上万人组成的开源社群的共同努力。然而,开源软件的源代码总是免费可得,并且开源软件协议总是不限制用户的使用形式。

基于开源软件完成工作乃至搭建业务盈利的用户,并不总是参与软件开发的人,这种形似经济学中“搭便车”的行为,在国内被提及的时候总会被称为“白嫖”,以至于后者称为圈内的一个热词。那么,开源世界当中到底存不存在“白嫖”,不同角色眼中的“搭便车”行为到底是怎么样的?本文将对此做些讨论。

阅读全文 »

《程序员修炼之道》讲了一个有趣的“石头汤”寓言。这个寓言里,饿着肚子的外来人在村子里烧了一锅水,放了三块石头,开始煮“石头汤”。这样的行为引来好奇的村民围观,外来人顺势在“石头汤”的基础上引导村民们添加食材以改善这锅料理。最后,村民和外来人一起煮出了一锅靓汤,外来人于是把石头从汤里扔掉,所有人分享了这顿美餐。

开源协同的工作方式与制作“石头汤”的方式有些相似。开源社群的核心成员与寓言中的外来人一样,充当了催化剂的角色,将这些各自拥有不同背景的人群组织起来。这样,社群成员才能聚在一起做出他们单独无法做到的事情。最后,所有人都是赢家。

当然,在这个版本的“石头汤”寓言里,村民被外来人骗了,石头并没有为最终的美味产生直接价值。《开放式组织》指出这种行为是一次性的,并且价值仅仅单向地从村民一方流向外来人一方,以至于它被冠以“汤姆·索亚合作模式”的恶名。

开源协同的模式保留了“石头汤”寓言当中催化剂的内核,但是这一次,外来人提供的不是水煮石头,而是初具规模的汤底和食材。《大教堂与集市》在揭示集市模式的必要条件时阐述了这一点,这个隐喻意味着一个能运行的软件,并且让潜在的合作开发者相信,这个软件在可以预见的未来,能够演变成一个非常棒的东西。

Apache 开源社群由三百多个项目组成,其中不乏开源版本“石头汤”的现实案例。

阅读全文 »

从本世纪初谷歌的三篇论文发布以来,数据处理领域在大数据的方向上探索了将近二十年的时间。从三篇论文的开源实现 Apache HadoopApache HBase 开始,到打破传统关系型数据库的分布式数据处理系统如雨后春笋般接连诞生,NoSQL 系统回应了移动互联时代的数据爆发式增长的挑战。

诚然,传统的数据库专家对 NoSQL 也有像 MapReduce: A major step backwards 这样的批评,不过 NoSQL 系统本身也在向传统数据处理领域当中被证明有效的特性靠拢,向 Not Only SQL 系统转变。

本文首先从移动互联时代数据增长和数据模型演进带来的实际问题出发,讨论 NoSQL 系统在现在企业数据处理生态当中的定位和价值,然后介绍 NoSQL 系统靠近 Not Only SQL 定位的过程中遇到的硬核诉求,最后分析新时代 NoSQL 的发展方向。

阅读全文 »

近日在《大教堂与集市》的译者卫剑钒的推荐下阅读了这本被评价为新时代《穷查理宝典》的《纳瓦尔宝典》,其中有部分观点确实很有启发。卫 Sir 给这本《纳瓦尔宝典》专门写了两篇书评,已经把书中的精华几乎都介绍完全了。我在这里出于自己的理解和感悟,做一点微小的补充。

阅读全文 »

随着开源软件全面占据软件供应链的各个阶段,商业公司开发基础软件或业务逻辑的时候,已经避不开对软件的使用了。经过一段时间对开源软件的使用,以及开源吞噬软件的趋势影响,研发能力突出的公司或团队,也会加入到开发开源软件的行列中来。

商业模型当中开源软件位置的不同,体现出企业实践开源动机的不同,并且会很大程度影响企业实践开源的行为。本文将讨论不同商业模型下,企业实践开源的动机和行为的差异。

阅读全文 »

《大教堂与集市》中有一个著名的 Linus 定律,“只要眼睛多,bug 容易捉”。在这本书里面,作者讨论了开源社群的集市开发模式,以其开放的特征,以及提供源码从而支持参与者基于相同的真实的源码进行高效交流,驯服了大型软件开发的复杂性。诚然,在其论述中,基于源码的,快速发布反馈缺陷报告和补丁修补的开源协同方式,能够制造出 Linux 这样的大型开源软件。然而,这一论述却有一个隐含的前提假设,那就是开源软件得到了足够多的关注。

Linux 无疑得到了全世界开发者的海量关注,并且一直如此。开源运动的启蒙阶段,大量的软件都被开创式的制造出来,彼时少有其他开源竞争者的存在,因此眼球或者叫注意力能够投放到的目标是相对有限的。另一方面,开源社群彼时仍是小众圈子,天然地对进入其中的注意力有一个质量筛选的机制,除非货真价实的黑客,否则很难在当时的开源社群当中生存。

然而,如今的开源软件从覆盖面到数量上已经彻底超出了所有人的预期,在软件渗透到社会生活的方方面面的前提下,形成了几乎任何软件都包含开源组件的“软件吞噬世界,开源吞噬软件”的格局。越来越多的开源参与者,已经观察到“眼球不够用”的情况了。换句话说,整个开源共同体的注意力供给总量,不足以应对所有开源软件高效发展的需求。

在这样的前提下,开源社群的参与者,应该考虑如何分配自己宝贵的注意力,以促进自身利益与开源社群发展需要的双赢;开源社群的维护者或说开源软件的作者,还需要额外考虑如何吸引开源参与者乃至整个社会可能提供的注意力,从而维系开源软件的高质量,并放大高质量开源软件的影响力。本文将从开源共同体具体的案例出发,讨论这两个问题。

阅读全文 »
0%