【问题标题】:Java licensing for commercial distribution [closed]用于商业发行的 Java 许可 [关闭]
【发布时间】:2010-11-13 06:00:21
【问题描述】:

我正在考虑使用 Java 编写一个程序,我可能有一天会尝试出售。我是 Java 新手,所以我不得不问,我需要哪些类型的工具/软件/等(从开发到分发,再到用户机器上的用户友好型安装),这些工具/软件/等具有必须考虑确保的许可证他们允许销售和封闭源代码等?

我们是否应该假设用户已经运行了至少一个 Java 应用程序,因此在他们的机器上安装了相当新的 Java 版本?

另外,对于绝对适合此目的的特定工具,您有什么建议吗?

【问题讨论】:

    标签: java licensing distribution software-distribution


    【解决方案1】:

    很少有开发工具会限制您使用使用它们创建的软件的方式。唯一的例外是库,这对于标准 Java 库来说不是问题。工具、IDE 等——无论它们是否免费——都不会影响您如何分发代码。

    有一些奇怪的例外,比如 BitKeeper 源代码控制软件,其许可证禁止任何使用它的人尝试创建可以与 BitKeeper 竞争的软件 - 这就是为什么我建议远离这个东西,并且背后的公司,尽可能。最后,如果您想在法律上绝对清楚,您将不得不聘请律师并让他为您将在开发过程中使用的所有软件检查许可证和 EULA,因为这样的事情。

    一些具体的数据点:Java 本身没问题(编译器和库都可以); Ant 和 Maven 都可以; Eclipse 和 NetBeans 都可以。

    【讨论】:

    • 这似乎正是我所要求的。谢谢!
    • 我很确定 BitKeeper 令人讨厌的一点是,他们的许可协议要求用户同意永远、永远不会以任何方式创建与 BitKeeper 竞争的产品,无论他们是否将 BitKeeper 用于发展过程与否。也许自从我上次阅读该主题以来,他们已经改变了它......
    【解决方案2】:

    对于开发,您可能需要一个 IDE。首选是:

    • Eclipse(大部分功能)
    • IntelliJ(非免费)
    • Netbeans(最容易学习,imo)
    • 其他一些知名度低得多的人

    对于免费安装程序,我在 IzPack 方面获得了最好的体验,但还有其他可用的。同样,要转换为 .exe 以便于启动,我推荐 Launch4J。

    我认为假设用户安装了 Java 并不安全。许多会,但版本会有很大差异,而少数不会导致问题的版本。显然,这可能因您的目标受众(以及您对他们的控制程度)而异。

    【讨论】:

      【解决方案3】:

      对于跨平台分发,您可能需要查看 launch4j:http://launch4j.sourceforge.net/

      此外,您可能还想混淆和优化您的代码,为此您可以使用 ProGuard:http://proguard.sourceforge.net/

      对于您的开发,请使用任何可用的开源工具,例如 eclipse 或 netbeans,甚至是带有 jdee 的 emacs。

      您不应假设用户拥有 Java,应将 Java 版本与您的应用程序打包在一起。

      对于安装,您可能想搜索一些开源解决方案,我知道的唯一一个是 install4j,它是商业的。 http://www.ej-technologies.com/products/install4j/features.html

      【讨论】:

      • 我可以将Java打包到“install.exe”吗?
      • 您应该将 Java 的安装作为安装过程的一部分。这并不意味着实际的 Java 运行时应该在您的 install.exe 中,只能从那里启动。从您的安装程序启动 Java 安装程序可能是最简单的。您应该检查用户是否安装了 Java,如果他们确实检查了版本,那么如果您的打包版本比他们拥有的版本旧,您就不会意外降级他们。
      【解决方案4】:

      这是一个很难回答的问题,因为用户的需求和偏好各不相同。

      但我会告诉你一个切入点。使用 ECLIPSE 作为您的 IDE 来开发您的 Java 代码。它是一个开源的,所以你不需要任何许可证。当您处理项目时,您将需要各种其他工具来完成各种工作。幸运的是,大多数基本功能都是作为 eclipse 的插件实现的。您可以单独将它们添加到 eclipse 中。

      随着时间的推移,您将获得经验,并且您将拥有足够的知识来切换到必要的工具等

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-06
        • 1970-01-01
        • 2012-06-26
        • 1970-01-01
        相关资源
        最近更新 更多