之前设计的糖原2.0,可以说想象力天马行空,但是现在看来,难免有过度设计之嫌。这个架构主要是为了保证糖原的核心竞争力——弱信息茧房,于是设计了前端(闭源)—中心服务器(闭源)—节点服务器(开源)的三层架构。本质上,这种做法是想通过将技术神秘化,获取对推荐算法的绝对掌控。但是实际上,这种做法是没有必要的。因为真正好的软件,即便开源也能保证最初的愿景不被篡改。而且对于软件的运营,代码只是其中的一个部分,能够吸引人的还有很多方面。再者,客观上,这个方案也几乎没有办法实现。因为所有的流量都需要经过中心服务器转发,社区越大压力越大,中心一挂社区就挂,显然很不科学。因此,我准备放弃这个方案,转而将糖原全面开源。让我们为糖原1.1鼓掌欢呼!(误)

全面开源的意思就是,所有程序代码全部开源,并且允许自部署。

有人担心,糖原的初心是为了减弱信息茧房,需要一个中心化的控制权。而全面开源以后,人人都可以部署,反而变成去中心化,那怎么能减弱信息茧房呢?

在我看来,信息茧房是一种结构化的社会问题。单纯依靠一两个软件是解决不了的。因为即便有了糖原,大家照样还是会部署Misskey这种平台。因此糖原只能面向自愿加入这个弱茧房社区的用户,如果这种理念受到欢迎,那么自然会受到推广,从而吸引越来越多的人加入。也就是说,真正吸引人的不是程序本身,而是环境、价值与氛围,这就是开放的哲学。

更进一步而言,既然我们的用户群体都是自愿抛弃信息茧房的人,那么他们为什么要自己部署我的开源程序呢?如果是为了圈地自萌,他们显然有更好的专精的开源项目可以用,何必用糖原呢?

因此并不需要担心网络上出现大量的“糖原实例”,变成一个又一个的独立王国。从现在的知名度上来说,这是杞人忧天;即便将来有了知名度,也不太可能出现这种情况,原因刚才已经说过了。相反,大家可能会更倾向于给我的项目提Pull Request,不断优化。

这种现象的原理是,任何软件都有一种无形的资产,即用户群体。对于独立的论坛社区,用户群体是分离的。而对于这种自愿抛弃茧房的社区,用户群体必然是趋向合一,因为要想抛弃茧房就意味着要联合,不联合就没必要用这个软件。这是一个反证法。

当然,退一步讲,糖原也完全可以允许自部署,但前提是各个实例间要保持开放和联合。原理也和刚才说的一样,如果服主不联合,他也不会选糖原。这样就可以造就一个去中心化的、分布式的统一弱茧房社区。

这并不是新鲜概念,很多论坛项目早就有这种机制。糖原的意义在于,站在巨人的肩膀上更进一步,做到更公平、更开放。并且,将来我们可以在各个平台上做出高性能的原生前端。