大规模基础设施管理全攻略
1. 开源许可证选择
开源软件许可证的选择会对组织产生重大影响。以GNU Affero通用公共许可证(AGPL)为例,若修改了采用AGPL许可的开源软件,就必须将其提供给该软件的所有网络用户。这对于拥有专有软件的公司而言存在风险,若使用了AGPL许可的开源软件,专有软件可能会被迫开源,公共网站受此条款影响尤为明显。一些采用AGPL许可的流行开源软件包括:
- MongoDB (http://www.mongodb.org)
- Launchpad (https://launchpad.net/)
- PHP - Fusion (https://www.php - fusion.co.uk/home.php)
- SugarCRM (http://www.sugarcrm.com)
此外,在为开源项目贡献代码时,也需处理好代码的许可问题。许多开源项目都有贡献者许可协议,个人贡献者和企业贡献者分别适用不同协议。一般来说,向开源项目贡献代码时,就意味着放弃了代码的版权。
2. 软件支持
解决了许可证问题后,还需考虑软件的支持问题。大规模运营需要为公司使用的软件制定明确的支持策略。随着开源软件的普及,软件支持变得愈发重要。
- 选择有支持的软件 :若使用的软件没有支持,而生产环境又依赖它,就可能面临无法缓解的风险。若公司使用Linux操作系统,对于关键任务系统,选择有支持的发行版更合理;对于非关键任务系统,则可选择无支持的发行版。
- 聘请专家 :聘请所使用开源软件的主题专家可降低风险。遇到软件问题时,可