封闭源Java应用程序

时间:2010-06-07 03:53:59

标签: java

我正在学习编程课程,我们一直在讨论开源问题,并对混淆问题进行了一些争论。仅仅因为Java是开源的,开发应用程序的许可始于开发人员,对吗?有人因为“Java是开源”而争论使用完整程序中的代码。如果我编写Java应用程序,我可以如何分发它或其他人如何使用它有什么限制?这里假设我不希望有人访问我的来源。

由于

6 个答案:

答案 0 :(得分:7)

OpenJDK使用GPLv2 with classpath exception

如果您修改JDK本身并分发二进制版本,则必须提供其修改后的源并以相同的术语分发它,但这不适用于您自己编写的Java应用程序。您可以根据自己的意愿自由分发它们。

但是,我不是律师。您可能想要查看一个。

另见http://www.sun.com/software/opensource/java/faq.jsp#g

答案 1 :(得分:3)

不,编程语言本身与程序许可完全无关。 普通的Java程序不捆绑标准运行时,只捆绑程序员编写的编译类文件。 如果您发布了.doc Word文档,则无需使用Microsoft Word。

答案 2 :(得分:0)

编写Java应用程序时,您可以根据需要随意许可应用程序。您不需要分发源代码。 Sun的开源许可证适用于JDK本身,而不是您使用Java语言编写的Java应用程序。

请参阅FAQ,特别是许可和类路径异常信息。

答案 3 :(得分:0)

除了使用正确的许可证之外,您可能希望在发布产品之前在编译时对代码进行模糊处理。否则它将(至少在很大程度上)在反编译器的帮助下可访问。这当然不会使它成为“开源”,但它很容易复制。

答案 4 :(得分:0)

人们一直关闭源Java程序。但问题是保护您的代码。

要阻止大多数人(并让其他人感到无聊并继续前进),请执行Lauri所说的内容并隐瞒您的代码。不要只使用类文件隐藏,使用源代码隐藏。有一些程序可以做到这一点。请注意,如果有人关心并有时间,就不可能阻止某人对Java代码进行逆向工程。

答案 5 :(得分:0)

@ Lord.Quackstar

感谢。我理解混淆,如果我想分发封闭的源代码,我会使用它。正如我在另一个回复中提到的,这个调查更多的是关于有人争论能够使用其他人的代码,因为“Java是开源的”,即使该特定代码未发布且不适合开源使用。