codecamp

GitHub 和贸易管制

GitHub.com、GitHub Enterprise Server 以及您上传至其中任一产品的信息都需遵守贸易管制法规,包括美国出口管理条例(Export Administration Regulations,EAR)。

GitHub 的愿景是成为开发者合作的全球平台,不管开发者居住在哪里都可参与。 我们认真履行全面研究政府法规的职责,以确保用户和客户不受法律以外因素的影响。 这包括保持公共仓库服务,其中包括提供开放源码项目并帮助用户访问,以支持受制裁区域开发人员的个人沟通。

为了遵守美国贸易管制法律,GitHub 对其提供服务的方式作了一些必要的更改。 随着美国贸易管制法律的发展,我们将继续配合美国监管机构,在允许的范围内向受制裁市场的开发者提供免费代码协作服务。 我们认为,提供这些免费服务有助于美国关于鼓励这些市场的信息自由流动和言论自由的外交政策。 有关我们的方法和制裁如何影响全球软件合作的更多见解,请参阅我们关于制裁的博客

虽然我们为了方便您而提供了以下信息,但您要最终负责确保对 GitHub 产品和服务的使用符合所有适用法律和法规,包括美国出口管制法律。

出口概述

GitHub.com

根据我们的服务条款,用户必须按照相关法律访问和使用 GitHub ,包括美国出口管制和制裁法律。

用户负责确保他们在 GitHub.com 上开发和分享的内容符合美国出口管制法律,包括 EAR 和美国国际武器贩运条例(International Traffic in Arms Regulations,ITAR)。 GitHub.com 上提供的云端托管服务不托管受 ITAR 约束的数据,目前也无法按国家或地区限制仓库访问。 如果寻求就 ITAR 或其他出口管制数据进行合作,我们建议您考虑 GitHub Enterprise Server - GitHub 的本地服务。

美国贸易管制法律限制向某些国家和地区的用户提供 GitHub.com 服务。 根据美国财政部外国资产管制办公室(Office of Foreign Assets Controls,OFAC)颁发的授权,GitHub 可能允许受美国制裁的国家和地区的用户或常住居民访问某些免费的 GitHub,以用于个人通信。 在这些国家和地区的个人或常住居民在访问 GitHub 时不得使用 IP 代理、VPN 或掩盖其位置的其他方法,并且只能将 GitHub.com 用于非商业个人通信。

根据美国及其他适用法律,特别指定国民 (SDN) 及其他被拒绝或被阻止的当事方不得访问或使用GitHub.com。 此外,用户不得为包括受制裁国政府在内的这类当事方或代表他们使用 GitHub.com。 此外,GitHub.com 不得用于适用的出口管制法律所禁止的目的,包括 17 CFR 744 中所述的被禁止最终用途。

GitHub Enterprise Server

GitHub Enterprise Server 是一种自托管的虚拟设备,可以在客户自己的数据中心或虚拟私有云中运行。 因此,虽然 GitHub Enterprise Server 可用来存储 ITAR 或其他出口管制的信息,但最终用户有责任确保遵守 ITAR 及其他适用的出口管制。

GitHub Enterprise Server 是一种商业性的大宗市场产品,已分配出口管制分类号码 (ECCN)5D992,并可能导出到大多数目的地,无需许可证 (NLR)。

GitHub Enterprise Server 不能出售、出口或再出口到 EAR 的补充编号 1 至 740 部分的国家组别 E:1,或者乌克兰的克里米亚地区。 这份清单目前包含古巴、伊朗、朝鲜和叙利亚,但可能会有变化。

常见问题

美国政府对哪些国家和地区实行制裁?

克里米亚、古巴、伊朗、朝鲜和叙利亚。

GitHub 如何确保不在受制裁国家及地区生活和/或与受制裁国家及地区有专业联系的民间团体仍然能够访问或上诉?

在很少的情况下,会有帐户无意或错误地受到影响,此时我们有上诉流程来处理这种情况。

如果个别用户或组织管理员认为他们被错误标记,则该用户有机会向 GitHub 提供验证信息,对该标记提出上诉。 如果 GitHub 收到充分的信息,能够核实用户或组织不属于美国制裁的地区或美国经济制裁限制的地区,则会撤销该标记。 请参阅个别帐户上诉申请表组织帐户上诉申请表

到这些地区旅行是否会受到影响?

在这些地区旅行可能会影响您的帐户状态,但只要您在受制裁地区之外提交成功的个别帐户上诉申请组织帐户上诉申请,帐户的可用性便会恢复。

什么可用和不可用?

GitHub 承诺继续向受美国制裁地区拥有个人和组织帐户的开发者免费提供公共仓库服务。 包括有限制地访问免费服务,例如用于开源项目(和相关公共页面)的公共仓库、公共Gist 以及分配的免费操作分钟数,但只能用于个人通信,而不得用于商业目的。

但是,由于美国贸易管制法律的限制,GitHub 无法向受美国制裁的地区(如朝鲜、伊朗、叙利亚和克里米亚)的帐户提供私有仓库服务和付费服务。 该限制将暂停对私有仓库服务和付费服务的访问,例如免费或付费私有仓库、秘密 Gist、付费操作分钟数、赞助商和 GitHub Marketplace 服务的可用性。

对于受制裁地区付费的组织级帐户,用户能够有限制地访问其公共仓库,这些仓库已降级为存档的只读仓库。 但是,对于受制裁地区的免费组织级帐户,用户仍然可以完全访问用于开源项目(和相关公共页面)的免费公共仓库、公共 Gist 和分配的免费操作分钟数。

GitHub 将继续向美国监管机构提倡让受制裁地区的开发者尽可能获得免费代码协作服务,包括访问免费私有仓库。 我们认为,提供这些免费服务有助于美国关于鼓励这些地区的信息自由流动和言论自由的外交政策。

如何定义这些特定用户?

如果 GitHub 确定用户或客户位于受美国贸易管制限制约束的区域,或用户受到美国经济制裁的限制,则关联帐户需遵守这些法律要求。 为执行这些法律限制而确定用户和客户的位置时,从多个来源进行考虑,包括 IP 地址和付款记录。 国籍和族裔不用于标记适用于制裁限制的用户。

组织帐户受到何种影响?

如果组织的基地位于被制裁的地区或国家,或者组织的主要个人或成员显示与被制裁的地区或国家有充分的联系,或者该组织似乎受到美国经济制裁的限制,则该组织帐户和关联的所有者帐户将受到限制。

该限制将暂停对私有仓库服务和付费服务的访问,例如免费或付费私有仓库、秘密 Gist、付费操作分钟数、赞助商和 GitHub Marketplace 服务的可用性。 对于与受制裁地区相关的付费组织级帐户,用户能够有限制地访问其公共仓库,这些仓库已降级为存档的只读仓库。 对于与受制裁地区相关的免费组织级帐户,用户仍然可以完全访问用于开源项目(和相关公共页面)的免费公共仓库、公共 Gist 和分配的免费操作分钟数。

是否可将受交易限制的用户私有仓库设为公共?

免费的个人帐户用户可以将受限制的私有仓库设为公共,但仅供个人通信使用,而不能用于商业目的。 用户可以通过导航到仓库设置选项卡并单击“make public(设为公共)”按钮来完成此操作。 仓库在设为公共后,用户便可访问公共仓库服务。 此操作必须完成。

受贸易限制的用户能否访问私有仓库数据(例如下载或删除仓库数据)?

遗憾的是,我们对法律的理解并不能让我们选择允许下载或删除私有仓库内容,除非得到美国政府的批准。 我们将向美国监管机构大力倡议让受贸易限制的用户有权保护其私有仓库的内容。 我们还将提倡向受制裁市场的开发人员提供更多的 GitHub 服务,并进一步强调代码协作在支持全球开发人员个人通信方面的重要性。

GitHub 开源应用程序条款和条件
GitHub 已故用户政策
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

GitHub 身份验证

在 GitHub 上管理订阅和通知

在 GitHub 上管理活动的订阅

GitHub 组织和团队

GitHub 管理对组织仓库的 Git 访问

GitHub 计费和付款

GitHub 使用议题和拉取请求进行协作

GitHub 在具有代码质量功能的仓库上进行协作

管理在 GitHub 上的工作

GitHub 建立强大的社区

GitHub 管理仓库

GitHub 自定义 GitHub 工作流程

在 GitHub Marketplace 中购买并安装应用程序

通过 GitHub Jobs 寻找人才

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }