功能请求为是,授权为否

2020-11-12 02:57:10

艾伦·吉布森(Alan Gibson)在“无自由特写”(NoFree Feature)一书中写道:我期待着有一天,要求任何人做无偿劳动被我们的行业视为不道德。这适用于开源项目、无薪实习和无薪面试任务中的专题请求。在经济背景下要求工作而不提供某种形式的补偿在道德上是站不住脚的。这是错误的,因为无偿劳动是错误的。这是错误的,因为假设任何人都是乐于助人的,这是错误的。我们不应该使用赏金将我们的更改请求放在队伍的首位,因为我们甚至不应该在没有附加赏金的情况下提出请求。

这是一次试图改变开源规范的尝试,我认为这不是一个好办法。虽然我确信有一些开源开发人员把请求作为一种负担,但我们中的许多人只想做有用的软件。如果有人让我知道一种不同的方式,或者我写的任何其他东西都会更好,我很乐意听到。

我并不总是准备好实施改变,在这种情况下,我通常会说是否欢迎实施这一功能的公关。我设定了界限,只做我想做的工作。我认为这在一定程度上是问/猜(更多)的区别,我希望人们可以自由地要求功能,而吉布森则希望人们只在他们预期请求会受到欢迎的情况下才要求功能(如果需要的话,用钱来弥补差额)。然而,开源传统上一直是一个非常明确的问答场所,我认为这些规范总体上很好地服务于社区。

另一个我们不同意的地方是,Gibson认为一个特性请求是一个人情请求:对作者/维护者没有好处,只对请求者有利。然而,我的项目是开源的,因为我希望它们有用;我喜欢做东西,我希望它们是好的,我希望它们能满足人们的需求。当有人向我提出要求时,这通常是一个好主意,说明软件如何才能做得更好。即使是我不追求的功能请求,也可以让其他人知道这是我感兴趣的。如果人们觉得在不提供报酬的情况下提交功能请求是不道德的,大多数人会对他们的改进想法保持沉默,而我们都会错失良机。

即使在和吉布森来回交流了很久之后,我也不明白他们关于无偿劳动的道德主张是如何与一般的开源互动的。开源充斥着无偿劳动,比如编码、文档编制、处理错误报告、问题,当然还有功能请求。他们在功能请求和缺陷报告之间划出了一条强线,他们认为,功能请求应该伴随着付费的提议,而缺陷报告不需要,但我看不到这条线。从某种意义上说,这两种方法都涉及到向作者提出要求,以解决用户遇到的问题。是的,你可以要求一个只对你有帮助的功能,但你也可以为一个因为你奇怪的选择而出现的问题提交错误。

我认为这在一定程度上可能是对有资格的请求的反应:人们认为,因为你编写了一些软件,并将其提供给任何人使用,你就有责任支持他们使用这些软件或添加他们需要的功能。我完全同意,与有权利的人打交道一点也不好玩!但我认为我们应该回击鲁道夫的要求,而不是把所有的要求都重新归类为粗鲁。