今年我们惹了一大堆麻烦:糟糕的情形就是我们通过免费的LibreDWG CAD软件来支持DWG文件。我们觉得,现在它应该被关闭。我们是从FSF中获取的最终的答案。
在今年的一月LGW选择了一个关于LibreDWG的远期目标,为LibreCAD,FreeCAD,Open Asset Import Library 和 Blender这些软件提供DWG支持。
关键的问题是:为什么没有任何终端用户在LibreDWG中使用存在着的代码去获得对DWG文件的支持呢?
原因是,这些代码在LibreDWG之间是不兼容的,一些是遵循GPLv3+协议的,而一些第三方项目的代码是严格遵循GPLv2许可的或者于此关联。
我们同所有有关各方都取得了联系——LibreDWG的开发者,之前提到过的第三方最终用户软件的维护者,还有FSF的一个兼容许可工程师.
最终,由于没有任何进展,四月份就有一个LibreDWG的开发者私人联系了 Richard Stallman (还有包括我在内 CCed 的几个人). 花了相当多的口舌 (3 个月啊) 才让他说清楚,结果就是:
我们不会改变许可。
那么,这是什么意思呢?这是不是就是DWG支持在自由软件中的结束呢? LibreDWG 实际还有救么? 还有LGW为什么这么久了才向业界发布一次更新? 好吧,让我们从头说起好了.
本质上来说,问题事关GPLv2 和 GPLv3+之间的不兼容. LibreDWG 许可用的是 GPLv3+, 而所有的版权都属于自由软件基金会. 实际的开发者在法律上并没有话语权 .
GPL 明确声明 上的 FAQ:
GPLv3 同 GPLv2 兼容么?
不兼容. GPLv3中的一些要求, 比如要求提供安装信息,在 GPLv2 中并不存在. 因此,许可是不兼容的: 如果你硬是要在两份协议下进行代码发布, 你就会违背GPLv2的第六条.
不过,如果代码是在GPL”版本2或者之后的版本“下发布的,就能兼容 GPLv3 ,因为这时候 GPLv3 就是其中一个被动允许的选择了.
对与FreeCAD来说,问题在于Coin3D库和 Open CASCADE 库。前者过去只使用GPLv2,并在2011年12月份将许可证修改为了和GPL兼容的BSD 3。
但是,Open CASCADE 项目现在使用的是它自己的 Open CASCADE Technology Public License ,但是该许可证不兼容GPL。在2009年的时候,Debian 团队就这个问题专门联系了他们。在2011年后期,他们公开声明他们正在考虑将OCCT(该库)改为双许可证。但是,在2012年二月份他们声明要推迟这一举动。据Andrey Betenev说,直到2012年十二月份,在控制着Open CASCADE 资产的公司中一直未停息对它的讨论。
对于LibreCAD来说,涉及到法律的问题是继承子Ribbonsoft的只用GPLv2 授权的代码,Ribbonsoft创建了最初的QCad 的社区版的产品。该公司拒绝了修改代码许可证的要求,甚至要求立即从LibreCAD中去掉文档和字体之类的其他内容。
所以,在FSF在matter上作出最后的声明(同样不是公开的)之前,我们面临这一个尴尬的境地,LibreCAD对软件用户变得好使的同时,也面临着潜在的法律问题。
在看到free CAD 软件的开发者不能使用LibreDWG之后,该库的开发者最终失去了他们在这个项目上的工作动力,并不再涉入。这并不会使这个情况有所好转。
就DWG在自由软件方面的支持来说,并不怎么样。GRASS 还是目前唯一一个使用LibreDWG库的项目。FreeCAD团队正准备发布v0.13,LibreCAD正在忙于即将到来的v2.0,Open Asset Import Library 和Blender是兼容的,但是没有志愿者来支持DWG文件了。
同时,在今年早些时候Open Design Alliance发布了他们的DWG标准 v5.2。该标准在解码ACIS二进制数据方面(这是DWG对于FreeCAD最重要的一部分)做出了限定。
实际上,LibreDWG的开发目前处于停滞状态。master分支上的最新修改提交于2011年的一月份,r2007分支上的最新修改提交于2012年的2月份
我们怎么才能解决这个问题呢?实际情况是:我们也许无能为力。
你不能强制要求Open CASCADE的管理者将许可证切换到LGPL:他们只有在他们感到乐意并有律师的绿灯的时候才会这样做。了解了Ribbonsoft的发展轨迹之后就会知道,你让他们修改QCad社区版中的代码许可证的概率几乎为0。
如果不修改许可证的话,有没有其他可以替代的技术?如插件?答案是不太可能。
举例来说,根据LibreCAD团队所说,目前只有两种方式让LibreDWG作为LibreCAD插件的方式合法的使用:
重写LibreCAD中所有的只使用GPLv2的类。
创建一堆的代理项目来解决许可证不兼容的问题。
结合LibreCAD目前的开发状态,这两种方式看起来都不现实,坦白讲,就长期的策略来看,方法2根本不用考虑。
更新:据一位LibreDWG的开发者来说,方法2并不合法。
最后,当你解决完法律相关的问题,你还需要面对LibreDWG现在已经无人维护并且甚至都没有一个发布版的压缩包这样一个事实。它看上去并没有任何后续的开发,针对R2007文件格式的代码还待在分支里面,并且没有对R2010文件格式做任何工作的迹象。
但是,等等,LibreDWG不是自由软件基金会(FSF)中具有高优先权的项目吗?不幸的是,目前的情况是,寄希望于FSF领导该项目已经被证明是不可能的了。
Richard Stallman 甚至都没有意识到这个他们的一个“高优先级”的项目已经长期面临的问题。并且在他了解到该问题之后,他都没有采取任何的行动:没有宣传活动,没有直接接触我们所知道当事人。
在2012年6月份的时候,我和Richard就LibreDWG进行了一次私人的交谈。我特意问了他,FSF是否计划采取一些行动,以确保LibreDWG的工作没有被自由用户软件闲置。
在过了6个月(在必要时,我可以很有耐心的)以及几次催促之后,Richard还是没有提供任何答复。显然,这个问题都不值得有一个答案。
你可以在那方面自由的做出你的结论。我保留自己的意见。
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。 2KB翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务