我正在为我目前工作的公司开发一个Java应用程序。我想对源代码保密,但我需要知道如何集成应用程序中涉及的外部库(不知道如何许可它)。
我正在使用这些库:
- Xerial SQLiteJDBC(Apache许可证2.0版)
- iTextPDF(AGPL)
- JFreeChart(LGPL)
附言:该应用程序只能在一台计算机上使用,不会被分发。非常感谢。
阅读许可证并遵守其条款。
唯一棘手的是AGPL。假设你在美国,你可能应该得到一份法律意见书,说明你对该图书馆的使用只是普通用途,因此不需要任何许可。在美国,如果你合法获得作品,你不必仅仅为了以普通的、预期的方式使用该作品而获得或遵守许可证。AGPL不是EULA。
例如,假设你买了一本书,书中有一个许可证,上面写着:"为了换取阅读这本书的权利,你必须每年至少冲浪一次。不遵守这个许可证,你就失去了阅读这本书籍的权利"。你可以简单地拒绝许可,你仍然有权阅读这本书,因为美国版权法没有赋予版权持有人使用作品的专属权利。因此,您不需要许可证提供的任何权利,因为您已经拥有这些权利。
参见17 USC 106,其中列出了版权持有人根据美国法律享有的独家权利。IANAL,所以你应该找一位律师给你一份可以合法依赖的书面意见。