【问题标题】:Guide on writing my first open source software? [closed]编写我的第一个开源软件的指南? [关闭]
【发布时间】:2010-06-11 20:35:13
【问题描述】:

自 2009 年 8 月以来,我一直致力于项目,但后来决定将其作为开源项目发布。该项目的目的是为现有的商业和昂贵的解决方案提供替代方案。

所以我的问题是,我该如何开始?原型从 5 月就已经准备好,现在正在用 Java 重写。我需要追求哪种许可证类型? LGPL?麻省理工学院?

谢谢,

约翰。

【问题讨论】:

  • “我需要追求哪种许可证类型?”取决于你的目标是什么。由于您没有提供任何有用的信息,我们所能做的就是抛硬币。从长远来看,您希望完成什么?
  • 如果您没有项目的商业模式,那么使用 Apache Software License 2.0 等许可许可可能会吸引更多用户。但请提供更多信息。
  • 我的长期目标是构建一个强大的开源软件来与现有的专有软件解决方案竞争。
  • @Timo 我可能会销售定制版本、模块或服务。我想控制品牌、版权等。

标签: open-source licensing project


【解决方案1】:

弄清楚你希望人们能用它做什么。 您是否希望人们能够将它用于任何事情,包括商业用途,或者您是否希望它被锁定为开源疯狂的 GNU 东西? 这份清单应该是一个好的开始。 http://www.opensource.org/licenses/category

接下来,选择一个地方来托管该项目。谷歌代码是一个很棒的代码,我相信他们需要你的项目是一个特定的许可证。这样您就可以做出决定了。

您可能要考虑的另一件事是源代码控制。如果你喜欢 SVN、Git 或其他重要的东西。 GitHub 是 git 项目的好地方,几乎所有的主机都会支持 svn。

【讨论】:

  • Google 代码和 SourceForge 是我唯一的选择吗?是否可以在我自己的网站上托管和维护它?
  • 当然您可以自己托管它,但是您会失去一些社区方面的内容——您是沙皇,其他人不太可能做出贡献。那是你的选择。在这种情况下,Github 是您可能想要采用的另一种选择...
  • 我如何让其他人为这个项目做出贡献?例如,如果有人在某个领域专门使用它(无论是否商业化),并希望将此改进添加到原始项目中。您将如何处理允许哪些提交和拒绝哪些提交?
  • 我相信 google code 和 source forge 有设置它的方法,以便您可以在将更改提交到源代码管理之前查看更改。
【解决方案2】:

有许多开源许可证,但我推荐的是 BSD 风格或 GPL。你必须决定你喜欢哪个。人们是否应该能够将您所做的事情打包成专有软件并出售,而不必归还他们的更改?由你决定。 BSD 类型的许可证可能会为您带来更多的用户,而 GPL 类型的许可证可能会为您带来更多的开发帮助。

如果您正在考虑使用开源许可和商业许可的双重许可,那么您几乎肯定希望使用 GPL 来获得开源许可,因为 BSD 风格不会让您拥有足够的额外销售权.

除非您明确放弃,否则您对您所做的所有非出租行为均享有版权。如果您开始从其他人那里获得帮助,您需要决定该怎么做。您可以要求将版权转让给您,这将保留您完全的版权控制权,但会以不鼓励外部开发人员为代价。您可以为您的软件注册商标,以保留品牌,这与谁拥有什么版权无关。我建议与律师讨论这一点,因为商标法不像版权法那样干净,并且可能因州而异。如果您居住在美国,您可能可以从当地律师协会获得律师推荐,而且初步咨询费用不高。

正如 Jonathan 所说,请查看 OSI 以获取有关可能的许可证的信息。从那里选一个。与您可能编写的许可证不同(除非您知道自己在做什么),它们或多或少都会起作用。某些站点,例如 Sourceforge,不允许未获得 OSI 批准的许可证的项目,因此您将获得更多使用 OSI 许可证的选项。此外,很多人已经熟悉标准许可证,您无需向他们解释您的许可证。

【讨论】:

    【解决方案3】:

    您可以使用任何主要的开源许可证 - 这将取决于您希望从项目中获得什么。

    • GPL
    • 伯克利(减去广告条款)
    • 麻省理工学院
    • 阿帕奇

    除非你写的是一个库,否则你可能不会使用 LGPL。

    Open Source Initiative 获取有关可能的开源许可证的信息。不要试图自己发明。

    【讨论】:

      【解决方案4】:

      如果您想保护软件,您可以使用以下软件之一

      • GPL
      • LGPL

      但在许多情况下,更宽松的许可证会吸引更多用户。

      • 麻省理工学院
      • 阿帕奇

      相当宽容。

      如果您想进行双重许可,请考虑使用 GPL 和商业许可。

      在您选择许可证之前,您必须自己回答:

      • 我要分叉吗?
      • 我想将我的软件用于商业用途吗?
      • 我希望我的软件包含在商业软件中吗?
      • 我想对分叉强制执行任何许可吗?

      从这里选择一个已经建立的许可证:http://www.opensource.org/licenses/category

      【讨论】:

      • 是的,我希望人们将它用于商业用途。我不希望看到这个项目被合并到商业仿冒版本中。什么是分叉?
      • 分叉是您项目的副本,由其他人继续。您可以通过许可证选择来鼓励和阻止分叉。而且您可以通过许可限制在分叉中可以做什么。
      • 您的软件是独立的还是总是嵌入到其他软件中?我建议您阅读许可证文本。我会从 GPL、LPGL 和 Apache 开始。
      【解决方案5】:

      如果你想设置你的项目然后看看GNU Hello,我认为这是一个很好的模板来开始设置一个开源项目和重新升级许可证它取决于你想要从项目中得到什么,正如其他人已经解释的那样.

      【讨论】:

        【解决方案6】:

        TL;DR Legal 允许您查找开源软件许可证,并以简明的英文总结您可以使用该软件做什么、不能做什么和必须做什么。它还允许您查看组合两个许可证的影响,尽管该选项被误导性地称为“比较许可证”。

        【讨论】:

          猜你喜欢
          • 2011-02-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-07-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多