我在一家受委托为渐进式慈善机构开发软件产品的公司工作。我们创建了一些我们想开源的库,例如OP,我们对可以找到的许可证不满意。
我们创建了《正义世界》许可证,因此,至少,那些与我们所支持的慈善机构的目标背道而驰的人不会使用我们的代码。(这里有一篇文章解释了我们背后的原因)
在下面,我将解决对意见和答案中提出的道德许可的一些反对意见。这样做时,我要与GPL进行比较,因为它也是从强大的意识形态角度得出的许可的示例,因此对于如何将许可不仅仅是法律文件以及它的各个方面具有指导意义。我们已经接受了。
为什么(不)道德?
我读过的许多异议都与此类许可证的可执行性有关,但我认为,道德许可证的目的不是在法庭上强制执行。实际上,大多数您真正不想在法庭上测试的法律文件-既昂贵又痛苦。是的,您应该使它们清晰明确,但是大多数人不会起草法律文件,其主要目的是将另一方告上法庭。
正如人们(正确地)指出的那样,如果一家大公司希望不受限制地使用您的软件,他们可能会有资源将您埋葬在法律文书中。
但是,这与GPL没什么不同,GPL的编写也不是为了使FOSS开发人员可以向大型公司提起滥用滥用开放源代码的诉讼。是的,这在法律上是特定的,可以执行,但这并不是作者想到的主要目的。他们创建了GPL来传播一个想法-应该自由共享软件及其来源的想法。
同样,在创建道德许可时,我们想传播一个想法-我们的软件应被用于改善世界,我们作为开发人员可以对软件的使用方式承担责任。
可执行性
话虽这么说,我也认为可以执行道德许可证。即使对JSLint的许可条款含糊不清,IBM仍然十分关注强制执行,以至于要求作者明确表示同意将JSLint用于邪恶。
是的,大烟草公司可以使用我们的代码并对此保持沉默,但是对于大多数公司(甚至是做坏事的公司)来说,担心被发现或吹口哨以及强制执行的可能性足以使它认为不值得冒险和去找到其他代码。
限制非法物品的使用是没有意义的
同意
我们在写道德许可证时决定,由于这个原因,我们决定不排除非法行为,还因为某些国家的法律确实很糟糕,以可怕的方式限制了人们的自由。如果反对这些事情的激进主义者想使用我们的软件,他们有足够的担忧而不必担心我们可能会出现并停止并阻止他们的麻烦。
如果情况不好,有法律禁止它
<插入立法者的强制性视频,询问马克·扎克伯格有关通过WhatsApp发送电子邮件>
不幸的是,在响应不断变化的社会规范时,我们的立法者是行动最慢的国家之一,更不用说技术了。对于初学者来说,这是2018年,仍然有货架上的产品是由实际的奴隶制造的。
道德无法定义
世界并不像通常想象的那么灰暗。
我们的许可将阻止人们使用我们的软件来(除其他外)采取行动,这些行动已知会破坏子孙后代的地球状况,利用奴隶劳动,鼓吹种族主义或破坏行为心理,从而使人们浪费生命点击广告。
这些并不是小车问题。
道德是主观的
是的,但这不是一件坏事。
我们一些最重要的决定是主观的。如果您有兴趣,有一些非常有趣的故事,讲述的是人们在事故中受损了情绪中心,即使他们的理由和客观性完好无损,他们也仍然无法正常工作。
哲学上少一些。主观上认为,采用FOSS软件并在不发布更改的情况下对其进行改进是错误的。这是构成GPL关键部分的主观观点,并不是软件开发界的每个人都同意这是一件好事,但是这种意见分歧尚未使FOSS社区失望;-)
不方便
好吧,这就是重点。如果公司正在为道德上可疑的行为编写软件,则道德上的许可将带来不便。
某些FOSS许可也可以这样说。如今,有些公司正在使用许可证检查器之类的工具,因为它们不希望在其产品中使用GPL代码。
如果每个作者都提出了自己的道德定义,并且我们有大量的非标准道德许可证,那么这确实变得非常艰巨和不便,但是如果像我们现在对通用开源所做的那样,我们可以商定一些标准许可证没有任何不便之处。
不好的公司只会写自己的
好。如果他们想从伤害人民和我们的未来中获利,那就让他们浪费资源。
我不会自欺欺人地说,放开我已经释放的小型图书馆将实质上抑制大型邪恶公司,但是如果大型项目这样做会怎样呢?
例如,石油和天然气公司正在使用Apache的Hadoop帮助他们在应该关门的时候更有利地运营,以便我们避免气候灾难。
如果Apache基金会确定此类用途不属于 其任务所设想的资源公共利益,并决定将其许可编入法规,则公司将不得不转向其他方法,也许是昂贵的专有解决方案。拖累损害我们未来发展的公司的底线将是一件好事。
这是一个新主意
综上所述,《正义世界许可证》是一个新主意。我们认为这很有帮助,我们欢迎您提出反馈或提出要求,以使其变得更好。