【问题标题】:OpenSource my application开源我的应用程序
【发布时间】:2013-10-22 10:10:28
【问题描述】:

我正在开发以下应用程序,并且正在考虑将其开源(将其添加到 Github)。

http://actibities-uniongr.rhcloud.com/pages/view-demo

在我的本地环境中,我有脚本加载临时数据以用于开发目的。是否应该将其包含在推送到 Github 的代码中?

【问题讨论】:

  • 很难说没有更多细节。尝试并遵循您在其他已发布 Rails 项目中看到的开发文件的模式。如果它们对演示或测试有用,那么将它们包含在例如/dev 或 /fixtures 目录。可能从您的描述来看,它们应该是固定装置并在规范中加载/测试。
  • Thanx @NeilSlater 它们是开发人员的初始虚拟数据。我会按照您的建议查看其他 ruby​​ 应用程序。
  • 我建议包括任何不敏感的内容(如密码、财务数据)。除非它太大,但这通常不是问题。

标签: ruby-on-rails ruby git github open-source


【解决方案1】:

一般来说,您应该:

包括

  • 源代码(呵呵)
  • 与软件的构建、打包和/或发布相关的脚本
  • 文档,解释如何使用这些脚本
  • 许可证(重要!)

不包括

  • 敏感数据,包括私钥和密码(在您最初提交之前删除这些,否则它们仍然可以访问)。要从现有存储库中删除数据,您应该尝试使用 git 的 filter-branch 命令。
  • 专有代码 (duh)
  • 大型二进制文件,包括:
    • 预构建的工具链(这应该存在于环境中)
    • 可以使用构建脚本轻松重新创建的大型二进制数据
  • 库源代码树 - 使这些成为构建的要求,或使用 Git 子模块来包含它们。

至于初始提交和上传,GitHub自己有a pretty good tutorial

我很高兴您决定开源该项目。祝你好运!

【讨论】:

  • 谢谢@thirtythreeforty。你掩盖了我的担忧。我将检查有关许可证的选项。欢迎任何建议。再次感谢您的时间。
  • 许可证?我是 GNU GPL [gnu.org/licenses/gpl.html] 的忠实拥护者,因为它迫使使用您的代码的人分享他们的更改。如果您喜欢这个想法,那么既然您正在编写一个 web 应用程序,那么您应该考虑 Affero GPL [gnu.org/licenses/agpl-3.0.html]。有些人认为 GPL 限制性太强,所以他们选择 MIT、Apache 或 BSD 许可证,这基本上允许其他人使用代码,只要他们给予信任。
  • 现在我想起来了,choosealicense.com 是一个很好的列表。 (它由 GitHub 运行——惊喜!我是 GitHub 的忠实粉丝 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-03
  • 1970-01-01
  • 2011-05-04
  • 1970-01-01
  • 1970-01-01
  • 2011-08-12
  • 1970-01-01
相关资源
最近更新 更多