В 2016 году в рамках уникальной образовательной инициативы состоялось необычное событие — преподавание курса по внесению вкладов в проекты с открытым исходным кодом для магистрантов Северной Кореи. Этот опыт стал важным примером того, как академическое сотрудничество в сфере информационных технологий может способствовать лучшему взаимопониманию между странами с сложными политическими отношениями и приносить пользу простым гражданам обеих сторон. Открытое программное обеспечение — это модель разработки и распространения программ, при которой исходный код доступен для изучения, изменения и дальнейшего использования. Эта концепция не только стимулирует создание качественных и инновационных продуктов, но и способствует развитию глобальной ИТ-экосистемы, объединяя разработчиков из разных стран и культур. В Северной Корее тема открытого программного обеспечения приобретает особый смысл.
Студенты магистратуры, несмотря на сложный геополитический контекст, получили возможность познакомиться с современными инструментами программирования и принять участие в коллективном развитии популярных библиотек машинного обучения. Впервые в истории вкладам в open source проекты из этой страны было уделено официальное внимание, и даже были зафиксированы успешные дополнения к крупным библиотекам mlpack и vowpal wabbit. Одна из важных задач, над которой работал студент, — система распознавания транспортных средств на основе видеопотока. Подобная технология позволяет автоматически подсчитывать количество автомобилей и грузовиков, проходящих через определённый участок дороги. В Северной Корее, где трафик в столице Пхеньяне существенно увеличился, такой проект получил поддержку со стороны департамента транспорта.
Воплощение решения потребовало использования библиотеки mlpack, написанной на языке C++, который был основным языком обучения студентов в их университетах. Однако технические ограничения стали серьёзным испытанием. Старые компьютеры студентов не имели необходимого объёма оперативной памяти для компиляции библиотеки, поскольку mlpack активно использует C++ шаблоны, что приводит к значительным затратам памяти и длительному процессу сборки. Исходя из этого, студенту удалось оптимизировать процедуру компиляции, удалив из проекта сотни ненужных директив #include. Благодаря этим изменениям скорость компиляции увеличилась примерно на четверть, а потребление памяти снизилось более чем в два раза.
Эта работа получила признание в международном сообществе, а сотни тысяч пользователей mlpack по всему миру воспользовались высокоэффективным и оптимизированным кодом, внесённым студентом из Северной Кореи. Этот пример наглядно демонстрирует, как возможности открытого программного обеспечения позволяют творчески решать реальные задачи и обмениваться знаниями независимо от политических барьеров. Другой интересной темой исследования стал анализ настроений пользователей Twitter на английском языке, который проводил студент, ещё не определившийся с темой дипломной работы. Несмотря на прямой доступ к интернету, северокорейские студенты не могли создавать аккаунты в соцсетях, включая Twitter, из-за опасений, связанных с кибератаками и иностранным контролем над интернет-инфраструктурой. В этой ситуации анализ данных Twitter стал особенно важным с точки зрения изучения мнений и политических настроений за границей.
Студент использовал для анализа инструмент vowpal wabbit — мощную систему для работы с большими текстовыми объемами и машинным обучением. Во время курса он сумел не только провести анализ тысяч твитов, но и предложил исправление для алгоритма, связанного с регуляризацией в линейных моделях. Этот патч был принят в основной репозиторий проекта, а последующая работа над обнаруженными ошибками и их исправлениями полностью отражала классический процесс разработки открытого ПО с международным сотрудничеством. Итогом этого проекта стало создание у нескольких северокорейских специалистов уникального опыта, ранее недоступного внутри страны. Их знания позволили лучше понимать динамику иностранных политических заявлений, что, в свою очередь, помогает формировать более информированные и взвешенные позиции внутри государственной политики Северной Кореи.
Подобные инициативы лежат в основе концепции научной дипломатии — использования совместных научных и технических проектов для установления доверия и снижения международной напряжённости. Этот подход в прошлом помогал США и СССР достигать договорённостей по контролю над ядерным оружием и может стать эффективным инструментом для отношений между Северной Кореей и Соединёнными Штатами. К сожалению, подобные образовательные программы столкнулись с серьёзными препятствиями в последующие годы. Запреты на поездки американских граждан в Северную Корею, введённые администрацией президента Трампа, привели к приостановке визитов преподавателей и прекращению прямой поддержки студентам из этой страны. В результате последние зафиксированные вклады северокорейских специалистов в открытое ПО остаются уникальными и несут в себе потенциал, который до сих пор остаётся мало реализованным.
Несмотря на это, политика «практической дипломатии», объявленная президентом Байденом, остаётся неясной в деталях и пока не приносит реальных изменений в образовательные или научные обмены с Северной Кореей. Продолжающийся запрет на поездки сохраняет барьеры для развития сотрудничества в области открытого программного обеспечения и препятствует использованию научной дипломатии как инструмента для стабилизации отношений. Тем не менее, уроки, извлечённые из опыта преподавания открытого ПО в Северной Корее, подчёркивают огромный потенциал совместной работы в сфере технологий как механизма улучшения международных коммуникаций и понимания. Развитие подобных инициатив могло бы не только расширить горизонты для северокорейских студентов, но и способствовать созданию инновационных решений, полезных для глобального сообщества ИТ-специалистов. В конечном счёте, открытое программное обеспечение остаётся одним из тех немногих полей сотрудничества, где граждане разных стран могут объединять усилия вне зависимости от политических разногласий, создавая значимые технологические достижения и укрепляя взаимное доверие.
И опыт Северной Кореи демонстрирует, что при наличии желания и правильной поддержки даже самые закрытые общества могут стать частью глобального технологического прогресса. Поддержка таких образовательных инициатив требует внимательного рассмотрения международных политических процессов и создания условий для свободного обмена знаниями. Как показывает история, сегодняшний студент открытого ПО может стать завтра архитектором решений, способных внести вклад в мир и развитие. Таким образом, история преподавания открытого программного обеспечения в Северной Корее — это не только рассказ о технических достижениях и сложностях, но и вдохновляющий пример того, как наука и технологии могут послужить мостом для диалога и сотрудничества между народами, разделёнными стенами непонимания и политической напряжённости.