开源项目存储库的结构

时间:2010-06-14 09:48:25

标签: language-agnostic project-management

我正在开始一个小型的开源项目。克隆主存储库时,可以获得一个完整的构建环境,其中包含制作正式安装程序文件所需的所有库和所有工具,并且版本号正确。

我喜欢这样一个事实:任何想要贡献的人都可以克隆存储库并开始使用他们想要的任何东西。但我认为这使得Evil People可以轻松创建恶意安装程序并将其发布到野外。

应该如何构建?您建议在存储库中包含哪些内容,而不仅仅是保留在构建服务器上?

2 个答案:

答案 0 :(得分:1)

退出支持库和构建工具会让以下内容变得非常痛苦:

  • 任何想要试用该软件的人,可能是在您没有提供安装程序的平台上,或者是您已经发布的较新版本

  • 任何想要贡献或破解您项目的人。

这些人是你需要全力以赴地迎合一个项目,这个项目没有市场营销部门将其拉出来并且没有全职付费团队开发新功能和修复bug (又名个人/开源/爱好项目)。

没有人会在你的项目中玩弄或破解,如果它的屁股很大,甚至可以建立它,他们只会继续下一件事。无论出于何种原因,有人以恶意的方式欺骗​​你的软件,有些人已经付出了比寻找其他一些软件包来安装一个安装程序所需要的更多的努力,所以你要阻止错误的用户子集没有明显的收益。 (将其视为security through obscurity的形式。这种形式永远无效。)

专注于让用户和其他开发人员可以访问您的存储库。

顺便说一句,正在下载和构建软件的人应该养成检查代码的习惯,或至少在本地安装和运行东西之前决定他们是否信任分销商。

答案 1 :(得分:1)

您似乎要寻找的是目录布局。您标记了与语言无关的问题,但它确实取决于您要使用的语言/框架/构建工具。给你一些例子

它不会阻止邪恶的人做邪恶的事情,但它会帮助你的潜在贡献者。