我正在使用AGPL下发布的代码为作者提供一个粉丝站点。根据AGPL,据我理解,我需要发布我的代码修改。这完全没问题。
不过,该网站设在django。我可能会部署与Docker,并分叉项目这样做。如果我想要自动化部署,我可能需要编写至少将一些密码设置为环境变量或其他东西的代码。
AGPL会“传染”吗?如果是这样的话,我如何绕过提供包含私有数据库密码之类的下载代码的要求?
发布于 2018-08-13 17:08:35
永远不要泄露源代码管理的秘密。此外,永远不要构建包含秘密的容器映像。相反,应该在部署期间提供秘密,例如作为环境变量。如果您正在使用一些云提供商,他们可能有专门的工具来管理密钥和其他秘密。
如果在开发过程中需要存储机密,可以使用配置文件,但不要提交这些文件。相反,显式地.gitignore它们。
既然您不是版本--控制任何秘密,您的存储库已经处于可发布状态,遵守AGPL是很容易的。(A)GPL不强制您将任何密码、API密钥或其他机密公开,除非在将(A)GPLv3软件嵌入嵌入式设备的非常有限的情况下,这些秘密对于在该设备上安装修改版本是必要的。
推荐阅读:十二因子应用程序,web应用程序体系结构和部署的简短指南。特别是考虑他们对配置的定义和他们的构建、发布和运行阶段之间的区别。
https://softwareengineering.stackexchange.com/questions/376803
复制相似问题