这可能是一个愚蠢的问题,但我只是想确保......
如果我将IDE生成的代码(在本例中为Visual Studio)合并到我的软件中,我可以将自己的许可证应用于该代码,还是受其自己的许可证约束?
答案 0 :(得分:3)
我不是律师,但我相信生成的代码与基于您输入的任何其他程序的输出基本相同。在这种情况下,通常认为输出由应用程序的用户(您)拥有,而不是应用程序的开发人员。
The GPL FAQ covers a similar topic:
我有什么方法可以GPL了 输出人们从使用我的 程序?例如,如果我的程序是 用于开发硬件设计,可以 我要求这些设计必须 自由吗
一般来说,这在法律上是不可能的; 版权法不给你任何 说在输出人的使用 使用你的数据从他们的数据 程序。如果用户使用您的程序 输入或转换自己的数据, 输出的版权属于 他,不是你。更一般地说,当一个 程序将其输入转换为一些 其他形式,版权状态 输出继承了输入的输出 它来自。
所以你唯一有发言权的方式 使用输出是否实质性 复制部分输出(更多 或者更少)来自程序中的文本。 例如,部分输出 野牛(见上文)将被覆盖 GNU GPL,如果我们还没有 在这种特殊情况下例外。
你可以人为制作节目 甚至将某些文本复制到其输出中 如果没有技术理由可以做 所以。但如果复制的文本没有用 实用的目的,用户可以 只需从中删除该文本 输出并仅使用其余部分。然后他 不必遵守这些条件 重新分配复制文本。
答案 1 :(得分:3)
在一般情况下,您应该仔细阅读向导/代码生成器附带的许可证。
在绝大多数情况下,向导(或编译器或预处理器等)生成的代码是与生成器本身完全分离的实体,并且不对其应用任何限制。
但是,有些情况下,可以在生成的代码中插入受版权保护的代码,例如作为一组函数来支持生成的代码。
同样在这种情况下,大多数代码生成器声明该片段代码是以非常自由的条件获得许可的。试图限制代码修改和重新分配或强加运行时版税已经证明自己是一个非常糟糕的商业模式。我已经看到它被大型机上的旧程序生成器使用了,但从那以后就不多了。
因此,在99.9%的情况下,您可以使用生成的代码执行任何操作,只需阅读细则以覆盖剩余的0.1%
答案 2 :(得分:2)
VS生成的代码基于您的输入,因此实际上您只是从较高级语言(数据集设计器或表单设计器)“编译”到较低级别的语言C#或VB。我认为这与基于源代码生成机器代码或IL的编译器不同。