Open source 即将向野外发布代码

Open source 即将向野外发布代码,open-source,project-management,licensing,Open Source,Project Management,Licensing,我有一个自己编写的程序,人们鼓励我把它发布到公众面前 最好的办法是什么?把它扔到一个公共网站上,希望一切顺利 会有多少批评(对标准、做出的决定等)以及如何做好准备。我已经是这个应用程序的唯一开发者大约两年了 许可证(GPL、MIT等)实际上有多大区别 有什么经验吗?许可证是个好主意,即使你不在乎人们如何处理代码——大多数时候,人们都会乐意接受“原样”的代码如果它不能达到他们想要的效果,他们会把它扔掉——但你永远不知道什么时候一些白痴会试图起诉你,因为他们在阅读你的代码时喝热咖啡烧焦了嘴。你也可能

我有一个自己编写的程序,人们鼓励我把它发布到公众面前

最好的办法是什么?把它扔到一个公共网站上,希望一切顺利

会有多少批评(对标准、做出的决定等)以及如何做好准备。我已经是这个应用程序的唯一开发者大约两年了

许可证(GPL、MIT等)实际上有多大区别


有什么经验吗?

许可证是个好主意,即使你不在乎人们如何处理代码——大多数时候,人们都会乐意接受“原样”的代码如果它不能达到他们想要的效果,他们会把它扔掉——但你永远不知道什么时候一些白痴会试图起诉你,因为他们在阅读你的代码时喝热咖啡烧焦了嘴。你也可能希望限制其他人从你的努力中获利的使用(衍生作品等)。另一方面,那些可能接受和使用您的产品/代码的人想知道他们在使用/复制/分发方面的立场。通过要求代码中保留您的姓名,您还可以确保您的工作获得vcredit,并且在野外发生的任何改进/建议都可以返回给您

如果你只是想在没有太多持续开发的情况下发布代码,那么一个好地方就是——你可以发布应用程序并写一篇小文章来描述它,然后由你决定是否/何时发布更新

如果你想让其他人合作,那么有很多开源网站将支持这种方法

至于批评,你可能会收到一些需要技术支持的人的邮件,或者是那些想推荐额外功能的人的邮件。不过大多数人都很有礼貌。如果你是为自己编写程序的,那么当它进入野外时,你很有可能会发现所有必须以特定方式使用才能正常工作的比特,还有所有你不关心的附加选项,但产品需要哪些选项才能使其适用于更广泛的受众——如果你不小心,你可能会被卷入大量的支持工作中。最终,如果某人要求你不想支持的东西,不要害怕对他说“不”——毕竟这是你的计划,也是你的时间


最重要的是要有乐趣:-)

CodeProject是一个很好的建议,但它确实取决于平台。通常,每个主要开发平台的用户都会蜂拥到其他站点获取其开源扩展或应用程序。例如,Microsoft堆栈上的许多开发人员在VisualStudioGallery或CodePlex上查找内容。苏尔格福吉显然也有自己的宗教追随者。我建议你在一个网站上推广你的新应用,在那里你可以找到类似的东西。无论你使用哪个公共网站来托管它,谷歌页面的排名也会影响到有多少人找到它,最终影响到你对这个项目的批评(建设性的或其他的)。许可始终是一个好计划。根据我的经验,每个主要的开源协作网站都倾向于学习特定的许可机制,因此如果您没有任何特定的要求,我会选择最受欢迎的方式,经过良好测试后,您的用户将更容易了解他们对代码的看法。你能做的最糟糕的事情就是在没有许可证的情况下发布你的代码。没有许可证就意味着没有使用权,因为在大多数司法管辖区,软件自动受版权保护,没有使用权或重用权


如果您不希望项目因缺乏兴趣而枯萎,那么您需要让开发人员看到它。在大型开源项目站点(如、或)发布它将帮助您获得这种可见性,并将为管理您的项目提供大量基础设施。你做得越多,其他人发现、尝试和使用它的机会就越大。

+1推荐反对许可创新。困难的部分是建立社区来支持软件;我并不认为自己擅长于这一点,但这似乎至少在一定程度上是一种营销活动。我投票将这个问题作为离题来结束,因为它涉及许可或法律问题,而不是编程或软件开发。有关详细信息,请参阅。