发布开源项目的最佳实践是什么?

时间:2009-02-17 08:47:39

标签: open-source release release-management

我们有一个非常酷的小型Web框架,我们已成功用于数十个客户端项目。我们计划将此软件发布给社区。但是,我正在绞尽脑汁地想知道应该/不应该在新的开源软件项目页面上进行什么。该网站必须具备哪些内容?文档?一个维基?下载链接?还有什么?

而且,一个相关但可能不同的问题是我们如何开始标记版本号。我们内部使用的是SVN标记。是否有一种很好的方法可以确定何时开始调用版本0.9对1.0和1.1等等?

6 个答案:

答案 0 :(得分:4)

您可以了解开源项目托管网站提供的内容:

  • 一个充当项目“一站式服务”的网站
  • 文档,可能是wiki格式
  • 允许浏览,匿名结帐以及经过身份验证和授权的提交的源存储库
  • 问题跟踪和新功能请求

至于版本号......我不认为任何人的计划出最好的方法:)尽管如此,我会考虑:

  • v1.0应该可以投入生产使用了
  • 主要版本号更改可能完全失去向后兼容性(如果需要 - 虽然不是目标!)
  • 次要版本号更改通常应该大部分兼容 - 弃用可能比删除/重命名API位更好
  • 小于版本号的更改应仅包括次要功能添加(如果有)和错误/性能修复

答案 1 :(得分:2)

在版本控制方面,我认为最好的起点是Semantic Versioning

答案 2 :(得分:1)

0.9 / 1.0 / 1.1 / 1.0.1 / ...版本标签仅用于营销目的(在很好的意义上)。这样,您的用户/客户就可以确定该版本是主要的,次要的还是错误修复的,以及您是否认为它已经成熟或尚未成熟。

交付的最低要求是来源。其他可交付成果取决于您愿意如何帮助您的用户并为他们提供支持。

答案 3 :(得分:1)

首先选择要托管源的网站(例如SourceForge)。在具有匿名结帐的版本控制系统上获取源代码。获取电子邮件地址,以便有人与您联系。

将此第一个版本称为0.1。这是因为您还没有支持该项目的文档。

然后呼吸。

然后开始查看文档,比如wiki。一旦你完全覆盖了所有内容,基本的细节,你相信发布已经准备好在黄金时段,然后转到1.0,并开始提供二进制下载。

答案 4 :(得分:1)

请务必考虑来源的许可证。

当我查看一个开源项目时,我检查的第一件事就是许可证。如果许可证不是GPL2 / GPL3 / BSD样式或类似,那对我来说是一个消极的。

许可证意味着人们将使用它做什么,它如何发展,以及发布它的公司拥有多少。通过选择开源我尽量不依赖于公司(依赖于他们的股东),我真的选择使用真正免费的软件。

由于开源社区对企业权力非常敏感(谷歌目前似乎对此有点免疫),所以你必须确保在网络上传递真正免费的信息您发布的有关该软件的网站和其他材料。

详细了解FSF的free softwareopen source定义。

答案 5 :(得分:0)

查看GitHub或Google Code。它们为自己的开源项目提供了一个非常好的起点。您可以描述您的项目,在Wiki中记录,使用git或svn作为您的存储库,并提供下载以及问题跟踪和多开发人员管理。开箱即用的好环境可供学习和使用。

对于版本号:对于预发行版,我不建议使用0.9或类似的内容。原因?发布1.9怎么样?它是主要版本1的第9个子版本还是它是第2版的最后一个预发行版?我的发布标准在此处描述:http://code.google.com/p/tideland-eas/wiki/ReleaseStandard。我正在使用三个数字方案,主要,次要和修复,以及状态代码,alpha,beta,gamma和发布日期。所以我能够轻松地并行处理多个版本。

希望这有帮助。

MUE