关闭。这个问题需要更多 focused .它目前不接受答案。
想改进这个问题?更新问题,使其仅关注一个问题 editing this post .
6年前关闭。
Improve this question
我是一名程序员,开始构建小型商业应用程序(用于手机(java、android)、网页和在 Visual Studio 中构建的 c++ 应用程序)。
现在的问题是我不明白许可是如何工作的。从我所看到的情况来看,我不允许使用任何库,甚至是 java 的基本库,因为它们要么在 GPL 之下,要么在其他东西之下。
例如,我是否有义务向 Sun 付费以使用他们的 java 库来构建我的应用程序?或者当需要发布我的代码时如何编写移动应用程序。大公司如何解决这个问题?
我不明白的另一件事是,我可以免费使用哪些特定于 Windows 的库和 API(如 MFC、.NET、COM)。这些许可证如何工作?如果我刚买了 Visual Studio 套装就足以让我使用这个 api 了吗?我的情况是我学会了使用这个库/apis/frameworks,现在是时候实际使用它们来做一些我必须为它们付费的事情了。
如果这是真的,那是否意味着不花数千美元在其他事情上就不可能构建商业应用程序?
最佳答案
以下是一些情况以及如何处理它们:
这是您应该非常清楚您从哪里复制代码以及发布代码的地方。大多数情况下,您将不允许复制它。在几乎所有其他情况下,您都需要将原始版权声明放入代码中。在某些情况下(GPL),您有义务随产品的任何公开发行版一起发布源代码。在某些情况下,您可以购买二进制形式的再分发权许可证。在所有情况下,最好添加注释,标记代码的来源。
如果您为 Android 或 Windows 编译应用程序,您将不可避免地使用它们的 API 和库。只要这些属于该平台,您就不需要将这些库与您的应用程序一起提供。所以你只需要关心你是否被允许在你的应用程序中使用它们(链接到它们)。对于操作系统和语言库,通常是这种情况。
同样,您需要确切地知道自己在做什么,因为存在很大差异。这个领域相当复杂......一些开发环境和框架包括“可再发行”包,这些包旨在包含在您的应用程序中。但它们也附带许可条款,值得阅读和理解其中的含义。
经验法则 :如果您在文档中给予适当的信任,BSD 风格的许可证就可以了。除非您愿意随产品一起发布整个源代码,否则 GPL 几乎总是不适合商业应用程序。
免责声明:IANAL
关于java - 框架/库/api的许可模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7049634/