D 的个人博客

全职做开源,自由职业者

  menu

写在星火初版发布之际

对黑客派的不满

一直以来我对黑客派都不是很满意,最近两年不满感日趋加重。不满并不是来自于功能或者界面,因为功能或者界面是可以不断调整、打磨和改进的。

对黑客派的不满主要来自于它对“社区”的实现方式是中心化的。随着我对“社区”一词的逐步理解、实践和思考,我越发感到中心化的社区实现方式是有问题的,因为这样的话黑客派其实并不是一个真正的社区,倒更像是一个开放了注册的个人博客,使用社区来形容它有挂羊头卖狗肉之嫌。

在意识到这是确实存在的一个问题后,我尝试性地做了一个修正方案,即通过“贡献系统”来实现社区自治,从而将中心化集权尽量进行分散,将一些管理权交给对黑客派有较多贡献的用户。虽然目前看来这个方案还算奏效,但却没有从根本上解决问题,因为根本问题还是来自于对社区的定义。这就好像“抽象泄露原则”所描述的那样,越是要在更高级抽象的层面解决问题,就越容易产生更多的新问题,最终,底层的基础问题将暴露无遗,浮沙高楼。

现在黑客派已经木已成舟,再怎么修整也是舟,成不了飞船了。不过即使如此,我也不会放弃的黑客派的,后面会继续尽最大努力进行调整,尽量弥补遗憾。

再识社区

社区究竟是什么?从数据、服务和系统的角度我认为社区应该是这样的:

  • 数据:数据永远属于数据的生产者,他人(包括系统)可以分享但无法剥夺
  • 服务:只要还有用户使用就不会停服,也不可能进行停服
  • 系统:源码必须完全开源,所有运行时的管理操作也必须公开透明可监督

另外,我认为互联网服务中,数据就是生产资料,生产资料所有制问题在所有问题中的重要性位列第一。

对社区有了较为清晰的认识之后,我们可以看到目前现有的大部分自我标榜的社区其实都不是社区,它们远远达不到这个标准。不过话说回来,我们每个人都可以对社区下定义,因为社区本来就没有精确定义,或者说有上百个精确定义。这恰恰也是社区的精髓,即只有形成了共识的人聚在一起才能形成社区,正可谓“不是一家人,不进一家门”。

星火的诞生

由于以上我对“社区”的执念,星火便诞生了。它承载了我对理想社区的向往:

  • 永不丢失数据:没有人能删除或者抹掉其他人的数据
  • 分布式:没有中央集权,人人平等,来去自由
  • 安全:通过密钥对实现用户标识和数据验证
  • 快:用的人越多整体性能越高
  • 开放:管理操作公开透明;任何人都可以随时对社区进行“分叉”;所有人都面向统一的 API 进行开发,不存在能力受限的问题

如果让我重做“B3log 构思”的话,我一定会选择 IPFS 这样的技术架构,因为它在协议层就完美提供了博客 + 社区互动的解决方案。现在也可以把星火看作是 B3log 构思的终极版,现有的实现从技术上可能存在瑕疵,但从概念上我认为已经非常完美了。

星火第一版发布后可能会再发布几个小更新,之后如果没有社区驱动的话就暂时停更了,我想实验一下完全由社区驱动的开发方式,这也是星火发展的必经之路。希望以后星火能发展成为一个可以进行自我引导、自我驱动、自我实现、自我完善的真正社区。

虽然要走的路还很长,甚至是没有固定的方向,但我相信:

星星之火可以燎原

于星火初版发布之际,2019 年 6 月 4 日