使Web应用程序开源

时间:2011-01-24 12:27:12

标签: php jquery git open-source licensing

我在Web应用程序上工作了很长时间,使用jQuery在PHP / MySQL中开发了某种CMS和Intranet门户。
目前,存储库在SVN下,但我想我会在公开之前在GIT上迁移。我想知道你们中的一些人是否可能知道什么是最好的方法,或者只是给出一些建议,或者分享关于公开网络应用程序的事实的一些链接,并试图吸引开发人员参与项目。

我不知道我将使用哪个许可证(GPL,MIT?),也不知道我希望它托管的平台(Sourceforge,Github,Google代码)。对此的任何建议都会很棒。

感谢您的帮助。

2 个答案:

答案 0 :(得分:4)

我对Google Code有很好的使用经验。它速度快,没​​有技术问题,在线界面非常干净,易于使用(与SourceForge不同)。

我建议使用GPL或AGPL许可证。

AGPL是Affero GPL。它与GPL几乎相同,除了公开使用修改版本的任何人必须提供其源代码。例如,如果某个公司仅对其自己的网站/项目对代码进行了大量修改,那么如果您仅使用GPL,则不会强制它发布更改的源代码。但是根据AGPL,公司必须发布代码,即使它没有分发应用程序,但只在自己的服务器上使用它 - 为公共代码库做贡献。这可能会阻止一些潜在的用户进入企业部门,所以你必须权衡它的优缺点!

编辑:仅仅是为了灵感,有使用AGPL的项目列表:http://en.wikipedia.org/wiki/List_of_AGPL_web_applications

编辑2:对David Dorward对此问题的评论作出反应。

您可能希望选择开放许可证的原因有两个。

1)政治。你想要开放,因为开放是道德上正确的方式。您应该选择AGPL甚至MIT许可证。

2)实用。您需要关注和使用您的项目的人。开源项目更容易引起类似的闭源(甚至商业)项目的关注。如果您的项目看起来很有前景,那么您可能会获得积极参与代码库的人员 - 免费。此外,分发免费的PHP闭源应用程序有点复杂(虽然并非完全不可能)。 GPL是要走的路。

编辑3:我推荐这本免费书:Producing Open Source Software

答案 1 :(得分:1)

麻省理工学院的许可意味着开发人员可以使用您的代码并完成他们想要的任务,并且没有义务为他们重用的代码提供信用。因此,您可能需要更严格的许可证。 GNU GPL通常运行良好。

至于托管平台,我会推荐GitHub。从我所看到的,它具有最大的潜力,可以让开发人员做出贡献,这要归功于它用于分支项目和将更改提交回源的简单工具。