我为一个商业图书馆创建了一个c ++包装器,政府组织(NIST)以200美元的价格在线销售。在他们的软件中,它们包括一个Windows 32 dll,Excel包装器和一些其他窗口程序包装器,一个使用它们的dll的GUI程序,以及Fortran源代码。我在Linux上工作,所以我重新编译了源代码并将其链接到我的包装器函数,并包含了一些我自己的单元转换函数。 Fortran源代码根本没有代码中的许可信息。我想做的是将我的包装器及其源代码作为GPL项目发布,以便工程师可以使用该库的非Windows版本。我可以问NIST但是,从过去与政府打交道,他们总是说不,即使答案是肯定的。我知道有些人知道NIST的一些人可以找到,但除非我知道我有机会,否则我不想做任何波动。
就我个人而言,我认为只是因为没有对某些东西进行许可并不意味着它是开源的这一事实,或者它是否真的可以做到这一点?
答案 0 :(得分:2)
仅仅因为某些东西没有明确的许可证并没有使它成为开源 - 事实上,假设是相反的,如果你没有版权所有者的许可,你就不能使用代码。例如,我公司的内部应用程序在源代码中没有许可信息,因为我们不在外部分发任何信息。如果你以某种方式遇到我们的源代码控制存储库的转储,你不能只是假设它在公共域中而开始使用代码。
很难说为什么他们会在没有告诉你用它做什么的情况下为你提供Fortran源码。据推测,这是在某处拼写出来的。也许你可以链接到图书馆?
关于发布你的库的问题 - 如果我错了,请纠正我,但听起来你正在使用NIST Fortran源来推导它,然后你想在GPL下发布衍生作品?你不能这样做,因为你没有权限首先使用源代码,更不用说重新许可它了。
答案 1 :(得分:1)
该作品受版权保护或属于公共领域。这项工作可能在技术上属于公共领域,因为政府生产的大部分内容都属于公共领域。
有一种简单的方法可以找到:问他们“谁持有这个软件的版权?”如果他们没有回答,请提交信息自由法案请求以发现版权所有者。
如果它在公共领域,你可以随心所欲地做任何事情,如果有人拥有版权,你需要请求他们允许用它做任何事情。