C# 销售使用GPL许可代码的应用程序

C# 销售使用GPL许可代码的应用程序,c#,gpl,C#,Gpl,我目前正在C#中从事一个项目,其中包含GPL许可的类库 这是否意味着我必须让每个人都可以使用我自己编写的源代码 如果是:GPL许可证允许人们销售应用程序 这是否意味着,当我试图为我的作品赚几美元(我知道这是伪君子:)时,其他人也可以以更低的价格出售它(因为他们不需要做任何工作) 有没有什么方法可以分发GPL代码而不必分发我自己的代码 这是否意味着我必须让每个人都可以使用我自己编写的源代码 对。如果您的代码是根据GPL代码编译的——即使GPL代码在单独的库中(例如Windows中的DLL)——那么

我目前正在C#中从事一个项目,其中包含GPL许可的
类库

这是否意味着我必须让每个人都可以使用我自己编写的源代码

如果是:GPL许可证允许人们销售应用程序

这是否意味着,当我试图为我的作品赚几美元(我知道这是伪君子:)时,其他人也可以以更低的价格出售它(因为他们不需要做任何工作)

有没有什么方法可以分发GPL代码而不必分发我自己的代码

这是否意味着我必须让每个人都可以使用我自己编写的源代码

对。如果您的代码是根据GPL代码编译的——即使GPL代码在单独的库中(例如Windows中的DLL)——那么您的代码也大部分是GPL代码

这是不是意味着当我想为我的工作挣点钱的时候。。。其他人也可以以更低的价格出售

是的

大多数人似乎是通过销售支持、培训和/或咨询来解决这一问题的。一些公司对购买没有支持的软件持谨慎态度(只需观察有多少公司使用Windows而不是Linux),并且愿意支付更高的价格让你支持他们购买的产品。至于培训和咨询,很显然,如果你写了一个软件,你就是它的专家。在这两种情况下,你都可以提供一些东西,而这些东西可能是那些仅仅以更低的价格转售你的软件的人所无法提供的


如果你的应用程序不能从支持、培训或咨询中受益匪浅(许多应用程序确实属于这一类——在我看来,这一直是GPL的一大弱点),那么你要么就必须找到非GPL的应用程序作为基础,要么就必须处理一些人(合法地)会这样做的事实从朋友那里获取软件,而不是从网站上购买。

据我所知,没有一个-如果库是DLL/SO,并且许可证是LGPL,那么这是可能的。。。但作为类库的GPL(哪个版本?)意味着您的源代码必须在此场景中可用/发布。。。这就是我在开发任何远程商业产品时从不接触GPL的原因之一。在这种情况下,“赚几块钱”的唯一方法是不依赖于销售产品,而是销售与该产品相关的“服务”(如安装、支持、定制/集成等)。另请参见programmers.stackexchange.com中的讨论。因为它不是关于代码(记住溢出习语),而是关于一些法律。如果我有一个GPL许可的应用程序生成一个文件呢。我可以制作一个使用此文件的封闭源代码应用程序吗?PeeHaa,如果你有一个单独的应用程序是gpl并生成一个文件,但该应用程序和文件仅由你的专有应用程序使用,那么它是不允许的。像对待瘟疫一样对待GPL,如果你是一个专有的应用程序开发人员(像我一样),请远离。如果你要求用户自己安装一个通用GPL应用程序(例如GhostScript),然后你的应用程序使用已经安装的,我想你会很好。如果您想将GPL应用程序作为应用程序安装程序的一部分,则有一些限制;你必须非常仔细地阅读GPL,看看什么适用于你的情况。