2010-06-19 44 views
8

我有一个我写的程序,我一直鼓励人们将它公开发布。关于将代码发布到野外

什么是最好的方式去呢?只需将它转储到公共场所,并希望获得最好的?

会有多少批评(标准,决策等)以及如何为此做好准备。大约两年来,我一直是这个应用程序的唯一开发人员。

许可证(GPL,MIT等)实际上有多少差异?

任何经验?

+2

我投票结束这个问题,因为**是关于授权或法律问题**,而不是编程或软件开发。 [见这里](http://meta.stackoverflow.com/a/274964/1402846)了解更多信息,以及[帮助/话题]。 – 2015-06-15 23:21:12

回答

2

使用众所周知的经过良好测试的open-source license将使您的用户更容易知道他们在代码中的位置。你可以做的最糟糕的事情是无需许可证即可释放你的代码。没有许可证意味着没有用处,因为在大多数司法管辖区,软件自动受版权保护,没有使用权或重用权。

如果您不希望项目因缺乏兴趣而枯萎,您需要将其置于开发人员面前。在大型开源项目站点(例如SourceForge,GitHub或)上发布它将帮助您获得该可见性,并将为管理项目提供大量基础架构。你做得越多,其他人找到它的机会就越好,尝试它并使用它。

+0

+1用于推荐许可证创新。而困难的部分是建立社区来维持软件;我不认为自己擅长这一点,但它似乎至少部分是营销活动。 – 2010-06-19 12:17:37

4

许可证是一个好主意,即使你不关心人们如何处理代码 - 大多数情况下人们会乐于采用“原样”代码,如果它没有做到他们想要的,他们会把它扔掉 - 但你永远不知道什么时候一个白痴会试图起诉你,因为他们在阅读你的代码时烧了一口喝着热咖啡。你也可能希望限制别人从你的辛苦工作中获利的用法(派生工程等)。在围栏的另一边,可能会拿取和使用您的产品/代码的人想知道他们在使用/复制/分发方面的立场。通过询问你的姓名保留在代码中,你也可以确保你获得vcredit的工作,并且任何在野外发生的改进/建议都可以让你回到你的身边。

如果你只是想放弃代码而没有多少进行中的开发,那么一个好地方是CodeProject - 你可以发布应用程序并写一篇描述它的小文章,然后由你来决定是否/何时将发布更新。

如果你想要其他人进行协作,那么有很多开源网站会支持这种方法。

至于批评,您可能会从需要技术支持的人员或希望提供额外功能的人那里收到几封邮件。尽管大多数人都很有礼貌。如果你为自己编写程序,很有可能当它进入荒野时,你会发现必须以特定方式使用的所有位才能正常工作,并且你不关心的所有其他选项但是产品需要使其适用于更广泛的受众 - 如果您不小心,可能会陷入大量支持工作。如果他们要求你不想支持的东西,最终不要害怕对别人说“不”,这毕竟是你的程序和你的时间。

最主要的是有乐趣:-)

0

CodeProject上是一个不错的suggestion-但它确实取决于平台。通常,每个主要开发平台的用户都会涌入其他站点以获取其开放源代码扩展或应用程序。例如,Microsoft堆栈中的许多开发人员会在Visual Studio库或CodePlex中查找相关内容。 SourgeForge显然也有自己的宗教追随者。我会建议您在网站上推广您的新应用,以便找到类似的内容。无论您使用哪个公共网站托管它,Google页面的排名也会影响到有多少人能够找到它,最终还会影响您对该项目获得多少批评(建设性或其他)。许可证总是一个很好的计划。根据我的经验,每个主要的开源协作站点都倾向于学习特定的许可机制,所以如果您没有任何特定的要求,我只会做一些看起来最受欢迎的协议。