开源的社会契约

法律契约

首先,我们来说一说什么是开源软件。在我看来,

开源软件就是允许我免费使用的源代码。

提供了开源代码的开源项目是否需要担负超出该范围的责任吗?我并不觉得,开源软件的责任范围完全由软件本身及其许可决定。但是,如果你希望开源项目参与更多社交,而且用户也希望通过某种方式与维护者取得联系,该怎么办?我认为,在这种情况下,双方的交流会产生更多期望,而且主要是人与人之间的交流。

开源的社会契约
开源的社会契约

维护者和用户之间是什么关系?

首先,我认为我们必须确立维护者与用户之间的关系。我常常通过下面的例子来比喻这种关系:

开源代码就像我在自家草坪上放了一堆U盘,上面保存着我的开源代码,而且还挂着“免费”的牌子,当用户想要最新版的代码时,就可以过来拿走一个U盘。

实际上,我与大多数用户之间关系也是这样:我推出一个新的提交,用户可以随意使用,但是我们之间从不互相交谈。

继续上面的比喻,假设你不喜欢从我家前院免费拿走的软件,你可以理直气壮地走到我家门口,敲门,然后大声对我嚷嚷吗?或者在我的邮箱中扔下一封愤怒的信件?甚至向我家门口扔臭鸡蛋?或者站在街道中央,大喊你讨厌我的软件?你觉得这样做合适吗?

实际上,确实有人给我发邮件骂我,愤怒地填写议题,或者在互联网上大声抱怨。你觉着这样真的合适吗?在我看来,这些行为非常粗鲁,不道德。

请不要忘记,又不是我强迫你使用我的软件。你使用我的软件完全是自愿的,你免费拿了我的东西,还冲我乱发脾气?这完全是你个人的问题,与我何干。你完全可以使用其他的免费东西,并停止使用我的源代码。这就好像我给了你一个免费的冰淇淋,你咬了一口,发现不喜欢这个口味,然后就大喊大叫说这个免费的冰激凌怎么这么难吃,你不喜欢。这样对待免费试吃的产品,你觉得合适吗?

我不是说你不能提出建设性的批评,也不是说你不能说明哪些功能不能用。但是,如果你看到有人走到我身边,因为免费的冰激凌对我大加指责,你觉得这像话吗?

开源的社会契约
开源的社会契约

定言令式

我之前就说了,粗鲁地对待维护者的人都没有道德。

哲学家 Immanuel Kant 提出了一种道德哲学体系,名叫定言令式。他曾在著作《道德形而上学基础》中阐述道:

行动时对待人类的方式是,不论是自己或任何一个他人,绝对不能当成只是手段,而永远要同时当成是目的。

让我们梳理一下这里的“当成手段”和“当成目的”的含义。“当成手段”的意思是说,通过手段(即通过某种行动)获得一些特定的东西。

而“当成目的”则指的是,你始终应当把人当成目的,而不把他当成工具。即不能利用别人的人性,来达成自己的目的。比如,生活中的朋友,你交朋友并不是希望利用他们来获取某些东西,而是因为你喜欢他们以及他们的为人,你并不会期望从他们身上获得什么。

回过头,再来看看开源。如果你将维护者视为从其软件中获取收益的一种手段,那么从道德上来说就是,你把他们当成了工具,没有将他们视为人。但是,如果你将维护者视为可以帮助自己的志愿者同伴,那么就可以与他们建立正确的关系,而且你也不会利用维护者获取特定的东西。

开源的社会契约
开源的社会契约

举个例子

我们继续以免费 U 盘为例进行说明。假设我的一段 C 代码可以很好地集成在芯片 A 上。你使用了我的软件,而且很喜欢,然后就一直使用。突然有一天,我无意中停止了对芯片 A 的支持,因为我想通过 Rust 来提高生产力和安全性,而且我更加喜欢编写这样的低级代码。

于是,你大发雷霆,就因为我修改了软件,你不能再使用了,这样合适吗?不要忘记,每次我修改代码,都是你自己来我家前院拿走 U 盘,我又没求着你使用我的软件。我千辛万苦提供了这些开源代码,如今我发现无法再支持芯片 A 了,我就放弃了,你至于冲我发火吗?

对我来说,感觉就像你把我当成了获取某个平台支持的手段和工具,一旦不支持这个平台了,你就冲我发脾气。如果你把我当成人类看待,你就会问问我是否可以重新考虑一下,如果我说不行,你也应该心平气和地接受。

开源的社会契约
开源的社会契约

害人害己

真正令我难过的是,这些人的这种不把维护者当人看的行为害人害己,不仅会伤害到维护者,对用户自身也没好处。开源维护人员保守身体与心理的双重压力是一个很现实的问题。如果有人不停地写信给你,说讨厌你放在前院的那些U盘,那么我肯定会说算了,何必呢,我不在前院放U盘不就得了吗?

每一次用户对着开源维护者大喊大叫,都只会让情况越变越遭。整个恶化的过程可以分好几步。首先,既然开源代码由维护者来实现,那么也理应由他们来决定需求的主次。当然,有时确实会出现维护者固执己见,只考虑自己的需求,而对他人需求的考虑不足的状况,但这也无可厚非。

第二步,如果你对着维护者大喊大叫,伤透了他们的心,他们就会退而求其次,选择开放源代码,但不允许别人公开参与。在这种情况下,维护人员仍然愿意分享开源代码,但根本不希望处理 PR 请求之类的麻烦事儿。

第三步,进一步恶化,维护人员会放弃项目。在这样的项目中,问题跟踪器仍然处于打开状态,人们也可以收集与开源代码相关的问题,甚至可以打补丁或建立分叉,但是维护人员已经走了,所有代码提交都已停止。

下一步是项目关闭,只剩下一个项目的存档。

最后就是完全删除项目,整个代码库都不见了。如果你没有保留开源代码的副本,那么就再也见不到它了。

开源的社会契约
开源的社会契约

将每次提交都视为礼物

每次提交开源代码都应被视为来自维护者的一份礼物。维护者将礼物放在前院,与其他愿意使用的人享用。但如果你将它们当作获取其开源代码的手段,那就属于不道德的行为。

如果你意识到开源维护者真的不欠你任何东西,那么就不会要求下一次提交,或下一次发布。如果从这种角度看待开源代码,那么你就会将其视为礼物。因此,即便开源代码没有按照你期望的方向发展,你也不会感到失望,因为从一开始它就是一件礼物。

免责声明:
本工作室所有程序与文章均为游戏爱好者自发进行共同探讨研究为目的。
所有买家自愿赞助的费用全部用于服务器、网络租赁与维护、更新等费用,本工作室完全没有任何赢利性商业行为。
本工作室提到的所谓“购买”、“充值”、“续费”等实质为赞助方式,并非商业用语所指的行为模式。
如果对阁下(任何个人、单位、团体、机关、企事业单位等)产生冒犯或者侵害,请您立即告知我们,我们将改正模式。
海神科技 » 开源的社会契约

独家打造,全球唯一,每个细节我们都用心处理!

24小时自动发卡 联系QQ在线客服