开源项目签约二进制(Signing binaries of open-source projects

2019-07-30 14:50发布

我试图用ServiceStack在我目前的项目,但发现公布的二进制文件不强命名,所以我不能用它的开箱。 当在GitHub上问“为什么”,我得到了如下回答:

这是病毒的毒性和阻碍绑定,升级,开发,部署,等等。

mythz是非常简洁的,所以我不想打扰他越来越要求在这里。 我用了很多像AutoMapper,NUnit的,起订量,log4net的,Ninject等,其释放的开源.NET项目都强命名。 发现了类似的问题在这里,就这样,不过这并不能帮助我。 它是在OSS通常的做法? 为什么不放开符号和无符号二进制文件?

Answer 1:

这也是为什么强命名为开源项目是一个坏主意的原因上现有的讨论:

https://groups.google.com/forum/?fromgroups#!topic/getglimpse-dev/pXXazMOOdjE

下面是使用它的噩梦故事:

http://haacked.com/archive/2012/02/16/changing-a-strong-name-is-a-major-breaking-change.aspx

我个人一直在已经通过2代log4net的的那些试图使用组件引用log4net的2个不同的强命名的版本在同一项目中遭遇2队 - 浪费了大量的时间和精力,努力使这项工作不好玩,也不是我们计划受到自己或授权我们的所有用户都太的东西。

希望强命名版本的用户可以自由地签署自己的克隆/叉公共ServiceStack回购 。

如果有它的需求,我们会考虑维护我们自己的“正式烧焦”我们的商业库的版本。



Answer 2:

我认为这是给开发者。 优点是明确的 - 任何人都可以装配具有很强的名称,并在任何环境中使用它。 在这种特殊情况下,我从符号或无符号组装的意思。 缺点 - ?

我认为它应该是一个有点绅士规则签署的二进制文件

乔恩斯基特回答了类似的问题 ,他的意见是相当undestandable。



文章来源: Signing binaries of open-source projects