В конце января 2025 года Linux Foundation выпустила памятку для разработчиков о том, как санкции OFAC касаются open-source. Повод понятный: под санкции США попали технологические компании из России, а их разработчики участвуют в открытых проектах. Открытый код не выводит проект из-под санкционного права, и мейнтейнеру полезно понимать, где проходит граница.
OFAC это Управление по контролю за иностранными активами при Минфине США. Оно ведёт санкционные программы и список SDN (Specially Designated Nationals), то есть конкретных людей и компаний, с которыми американцам запрещены почти любые сделки. Под запрет попадают и компании, которыми лица из SDN владеют на 50% и больше, даже если самих компаний в списке нет. Отдельно санкции действуют против целых стран и регионов, например Ирана или Крыма, и их в списке SDN тоже нет.
Кого это касается
По словам Linux Foundation, правила OFAC обязательны для граждан и компаний США, где бы они ни находились, а ещё для всех, кто использует в сделке американские товары, услуги или доллары. Ответственность строгая: незнание не спасает, а штрафы бывают крупными. У ЕС, Великобритании, Японии, Швейцарии и других стран свои санкционные программы, и для проекта с участниками из разных стран может действовать сразу несколько режимов.
Ещё важная деталь: экспортный контроль США (правила EAR) почти всегда делает исключение для опубликованного кода, а санкции OFAC такого общего исключения не дают. Это разные режимы и разные списки. Проверить компанию можно через поиск по санкционным спискам OFAC, но и он не покрывает правило 50% и санкции против стран целиком.
Патчи от участников из-под санкций
Код OFAC обычно считает информационными материалами, а их ввоз и вывоз из-под большинства санкций выведен. Поэтому, как пишет Linux Foundation, принять готовый патч, который пришёл без запроса, в целом можно: оценить его по существу, поправить и влить. Проблемы начинаются там, где появляется услуга.
- Не вести двустороннюю переписку по патчу с разработчиком из SDN: обсуждать, помогать доработать, разбирать его проблему. Это уже похоже на оказание услуги.
- Не просить такого разработчика написать или изменить код.
- Смотреть, кому выгоден патч. Исправление общей ошибки нормально, а драйвер под процессор подсанкционной компании, по оценке Linux Foundation, уже вероятная проблема.
- Если похожий патч приходит с другого аккаунта или анонимной почты, оценка не меняется. Посредник тоже не спасает.
- Не подписывать CLA с подсанкционными компаниями и их сотрудниками: соглашение об интеллектуальной собственности это сделка. Если проект требует CLA, проверку по списку SDN лучше встроить в процесс.
Ясных разъяснений OFAC о том, как санкции применяются к open-source, пока нет, поэтому Linux Foundation отдельно просит не перегибать и при сомнениях идти к юристу, а не выгонять людей из проекта на всякий случай.
Как это выглядит на GitHub
Санкции бьют и по инфраструктуре, даже если код открыт. По правилам GitHub о торговых ограничениях, сервис закрыт для лиц из SDN и для работы в их интересах. Для Ирана GitHub получил лицензию OFAC и вернул разработчикам все сервисы, на Кубе они тоже доступны. Для Крыма и районов Донецка и Луганска остаются только бесплатные публичные репозитории, Pages, gists и бесплатные минуты Actions для личного использования. В Северной Корее GitHub недоступен совсем. А GitHub Copilot и GitHub Enterprise Server нельзя продавать и поставлять в ряд стран, среди которых Россия и Беларусь.
Что сделать команде проекта
- Договориться, кто проверяет CLA и спорные вклады, и в каких случаях вопрос уходит к юристу.
- Знать, откуда пришёл вклад и с какой компанией связан автор, особенно если проект принимает патчи от корпоративных разработчиков.
- Не держать проект на одной площадке: зеркала репозитория, свои пакетные реестры и запасной CI спасают, когда доступ к сервису режут из-за юрисдикции.
В итоге открытый код как публикация и работа с людьми и компаниями из санкционных списков живут по разным правилам. Готовый патч принять можно, а вот переписка, заказ кода, CLA и коммерческие услуги для таких участников уже рискованны. Проектам, которые не зависят от одной площадки и одной юрисдикции, проще всего.