На фоне углубляющегося конфликта с Западом появились сообщения, что в России могут возникнуть проблемы со свободным программным обеспечением. Отдельные разработчики заявили, что собираются блокировать для нас свои проекты. Журнал "Профиль" объяснил, почему это не получится.
Порядка тысячи лайков собрал твит некоего Флориана Рота, занимающегося инструментами кибербезопасности. При этом он пояснил, что текущие события – это повод, а не причина. Так что заодно пообещал справедливости ради ввести такие же ограничения для Китая, Ирана и Северной Кореи. Правда, уже на следующий день передумал.
Между тем эксперты не видят особых поводов для беспокойства, хотя и признают, что могут возникнуть сложности с коммерческой поддержкой. В Министерстве цифрового развития, связи и массовых коммуникаций также считают, что ограничения маловероятны. Тем не менее проблема существует и в случае обострения может создать определенные сложности. Около 85% программ, включенных в Реестр российского программного обеспечения, используют открытый код. Это отнюдь не повод зубоскалить по поводу импортозамещения, а совершенно нормальная практика. На Западе доля свободного программного обеспечения (ПО), в том числе в коммерческих продуктах, еще больше. Оно давно уже стало мейнстримом разработки и важным драйвером технологических инноваций.
Свободное ПО, в отличие от проприетарного, не принадлежит какой-то компании. Оно доступно для всех, кто соблюдает определенные правила. Его можно без ограничений изучать и использовать, модифицировать и распространять. Можно делать свои продукты и услуги на основе имеющихся проектов или использовать фрагменты кода из множества разных проектов, обеспечивающих ту или иную функциональность. Нельзя только ограничивать то, что изначально разрешает свободная лицензия.
Есть определенная путаница с открытым, свободным и некоммерческим ПО. Это давняя история: английское free значит и «свободный», и «бесплатный». Ричард Столлман, создавший в 1983 году движение за свободное программное обеспечение, пояснял, что free следует понимать в том смысле, какой мы вкладываем в «свободу слова», а не в смысле «халява». Свободное ПО может быть платным, может включать платные опции, может содержать коммерческие условия и оговорки. Но оно остается свободным.
Из-за этой неоднозначности в 1998 году было предложено использовать термин «открытое ПО», поскольку оно открыто для всех. Сам Столлман всегда резко возражал против этого, подчеркивая фундаментальную разницу между открытостью, как техническим свойством, и свободой, как общечеловеческой ценностью. Если не вдаваться в детали, можно сказать, что «открытый» относится больше к коду, а «свободный» – к условиям его использования. Большинство «открытых» программ являются «свободными», хотя это не совсем одно и то же.
Открытость означает не просто, что у всех есть доступ к коду. Лицензия должна удовлетворять ряду критериев. Существует несколько типов свободных лицензий, различающихся в деталях, но следующих общим принципам. Например, не допускается любая дискриминация лиц, групп лиц, организаций, стран и так далее. Еще на заре свободного ПО бурное обсуждение вызвало желание некоторых разработчиков запретить свои продукты для полиции ЮАР, где до середины 1990-х существовал режим апартеида. Потом призывали к ограничениям для Ирана, который мог использовать открытые разработки в своей ядерной программе. Другим не нравилась Северная Корея. Мало кто представлял, что там происходит, но северокорейцев по определению считали «плохими парнями». Однако в конце концов сообщество всегда приходило к тому, что свобода важнее любых возможных издержек. Основанная в 1998 году «Инициатива открытого кода» прямо утверждает: «Свобода должна быть для всех, в том числе и для плохих парней».
Не допускаются также никакие ограничения на то, как используется свободное ПО. В свое время бурные дебаты велись, например, вокруг темы абортов. Причем копья ломали и те, кто за, и те, кто против. И раз за разом сообщество отвергало предлагавшиеся ограничения. Впрочем, наиболее жаркие баталии касаются отнюдь не так называемых «стран-изгоев» или вопросов медицинской этики. В эпицентре скандалов регулярно оказываются сами США.
Особенно достается военным. Очень многим сильно не нравится, как и для чего они используют открытые разработки. Большой шум поднялся в 2019-м, когда выяснилось, что свободное ПО Kubernetes используется для управления флотом истребителей F-16. Годом позже серьезное недовольство вызвало использование в военных целях искусственного интеллекта, алгоритмы которого содержали большое количество открытого кода.
И всякий раз говорится, что стоит запретить злоупотребления со стороны правительства и использование открытого кода в военных целях. Обычно предлагают дополнительные лицензии, тем или иным образом ограничивающие неэтичное – что бы под этим ни подразумевалось – использование кода. Вот, например, инициатива Коралайн Эмке – она (до 2014-го он) и разработчик, и известная активистка, и автор «Пост-меритократического манифеста» и «Соглашения контрибьютора» – декларации о том, что разработчики, участвующие в создании свободного ПО, не будут ущемлять права меньшинств, прежде всего сексуальных. Эмке предлагает собственный вариант, который называется «Лицензия Гиппократа». Вот как она комментирует свою инициативу: «Пора открытому коду повзрослеть. Пора принять ответственность за то, как он используется. Мы больше не можем слепо руководствоваться либертарианскими идеалами ничем не ограниченной свободы. Мы живем в обществе, где результаты нашей работы влияют на других. Иногда самым разрушительным образом. Мне нравится, как открытый код уже изменил мир. И я думаю, у него есть большой потенциал для будущего. Но мы должны навести порядок в доме». Сама лицензия Эмке начинается с сильно политизированной преамбулы, и опирается на семь этических принципов. Интерес представляет завуалированная попытка подменить идею свободы каким-то «духом открытости» и не очень понятными «этическими ограничениями». По сути, это не лицензия, а очередная декларация о благих намерениях.
На деле совсем непросто разработать механизмы, которые позволили бы, не подрывая базовые принципы свободного ПО, как-то регулировать этические вопросы. Этика – очень непростая тема. И то, что в последние годы рассуждения о морали стали модным трендом в IT, отнюдь не способствует решению реальных проблем. Скорее, наоборот.
Конкретный разработчик, исходя из своих представлений о том, что такое хорошо и что такое плохо, конечно, может запретить использование результатов своего труда. Это его законное право. Но если изначально код был открытым, всё, что уже наработано, остается свободным и даже продолжает накладывать определенные ограничения на будущую работу. А так любой может сделать так называемый форк (ответвление) и использовать имеющийся код для нового проекта. Но если цель – ограничить использование своей интеллектуальной собственности, то есть сделать ее несвободной, сам проект не сможет больше быть открытым.
Здесь много нюансов, которые могут создавать сложности для пользователей. Но не меньшие проблемы они создают и для разработчиков. Тем более, что во многих проектах участвуют десятки и даже сотни людей. И «держатель» кода несет перед ними как минимум этическую ответственность.
Есть и чисто технические моменты. Так, основная площадка для проектов с открытым исходным кодом – сервис GitHub. Изначально это была весьма демократичная платформа для совместной работы, хранения ко-да и управления версиями. Но в июне 2018-го ее за $7,5 млрд купила Microsoft. Сделка вызвала тогда немалое возмущение в сообществе разработчиков, многие из которых были очень обеспокоены возможными последствиями. Но генеральный директор Microsoft Сатья Наделла торжественно заверял всех в «полной приверженности свободе, открытости и инновациям в разработке».
По факту Microsoft, как законопослушная компания, может оказаться в сложном положении. Уже были прецеденты, когда доступ к GitHub ограничивали разработчикам из Ирана, КНДР и Крыма. Правда, надо отдать должное, сервис всегда старался добиться от властей того, чтобы, несмотря на любые ограничения и санкции, все разработчики могли свободно продолжать свою работу.
На фоне украинского кризиса Microsoft поначалу занял выжидательную позицию. Позже стало известно, что компания приостановила продажу своих продуктов и работу сервисов в России. Однако это не касается GitHub. Команда сервиса заявила: «GitHub – это дом для всех разработчиков, где бы они ни находились. Мы серьезно относимся к обязанности тщательно изучать правительственные указы, чтобы быть уверенными, что наши пользователи и клиенты не будут ограничены в работе. Это подразумевает защиту открытого сотрудничества и свободного потока информации в нашем сообществе». Учитывая, что у Microsoft особо тесные отношения и с Белым домом, и с военными, GitHub ограничения, скорее всего, не коснутся.
Тем более, что речь идет не только об открытом или свободном ПО. Речь об интеллектуальной собственности вообще. Тот же Столлман мыслил гораздо шире. Именно он предложил концепцию копилефта: возможность использовать оригинальные работы при создании новых произведений без получения разрешения владельца авторского права. Но автор производной работы должен распространять ее с сохранением тех же самых прав. На близких принципах строится и так называемая «открытая наука». Этот термин стал употребительным с 2014 года, когда по результатам опроса Европейской комиссии было решено использовать его вместо «Наука 2.0». Сюда входят различные движения за открытый доступ, открытые данные, открытая научная кооперация, краудфандинг и многое другое.
Так что ставки гораздо выше и прямо затрагивают самые фундаментальные ценности. И это совсем не то, что индивидуальные представления о прекрасном. А этика, как бы обидно это ни звучало для программистов, много сложнее, чем написание кода. Тем же, кто спешит бросаться на моральные амбразуры, стоит прислушаться к словам Бернарда Шоу: «Мораль нации как зубы – чем гнилее, тем больнее до них дотрагиваться».
На фоне углубляющегося конфликта с Западом появились сообщения, что в России могут возникнуть проблемы со свободным программным обеспечением. Отдельные разработчики заявили, что собираются блокировать для нас свои проекты. Журнал "Профиль" объяснил, почему это не получится.
Порядка тысячи лайков собрал твит некоего Флориана Рота, занимающегося инструментами кибербезопасности. При этом он пояснил, что текущие события – это повод, а не причина. Так что заодно пообещал справедливости ради ввести такие же ограничения для Китая, Ирана и Северной Кореи. Правда, уже на следующий день передумал.
Между тем эксперты не видят особых поводов для беспокойства, хотя и признают, что могут возникнуть сложности с коммерческой поддержкой. В Министерстве цифрового развития, связи и массовых коммуникаций также считают, что ограничения маловероятны. Тем не менее проблема существует и в случае обострения может создать определенные сложности. Около 85% программ, включенных в Реестр российского программного обеспечения, используют открытый код. Это отнюдь не повод зубоскалить по поводу импортозамещения, а совершенно нормальная практика. На Западе доля свободного программного обеспечения (ПО), в том числе в коммерческих продуктах, еще больше. Оно давно уже стало мейнстримом разработки и важным драйвером технологических инноваций.
Свободное ПО, в отличие от проприетарного, не принадлежит какой-то компании. Оно доступно для всех, кто соблюдает определенные правила. Его можно без ограничений изучать и использовать, модифицировать и распространять. Можно делать свои продукты и услуги на основе имеющихся проектов или использовать фрагменты кода из множества разных проектов, обеспечивающих ту или иную функциональность. Нельзя только ограничивать то, что изначально разрешает свободная лицензия.
Есть определенная путаница с открытым, свободным и некоммерческим ПО. Это давняя история: английское free значит и «свободный», и «бесплатный». Ричард Столлман, создавший в 1983 году движение за свободное программное обеспечение, пояснял, что free следует понимать в том смысле, какой мы вкладываем в «свободу слова», а не в смысле «халява». Свободное ПО может быть платным, может включать платные опции, может содержать коммерческие условия и оговорки. Но оно остается свободным.
Из-за этой неоднозначности в 1998 году было предложено использовать термин «открытое ПО», поскольку оно открыто для всех. Сам Столлман всегда резко возражал против этого, подчеркивая фундаментальную разницу между открытостью, как техническим свойством, и свободой, как общечеловеческой ценностью. Если не вдаваться в детали, можно сказать, что «открытый» относится больше к коду, а «свободный» – к условиям его использования. Большинство «открытых» программ являются «свободными», хотя это не совсем одно и то же.
Открытость означает не просто, что у всех есть доступ к коду. Лицензия должна удовлетворять ряду критериев. Существует несколько типов свободных лицензий, различающихся в деталях, но следующих общим принципам. Например, не допускается любая дискриминация лиц, групп лиц, организаций, стран и так далее. Еще на заре свободного ПО бурное обсуждение вызвало желание некоторых разработчиков запретить свои продукты для полиции ЮАР, где до середины 1990-х существовал режим апартеида. Потом призывали к ограничениям для Ирана, который мог использовать открытые разработки в своей ядерной программе. Другим не нравилась Северная Корея. Мало кто представлял, что там происходит, но северокорейцев по определению считали «плохими парнями». Однако в конце концов сообщество всегда приходило к тому, что свобода важнее любых возможных издержек. Основанная в 1998 году «Инициатива открытого кода» прямо утверждает: «Свобода должна быть для всех, в том числе и для плохих парней».
Не допускаются также никакие ограничения на то, как используется свободное ПО. В свое время бурные дебаты велись, например, вокруг темы абортов. Причем копья ломали и те, кто за, и те, кто против. И раз за разом сообщество отвергало предлагавшиеся ограничения. Впрочем, наиболее жаркие баталии касаются отнюдь не так называемых «стран-изгоев» или вопросов медицинской этики. В эпицентре скандалов регулярно оказываются сами США.
Особенно достается военным. Очень многим сильно не нравится, как и для чего они используют открытые разработки. Большой шум поднялся в 2019-м, когда выяснилось, что свободное ПО Kubernetes используется для управления флотом истребителей F-16. Годом позже серьезное недовольство вызвало использование в военных целях искусственного интеллекта, алгоритмы которого содержали большое количество открытого кода.
И всякий раз говорится, что стоит запретить злоупотребления со стороны правительства и использование открытого кода в военных целях. Обычно предлагают дополнительные лицензии, тем или иным образом ограничивающие неэтичное – что бы под этим ни подразумевалось – использование кода. Вот, например, инициатива Коралайн Эмке – она (до 2014-го он) и разработчик, и известная активистка, и автор «Пост-меритократического манифеста» и «Соглашения контрибьютора» – декларации о том, что разработчики, участвующие в создании свободного ПО, не будут ущемлять права меньшинств, прежде всего сексуальных. Эмке предлагает собственный вариант, который называется «Лицензия Гиппократа». Вот как она комментирует свою инициативу: «Пора открытому коду повзрослеть. Пора принять ответственность за то, как он используется. Мы больше не можем слепо руководствоваться либертарианскими идеалами ничем не ограниченной свободы. Мы живем в обществе, где результаты нашей работы влияют на других. Иногда самым разрушительным образом. Мне нравится, как открытый код уже изменил мир. И я думаю, у него есть большой потенциал для будущего. Но мы должны навести порядок в доме». Сама лицензия Эмке начинается с сильно политизированной преамбулы, и опирается на семь этических принципов. Интерес представляет завуалированная попытка подменить идею свободы каким-то «духом открытости» и не очень понятными «этическими ограничениями». По сути, это не лицензия, а очередная декларация о благих намерениях.
На деле совсем непросто разработать механизмы, которые позволили бы, не подрывая базовые принципы свободного ПО, как-то регулировать этические вопросы. Этика – очень непростая тема. И то, что в последние годы рассуждения о морали стали модным трендом в IT, отнюдь не способствует решению реальных проблем. Скорее, наоборот.
Конкретный разработчик, исходя из своих представлений о том, что такое хорошо и что такое плохо, конечно, может запретить использование результатов своего труда. Это его законное право. Но если изначально код был открытым, всё, что уже наработано, остается свободным и даже продолжает накладывать определенные ограничения на будущую работу. А так любой может сделать так называемый форк (ответвление) и использовать имеющийся код для нового проекта. Но если цель – ограничить использование своей интеллектуальной собственности, то есть сделать ее несвободной, сам проект не сможет больше быть открытым.
Здесь много нюансов, которые могут создавать сложности для пользователей. Но не меньшие проблемы они создают и для разработчиков. Тем более, что во многих проектах участвуют десятки и даже сотни людей. И «держатель» кода несет перед ними как минимум этическую ответственность.
Есть и чисто технические моменты. Так, основная площадка для проектов с открытым исходным кодом – сервис GitHub. Изначально это была весьма демократичная платформа для совместной работы, хранения ко-да и управления версиями. Но в июне 2018-го ее за $7,5 млрд купила Microsoft. Сделка вызвала тогда немалое возмущение в сообществе разработчиков, многие из которых были очень обеспокоены возможными последствиями. Но генеральный директор Microsoft Сатья Наделла торжественно заверял всех в «полной приверженности свободе, открытости и инновациям в разработке».
По факту Microsoft, как законопослушная компания, может оказаться в сложном положении. Уже были прецеденты, когда доступ к GitHub ограничивали разработчикам из Ирана, КНДР и Крыма. Правда, надо отдать должное, сервис всегда старался добиться от властей того, чтобы, несмотря на любые ограничения и санкции, все разработчики могли свободно продолжать свою работу.
На фоне украинского кризиса Microsoft поначалу занял выжидательную позицию. Позже стало известно, что компания приостановила продажу своих продуктов и работу сервисов в России. Однако это не касается GitHub. Команда сервиса заявила: «GitHub – это дом для всех разработчиков, где бы они ни находились. Мы серьезно относимся к обязанности тщательно изучать правительственные указы, чтобы быть уверенными, что наши пользователи и клиенты не будут ограничены в работе. Это подразумевает защиту открытого сотрудничества и свободного потока информации в нашем сообществе». Учитывая, что у Microsoft особо тесные отношения и с Белым домом, и с военными, GitHub ограничения, скорее всего, не коснутся.
Тем более, что речь идет не только об открытом или свободном ПО. Речь об интеллектуальной собственности вообще. Тот же Столлман мыслил гораздо шире. Именно он предложил концепцию копилефта: возможность использовать оригинальные работы при создании новых произведений без получения разрешения владельца авторского права. Но автор производной работы должен распространять ее с сохранением тех же самых прав. На близких принципах строится и так называемая «открытая наука». Этот термин стал употребительным с 2014 года, когда по результатам опроса Европейской комиссии было решено использовать его вместо «Наука 2.0». Сюда входят различные движения за открытый доступ, открытые данные, открытая научная кооперация, краудфандинг и многое другое.
Так что ставки гораздо выше и прямо затрагивают самые фундаментальные ценности. И это совсем не то, что индивидуальные представления о прекрасном. А этика, как бы обидно это ни звучало для программистов, много сложнее, чем написание кода. Тем же, кто спешит бросаться на моральные амбразуры, стоит прислушаться к словам Бернарда Шоу: «Мораль нации как зубы – чем гнилее, тем больнее до них дотрагиваться».