如果客户端开发者没有就发布什么功能或何时发布达成一致,那么他们中的一些人可能会开发、宣布并推出不同的功能集。我们之前在 ETH/ETC 的分叉中就看到了这种情况,并不是所有的客户端开发者都同意如何进行,所以我们最终得到了两条不同的链 ,由不同的群体来维护。 如何处理分歧?
在 1 和 5 的情况下,事情进展非常顺利。 在 2 和 3 的情况下,通常会进行讨论,试图通过了解人们产生分歧的根本原因来达成共识,如果可能的话,试图为这些问题找到一个可行的解决方案,但如果不能达成「粗略的共识」,那么信念更坚定的一方可能会获胜。 在 4 的情况下,我们有一个类似 ETH/ETC 的分叉。 用户如何参与其中?作为以太坊的用户,您可以选择是否运行一个给定的客户端,这意味着如果您认为改变不好,您可以选择干脆不升级。事实上你也鼓励您尝试说服其他人(在适当的场合)和您一起运行不同的客户端,如果您认为这样做是最好的。 如果你有技术头脑,你也可以通过向核心开发人员提出新的技术想法来参与(例如,通过 ethresear)。你也可以通过加入现有的团队、维护自己的 fork 或者从头开始构建一个新的客户端来参与客户端的开发。 开发者如何决定要写什么代码?每个以太坊客户端开发者都有自己的动机,有些是众所周知的,有些是保密的。这些动机有些是经济上的(例如,他们被别人赞助,而别人也有自己的动机),有些动机是利他的(例如,他们想建立一个更抗审查的未来)。 然而,由于上文提到的「用户决定运行什么」的特点,核心开发者通常会构建他们认为用户现在和未来会想要运行的软件。大多数以太坊客户端开发者对编写没有人使用的软件不感兴趣,所以最终他们通常以他们认为用户想要的东西,或者对用户有利的东西为指导。 (责任编辑:admin) |