我既想把糖原开源,又想保证推荐算法是公平的。虽然我很喜欢Misskey,但是我觉得Misskey还是有点自立门户。毕竟你需要主动连接到别人的服务器,才能获取他们的信息。如果你不主动连接,那就会成为茧房,而弱茧房乃是我开发糖原的初心。因此我在洗澡的时候产生了如下设想:
- 将糖原前后端重构为漏斗状结构,支持第三方服务器自部署。
- 设计一个中心服务器,服务端程序不开源。
- 前端仍然不开源。所有前端连接到中心服务器,获取帖子数据。
- 设计开源的自部署节点服务器程序,任何人都可以部署。每个节点都不能直接向前端通讯,只能向中心服务器通讯。并且每个节点都需要向中心服务器注册。
- 前端能够获取当前连接到中心服务器的节点服务器有哪些。
- 每当前端发表一条内容,可以指定节点服务器。随后这条内容的元信息被注册在中心服务器,并通过中心服务器调用节点服务器的接口,传送到节点服务器保存。
- 每当前端需要获取一条内容,中心服务器从对应节点服务器获取内容数据,并传递到前端。
- 允许节点服务器服主在内容上附加特性,并在传送过程中得到保留,在前端得以显示。这些特性可以是付费内容,但是前端本身不提供付费接口,服主须自行处理。
- 节点服务器还可以增加其余特色功能。这些特色功能必须配合前端的相应接口。
- 由于所有帖子的元数据已存储在中心服务器,因此推荐算法通过中心服务器控制,可以保证公平。
- 节点服务器不得对中心服务器要求的内容造假,中心服务器通过摘要算法等手段鉴别内容真实性。
如此一来即兼得开源的自由性和中心化的公平性。

