美国国旗

美国政府的官方网站

Dot政府

官方网站使用.gov
A类.gov(政府)该网站属于美国政府的一个官方组织。

Https系统

Secure.gov网站使用HTTPS
A类()https(https)://表示您已安全连接到.gov网站。仅在官方安全网站上共享敏感信息。

面包屑

  1. 主页
  2. 关于
  3. 政策

这个页面有帮助吗?

开放源代码

背景和目的

本商务部(部门)源代码政策旨在通过在整个部门和其他联邦机构提供定制开发的联邦源代码来促进软件代码重用。它支持OMB备忘录M-16-21“联邦源代码政策:通过可重用和开放源代码软件实现效率、透明度和创新”的要求。该政策要求机构制定计划,将至少20%的新定制源代码作为开放源代码(OSS)发布调试新的自定义软件时。

目标

本政策的目标是:

  • 就获取任何定制代码之前必须考虑的事项向部门提供指导;
  • 要求国防部获得定制开发代码的适当政府数据权限,至少包括政府范围内重用的权限和修改代码的权限,并在联邦政府范围内广泛提供此类定制开发代码,但有有限的例外情况;
  • 制定发布自定义开发源代码的要求,包括根据该政策的新试点计划,确保一些自定义开发代码可以作为OSS发布给公众所需的权利。

当局

  • 《2015年国防授权法案》(FlTARA)(第八章,第D.H.R.3979小节);
  • 《1996年克林格·科恩法案》(Clinger Cohen Act 1996)(《美国法典》标题40第113章11301-11303);
  • M-15-14:管理办公室联邦信息技术管理和监督预算,总统办公厅,2015年6月10日;
  • M-16-21:《联邦源代码政策:通过可重用和开放源代码软件实现效率、透明度和创新》,管理与预算办公室,总统办公厅,2016年8月8日。

定义

  • 软件:指(i)由一系列指令、规则、例程或语句组成的计算机程序,无论记录的介质是什么,这些程序允许或导致计算机执行特定操作或一系列操作;和(ii)记录的信息,包括源代码列表、设计细节、算法、过程、流程图、公式和能够生成、创建或编译计算机程序的相关材料。软件不包括计算机数据库或计算机软件文档。
  • 自定义开发代码:自定义开发代码是指在履行联邦合同时首次产生的代码,或由联邦政府全额资助的代码,包括代码或代码的可分割部分,政府可以根据《联邦采购条例》第27部分和相关机构《联邦采购条例补编》获得无限权利。自定义开发的代码还包括机构员工作为其公务的一部分开发的代码。就本政策而言,定制开发的代码可能包括但不限于为软件项目、模块、插件、脚本、中间件和API编写的代码;然而,它不包括真正具有探索性或可丢弃性的代码,例如由正在试验新语言或库的开发人员编写的代码。
  • 混合源软件:混合源代码软件解决方案结合了开放源代码和专有代码。
  • 开源软件(OSS):任何人都可以访问、使用、修改和共享的软件。开放源码软件通常根据符合开放源码倡议提供的“开放源码”定义的许可证进行分发(https://opensource.org/osd)和/或符合自由软件基金会提供的“自由软件”定义。
  • 专有软件:由权利持有人(例如个人或公司)独家保留的具有知识产权的软件。
  • 源代码:用计算机编程语言编写的供人们阅读的计算机命令。通常,源代码是计算机命令的高级表示,因为它们是由人编写的,因此,必须在计算机将代码作为程序执行之前进行汇编、解释或编译。

范围

本政策立即生效,适用于部门内委托开发定制软件的所有项目,包括所有运营单位,但部门首席信息官认为合适的OMB 16-21第6节中涵盖的软件除外。此处概述的要求不具有追溯性(即,它们不要求现有自定义开发的代码具有追溯性,以供政府范围内重用或作为OSS使用)。

政策

  1. 确保在考虑购买现有商业解决方案或定制开发的解决方案之前进行了适当的备选方案分析(构建、购买和重用分析)。
  2. 在调试新的定制软件时,必须将至少20%的新定制开发代码作为开源软件发布。
  3. 每个操作单元必须在部门软件代码清单中注册所有新的自定义源代码。该代码清单将通过企业代码清单系统提供给所有其他联邦机构。该代码库存也将通过联邦代码库存code.gov在联邦一级发现(https://www.code.gov)。
  4. 源代码必须包含描述模块功能、输入和输出、安全性以及与重用相关的任何其他信息的文档。
  5. 运营单位必须获得足够的权限来定制开发的代码,以实现政府范围的重用目标和开放源代码发布目标。
  6. 运营单位必须纳入OMB M-16-21第3节中定义的三步软件解决方案分析。7.更新/更正任何自动将OSS视为非商业软件的政策。

责任

  • 计划/项目经理必须从项目开始到完成遵守此政策,包括在DOC代码清单中注册所有定制开发的代码。
  • 运营单位负责人和秘书处办公厅负责人应确保整个组织遵守政策。
  • 运营单位首席信息官应:
    • 帮助用户确定哪些代码是可重用的;
    • 每年收集有关本政策遵守情况的统计数据;
    • 审查并批准本政策的豁免。
  • 首席信息官办公室负责发布首席信息官政策,实施OMB源代码政策,建立和管理部门的软件代码库存系统以及与联邦code.gov系统的接口。
  • 采购管理办公室(OAM)有责任发布采购政策,以确保合同官员在招标和合同文件中纳入足够的语言,从而根据开源软件倡议获得定制开发代码的适当政府数据权限。

豁免

根据40 U.S.C.§11103的定义,为国家安全系统(NSS)开发的源代码不受本政策要求的约束。对于NSS,机构应遵守适用的法规、行政命令、指令和内部机构政策。

豁免本政策要求的请求必须解释合规性无法实现的原因,并得到部门首席信息官或OU首席信息官的书面批准。在以下情况下,可申请豁免政策:

  • 源代码的共享受到法律或法规的限制,包括但不限于专利法或知识产权法、《出口资产条例》、《国际武器贩运条例》以及管理机密信息的联邦法律和法规;
  • 共享源代码将产生可识别的风险,损害国家安全、政府信息保密或个人隐私;
  • 共享源代码将对机构系统或人员的稳定性、安全性或完整性造成可识别的风险;
  • 共享源代码会给机构的任务、计划或操作带来可识别的风险;
  • 首席信息官认为,免除共享源代码符合国家利益。

更多信息:

联系人:

信息技术政策和规划办公室
[电子邮件保护]

签发人:

史蒂文·I·库珀

首席信息官

附件 大小
商务部开源代码政策 176.58 KB