Перейти к содержимому

Применение критериев «Голубого ангела» к свободному программному обеспечению

Руководство по сертификации программного обеспечения как экологичного (февраль 2023 г.)

6 марта 2023  |  KDE Eco

Введение: о чём это всё?

В этом руководстве приведён краткий обзор экологического ущерба, вызванного программным обеспечением, и того, как экомарка «Голубой ангел» — официальный экологический знак правительства Германии — служит эталоном для экологически устойчивого проектирования программного обеспечения.

«Голубой ангел» присуждается широкому кругу товаров и услуг — от бытовых чистящих средств до малогабаритной техники и строительных изделий. В 2020 году Федеральное агентство по окружающей среде Германии расширило критерии присуждения, включив в них программные продукты. Это была первая в мире экологическая сертификация, связавшая прозрачность и автономию пользователя — две основы свободного и открытого программного обеспечения (FOSS) — с устойчивым развитием.

Может возникнуть вопрос: какое вообще отношение экологическая устойчивость имеет к программному обеспечению? Как нечто, казалось бы, столь нематериальное, как программное обеспечение, может оставлять экологический след? В этом руководстве подробнее рассматривается, каким образом программное обеспечение способствует климатическому кризису и как может помочь соблюдение критериев присуждения «Голубой ангел» для экологической сертификации программного обеспечения.

Книга состоит из трёх частей:

  • Часть I: воздействие программного обеспечения на окружающую среду
  • Часть II: экологическая сертификация настольного программного обеспечения
  • Часть III: выполнение критериев присуждения «Голубой ангел»

Если в части I исследуется почему, а в части II — что экологической сертификации программного обеспечения, то в части III рассматривается как: объясняется, что нужно знать, чтобы измерить энергопотребление своего программного обеспечения и подать заявку на экомарку «Голубой ангел». В этом разделе приводится пошаговое руководство по выполнению азбуки критериев присуждения: (A) эффективность использования ресурсов и энергии, (B) потенциальный срок эксплуатации оборудования и (C) автономность пользователя.

Часть I: воздействие программного обеспечения на окружающую среду

Фотография электронных отходов. (Изображение опубликовано по лицензии общественного достояния CC0-1.0.)
Figure : Фотография электронных отходов. (Изображение опубликовано по лицензии общественного достояния CC0-1.0.)

В 2021 году Ассоциация вычислительной техники (ACM) — старейшее в мире научное и образовательное сообщество в области вычислительной техники — выпустила доклад Совета по технологической политике под названием «Вычисления и изменение климата». Среди прочих выводов в этом обзоре рассматривается экспоненциальный рост потребления энергии и ресурсов искусственным интеллектом и подключёнными к Интернету устройствами — как при производстве, так и при использовании. Оценки, приведённые в докладе, ошеломляют. Только за 2021 год вклад сектора информационно-коммуникационных технологий (ИКТ) в мировые выбросы углерода оценивается в 1,8–3,9 %. Для сравнения: это сопоставимо с мировой авиационной отраслью, на долю которой, по оценкам, приходится 2,5 % всех выбросов. В докладе содержится предупреждение: если ничего не изменить, к 2050 году выбросы углерода, обусловленные сектором ИКТ, возрастут более чем до 30 % всех мировых выбросов.

Две диаграммы: слева — сравнение выбросов парниковых газов авиационной отрасли (синий цвет) и сектора ИКТ (зелёный цвет), справа — прогнозные оценки выбросов сектора ИКТ к 2050 году, если ничего не изменится. Данные взяты из отчёта Совета по технологической политике ACM за 2021 год. (Изображение от KDE, опубликовано под лицензией CC-BY-SA-4.0. Значок Самолёт от Simon Child и значок ИТ от Sari Braga, лицензия CC-BY. Дизайн — Lana Lutz.)
Figure : Две диаграммы: слева — сравнение выбросов парниковых газов авиационной отрасли (синий цвет) и сектора ИКТ (зелёный цвет), справа — прогнозные оценки выбросов сектора ИКТ к 2050 году, если ничего не изменится. Данные взяты из отчёта Совета по технологической политике ACM за 2021 год. (Изображение от KDE, опубликовано под лицензией CC-BY-SA-4.0. Значок Самолёт от Simon Child и значок ИТ от Sari Braga, лицензия CC-BY. Дизайн — Lana Lutz.)

В своих выводах авторы признают внутреннее противоречие цифровизации: цифровые технологии «могут помочь смягчить изменение климата», но «сначала должны перестать способствовать ему» (с. 1). ИКТ коренным образом изменили наш образ жизни, и их часто хвалят за то, что они делают повседневную жизнь удобнее и эффективнее. Компании используют цифровые технологии для эффективного распределения всевозможных потребительских товаров и дематериализации повседневных продуктов. Такие транспортные средства, как автомобили, самокаты и велосипеды, легко взять в аренду через приложения для смартфонов, поэтому владеть ими, чтобы ими пользоваться, больше не требуется. Широкое распространение потокового видео означает, что для просмотра фильма не нужно производить и перевозить DVD и диски Blu-ray, а сжигание топлива при поездке в пункт проката за диском в субботу вечером осталось в прошлом. Устройства для чтения электронных книг заменили целые книжные полки. Поскольку глобальная пандемия SARS-CoV-2 ускорила интеграцию цифровизации во все стороны повседневной жизни, видеоконференции заменяют мероприятия, которые когда-то проводились (почти) исключительно лично: совещания в офисе, международные научные конференции, местные фортепианные концерты и даже первые свидания … и всё это теперь возможно, не выходя из дома, с помощью устройства с доступом в Интернет.

При всём том, что технологические разработки, как кажется, сделали нашу жизнь менее материальной и менее расточительной, а значит, более удобной и эффективной, может показаться, что стремительная цифровизация приносит больше пользы для достижения целей устойчивого развития, чем вреда.

Но так ли это на самом деле?

Интернет и используемые для подключения к нему устройства требуют инфраструктуры — реального физического оборудования, которое потребляет энергию и расходует ресурсы. Часто остаётся без внимания воздействие на окружающую среду, например, заводов, выпускающих эти устройства, или охватывающей целые континенты инфраструктуры, обеспечивающей глобальную связь. Всё это требует энергии при повседневной эксплуатации. Более того, оборудование, которое больше не используется, либо попадает в центры утилизации для обработки по окончании срока службы (что требует ещё больше энергии), либо превращается в электронные отходы, токсичные как для людей, так и для окружающей среды. Затем производятся и транспортируются новые устройства, во многих случаях без необходимости.

«Ещё реже осознают тот факт, что ключ к повышению энергоэффективности и сохранению природных ресурсов заключается не в аппаратном обеспечении, а прежде всего в программном обеспечении». — Критерии награды «Голубой ангел»: Ресурсо- и энергоэффективные программные продукты (с. 5)

На фоне этой более широкой картины можно упустить из виду важнейшую роль, которую программное обеспечение играет в нанесении экологического ущерба. Более того, во многих случаях именно программное обеспечение определяет энергопотребление и срок службы цифровой инфраструктуры. В этом руководстве подробнее рассматриваются некоторые из способов, которыми цифровые технологии наносят экологический ущерб и усугубляют климатический кризис. Это руководство не выступает против технологий — несомненно, цифровизация бесчисленными способами улучшила жизнь огромного числа людей. Но экологические последствия цифровых технологий заставляют глубже задуматься о том, как они используются и как их можно использовать эффективнее. И хорошая новость: благодаря проектированию программного обеспечения разработчики могут незамедлительно и существенно повлиять на многие из обсуждаемых здесь проблем.

На протяжении всего текста, и особенно в последующих разделах, экологическая маркировка «Голубой ангел» для настольного программного обеспечения служит эталоном для экологически устойчивого проектирования программного обеспечения. Но что вообще означает «Голубой ангел»?

Экомарка «Голубой ангел» (нем. Blauer Engel Umweltzeichen) — официальный экологический знак правительства Германии. В 2020 году Федеральное агентство по окружающей среде Германии (нем. Umweltbundesamt, или UBA) опубликовало критерии присуждения для сертификации программных продуктов для настольных систем — первую в мире экологическую сертификацию, связавшую прозрачность и автономию пользователя с устойчивым развитием. Свободное и открытое программное обеспечение (FOSS) имеет здесь реальное преимущество. К концу этого руководства, надеемся, станет понятнее, в чём именно.

Но чтобы эффективно решить проблему, сначала нужно определить, в чём она заключается. Поэтому прежде всего следует понять, что понимается под цифровым углеродным следом и как в этом участвует программное обеспечение, используемое каждый день.

Материальный след цифровых технологий

Цифровые технологии часто (и ошибочно) связывают с нематериальностью. Отправляя электронное письмо или загружая данные в облако, легко представить, будто передаваемые данные растворяются в эфире. Но у цифровизации есть вполне реальная, вполне материальная сторона: она охватывает не только физические устройства вроде смартфонов и ноутбуков, но и заводы по переработке добываемых металлов, необходимых для их работы, контейнеровозы, перевозящие серийно выпускаемое оборудование, а также кабели и центры обработки данных, подключающие их к глобальным сетям. В докладе 2018 года «Бережливые ИКТ: на пути к цифровой умеренности» эта проблема описывается так:

[М]атериальный след цифровых технологий в значительной степени недооценивается пользователями из-за миниатюризации оборудования и «невидимости» используемой инфраструктуры. Это явление усиливается широкой доступностью услуг в «облаке»: физическая реальность использования становится ещё менее ощутимой, что ведёт к недооценке прямого воздействия цифровых технологий на окружающую среду. (с. 10)

Как пошутили в одной статье New York Times: «люди думают, что данные находятся в облаке, но это не так. Они в океане», — имея в виду подводные кабели связи, протянувшиеся по всему земному шару. Чтобы осязаемая реальность «облака» спустилась на землю и под воду, необходимо сместить взгляд на скрытую инфраструктуру, служащую основой нашей цифровой жизни. Сети передачи данных могут находиться преимущественно под водой, но выбросы углерода будут иметь катастрофические последствия для всей природной среды. На конференции COP27 в ноябре 2022 года Генеральный секретарь ООН António Guterres подчеркнул безотлагательность момента, заявив: «Мы мчимся по шоссе в климатический ад, не снимая ноги с педали газа».

Цифровые технологии способны помочь смягчить изменение климата, но сначала им самим нужно перестать его усугублять.

Карта подводных кабелей связи в мире. (Данные о кабелях — Greg Mahlknecht, файл KML выпущен под лицензией GPLv3; карта мира — участники Openstreetmap.)
Figure : Карта подводных кабелей связи в мире. (Данные о кабелях — Greg Mahlknecht, файл KML выпущен под лицензией GPLv3; карта мира — участники Openstreetmap.)

Что в секторе ИКТ способствует росту концентрации CO2 в атмосфере?

С 2012 по 2018 год потребность искусственного интеллекта (ИИ) в энергии выросла в 300 000 раз, и в настоящее время она удваивается каждые несколько месяцев. По оценкам, обучение одной модели ИИ (например, используемой в машинном переводе или языковом моделировании) может потребовать энергии, эквивалентной перелёту туда и обратно из Нью-Йорка в Сан-Франциско … 300 раз (это около 626 000 фунтов CO2)! Технология блокчейна также печально известна как источник стремительно растущего энергопотребления — в частности, системы доказательства выполнения работы, такие как Bitcoin, которые, как сообщает Harvard Business Review, требуют столько же энергии, сколько целые страны, например Швеция или Малайзия.

В то же время цифровых устройств используется больше, чем когда-либо прежде. Число подключённых к Интернету устройств — ноутбуков и смартфонов, а также умных телевизоров, домашних помощников и других устройств Интернета вещей — быстро растёт, и, по прогнозам, к 2025 году превысит 75 миллиардов. Это примерно 10 устройств на каждого жителя Земли (хотя распределение этих устройств по миру далеко от равномерного). Во всём мире быстро растёт распространение смартфонов, а также потребность в ресурсах, необходимых для производства новых и всё более мощных устройств. Производство этих устройств, включая добычу редкоземельных металлов, необходимых для их работы, а также их транспортировка, использование и последующая утилизация потребляют огромное количество энергии.

Однако здесь важно подчеркнуть, что потребление энергии — не то же самое, что выбросы углерода. Выбросы углерода зависят от конкретного состава видов топлива, используемых для производства электроэнергии, то есть от структуры производства электроэнергии. Например, в 2016 году структура производства электроэнергии для энергоснабжения Европейского союза включала 32,9 % нефти, 23,9 % газа, 14,9 % угля, 13,7 % атомной энергии и 14,5 % возобновляемых источников энергии. С энергетическим кризисом 2022 года энергобаланс в ЕС изменился — в некоторых случаях в лучшую сторону в долгосрочной перспективе, в некоторых — в худшую в краткосрочной. Относительные выбросы углерода зависят от этой структуры: например, потребление энергии из 100 % углеродно-нейтральных источников не приводит к прямым выбросам CO2.

Относительный вред — или когда меньше не значит больше

Цифровизация часто ассоциируется с «дематериализацией»: печатать билеты на концерт или на поездку на бумаге больше не нужно — их можно загрузить и предъявить на смартфоне; фотографии собираются не в набитых доверху обувных коробках, а на небольшом планшете или жёстком диске; тысячи фильмов и телесериалов передаются потоком на ноутбуки, так что коллекции фильмов уходят в прошлое. Во многих случаях для всего перечисленного — и многого, многого другого — служит одно устройство: смартфон.

Когда-то каждый из этих материальных предметов был важной частью нашей повседневной жизни… но сегодня они просто больше не нужны. Ведь для Земли это лучше, не так ли?

Хотя цифровые устройства способны сократить некоторые виды отходов, оценка истинного воздействия цифровых технологий на окружающую среду требует учёта всего жизненного цикла изделия. Сюда входят затраты на производство и транспортировку цифровых устройств (как до магазина и обратно, так и до места захоронения отходов), а также затраты на устранение экологического ущерба, причинённого электронными отходами. Это особенно важно при оценке совокупного углеродного следа наших цифровых технологий, поскольку в некоторых случаях производство устройств вместе с их транспортировкой и обработкой по окончании срока службы даёт больше выбросов парниковых газов, чем использование устройств за весь срок их эксплуатации. В качестве иллюстрации рассмотрим Отчёт об экологической ответственности Apple за 2019 год, в котором вклад Apple в 2018 году оценивается в 25,2 млн метрических тонн CO2 (с. 9). Большая часть этого — целых восемьдесят процентов (!!!) — приходится на производство (74 %), транспортировку (5 %) и обработку по окончании срока службы (<1 %). Лишь 19 % приходится на фактическое использование устройств.

Так когда же затраты на производство цифрового устройства, призванного заменить все эти аналоговые предметы, себя оправдывают? Книга «Smarte Grüne Welt» (англ. Smart Green World) Steffen Lange и Tilman Santarius (2018) исследует, насколько сложно учесть относительный экологический ущерб, пытаясь ответить на подобные вопросы. Рассмотрим отрывок, в котором авторы исследуют воздействие на окружающую среду печати бумажных книг по сравнению с производством устройств для чтения электронных книг (с. 29–31; перевод с немецкого):

Производство электронных устройств, очевидно, требует больше энергии и ресурсов, чем печать одной книги. Например, на производство устройства для чтения электронных книг, обычно весящего менее 200 граммов, приходится около 15 килограммов различных материалов (особенно невозобновляемых металлов и редкоземельных элементов), 300 литров воды и 170 килограммов парникового газа — углекислого газа. Однако решающее значение имеют не только объёмы затрачиваемых и получаемых материалов, но и их воздействие на окружающую среду. Между устройствами для чтения электронных книг и книгами существуют большие различия, особенно в токсичности материалов и производственных процессов. Действительно, бумажная промышленность во многих странах (по-прежнему) оказывает весьма негативное воздействие на окружающую среду, например, когда хлор или кислоты отравляют местные водоёмы. Однако воздействие электронной промышленности на окружающую среду порой оказывается разрушительным: в состав устройств для чтения электронных книг и других ИТ-продуктов входят бромированные антипирены, фталаты, бериллий и множество других химических веществ, чрезвычайно вредных для здоровья и окружающей среды. Не говоря уже о социальных последствиях, таких как порой ужасные условия труда, в которых кобальт, палладий, тантал и другие ресурсы для цифровых устройств сначала добываются в таких диктатурах, как Республика Конго, или в других странах глобального Юга — а затем по окончании срока службы выбрасываются там в виде вредных для окружающей среды электронных отходов.

Несмотря на всё это, устройство для чтения электронных книг может оказаться лучше книги. В конечном счёте это зависит от двух факторов: сколько книг прочитывается на устройстве за весь срок его службы? И сколько людей пользуются одной бумажной книгой? Чтобы высокие экологические издержки производства устройства для чтения электронных книг окупились с экологической точки зрения, на нём необходимо прочитать определённое число книг. Это происходит после того, как прочитано от 30 до 60 книг — в зависимости от толщины книги и от экологического показателя. Если на устройстве для чтения электронных книг прочитано меньше этого числа книг, лучше выбрать бумажный формат. Если это число превышено, каждая следующая книга на устройстве экологичнее своего бумажного аналога. Кроме того, решающее значение имеет то, как используются предметы […]: если предположить, что человек покупает книгу и никому больше не даёт её посмотреть, то файл на устройстве для чтения электронных книг примерно в пять раз энергоэффективнее книги. Однако это преимущество исчезает, когда книгой пользуются несколько человек.

Для производства одного устройства для чтения электронных книг требуется 15 килограммов различных материалов, 300 литров воды и 170 килограммов парникового газа — углекислого газа. Если прочитать на таком устройстве меньше 30–60 книг, возможно, с экологической точки зрения лучше читать бумажные книги. (Изображение от KDE, опубликовано под лицензией CC-BY-SA-4.0. Дизайн — Lana Lutz.)
Figure : Для производства одного устройства для чтения электронных книг требуется 15 килограммов различных материалов, 300 литров воды и 170 килограммов парникового газа — углекислого газа. Если прочитать на таком устройстве меньше 30–60 книг, возможно, с экологической точки зрения лучше читать бумажные книги. (Изображение от KDE, опубликовано под лицензией CC-BY-SA-4.0. Дизайн — Lana Lutz.)

Итак, приводит ли замена физических объектов с помощью цифровых технологий к снижению воздействия на окружающую среду? Что ж, всё зависит от обстоятельств. Например, если вы купите устройство для чтения электронных книг, прочитаете ли вы на нём 30–60 книг, прежде чем выбросить устройство? Согласно опросу Gallup, в 2021 году 57 % американцев прочитали меньше 5 книг за год, а 15 % — от 6 до 10 книг. Это означает, что более чем для двух третей населения США устройство для чтения электронных книг должно использоваться от пяти до десяти лет, чтобы стать более экологичным выбором. Но сколько потребителей переходят на новое, более привлекательное устройство задолго до этого?

Стоит также задаться вопросом, будет ли устройство поддерживаться компанией в течение всего срока, необходимого, чтобы оно стало менее вредным выбором. В конце 2022 года список снятых с производства устройств для чтения электронных книг в Википедии насчитывал семьдесят одно устройство. Согласно этому списку, средний срок службы, то есть от года выпуска до года снятия с производства, составлял 1,5 года — значительно меньше минимального пятилетнего срока использования, не говоря уже о десяти годах! Сколько из этих устройств для чтения электронных книг всё ещё работали, но оказались на свалке из-за прекращения поддержки программного обеспечения? Такое устаревание оборудования вносит значительный вклад в ущерб окружающей среде — будь то в виде электронных отходов или выбросов углерода, связанных с производством устройства. Как пишут Lange и Santarius: «сомнительно, что все проданные устройства для чтения электронных книг, прежде чем они сломаются или снова технически устареют, используются в среднем настолько интенсивно, что достигается общая экологическая выгода» (с. 31; перевод с немецкого).

«Цунами» электронных отходов

Статуя «WEEE Man» высотой семь метров — настоящий гигант. Своё название она получила от директивы 2003 года об отходах электрического и электронного оборудования (WEEE), устанавливающей целевые показатели по сбору, переработке и утилизации электронных отходов в ЕС,1 а изготовлена она из 3,3 метрических тонн электрических отходов — среднего количества электронных отходов, которое один житель Великобритании создаёт за всю жизнь.

Изображение статуи «WEEE Man», изготовленной из 3,3 метрических тонн электрических отходов — среднего количества электронных отходов, которое один житель Великобритании создаёт за всю жизнь. (Фотография James T.M. Towill, опубликована по лицензии CC-BY-SA-2.0.)
Figure : Изображение статуи «WEEE Man», изготовленной из 3,3 метрических тонн электрических отходов — среднего количества электронных отходов, которое один житель Великобритании создаёт за всю жизнь. (Фотография James T.M. Towill, опубликована по лицензии CC-BY-SA-2.0.)

Электронные отходы считаются «самым быстрорастущим потоком отходов в мире»: в 2016 году их было образовано 44,7 млн метрических тонн — это эквивалент 4 500 Эйфелевых башен, которые, будучи сложены вместе, в 17 раз выше Эвереста. В 2018 году, по оценкам, было зарегистрировано 50 млн метрических тонн электронных отходов, что побудило ООН назвать это «цунами электронных отходов», накрывающим мир. Числа продолжают расти: в 2021 году в мире, по оценкам, было образовано 57 млн метрических тонн электронных отходов. Менее 20 процентов из них собирается и перерабатывается, и хотя они составляют лишь 2 % мусора на свалках, на них приходится почти 70 % токсичных отходов, обнаруживаемых там.

В 2016 году было образовано 44,7 млн метрических тонн электронных отходов. По оценкам, это эквивалентно 4500 Эйфелевым башням, а сложенные вместе они в 17 раз выше горы Эверест. Менее 20 % электронных отходов собирается и перерабатывается. Хотя электронные отходы составляют менее 2 % мусора на свалках, на них приходится почти 70 % токсичных отходов, содержащихся там. (Изображение от KDE, опубликовано под лицензией CC-BY-SA-4.0. Значок Эйфелева башня от Daniela Baptista, значок гора от Samy Menai, значок переработка от Kosong Tujuh, значок экскаватор от Peter van Driel, значок яд от Adrien Coquet, все под лицензией CC-BY. Дизайн — Lana Lutz.)
Figure : В 2016 году было образовано 44,7 млн метрических тонн электронных отходов. По оценкам, это эквивалентно 4500 Эйфелевым башням, а сложенные вместе они в 17 раз выше горы Эверест. Менее 20 % электронных отходов собирается и перерабатывается. Хотя электронные отходы составляют менее 2 % мусора на свалках, на них приходится почти 70 % токсичных отходов, содержащихся там. (Изображение от KDE, опубликовано под лицензией CC-BY-SA-4.0. Значок Эйфелева башня от Daniela Baptista, значок гора от Samy Menai, значок переработка от Kosong Tujuh, значок экскаватор от Peter van Driel, значок яд от Adrien Coquet, все под лицензией CC-BY. Дизайн — Lana Lutz.)

Воздействие электронных отходов на окружающую среду огромно. В электронном ломе, например в процессорах, содержатся потенциально опасные материалы: свинец, кадмий, бериллий, бромированные антипирены. Обработка электронных отходов по окончании срока службы также может быть связана со значительным риском для здоровья работников и их сообществ. Сборщики отходов рискуют своим здоровьем ради выбрасываемых драгоценных металлов в ноутбуках и смартфонах, «с примесью свинца, ртути и других токсичных веществ». Разборка и утилизация электронных отходов привели к ряду экологических последствий в развивающихся странах. Жидкие и атмосферные выбросы попадают в водоёмы, грунтовые воды, почву и воздух — а значит, и в наземных и морских животных, в сельскохозяйственные культуры, которые употребляют в пищу и животные, и люди, и в питьевую воду. Это загрязнение — важнейшая составляющая экологического ущерба от цифровых технологий.

Взгляд на программное обеспечение

Какова причина всех этих электронных отходов и почему цифровые устройства, которые всё ещё работают, попадают на свалки? Программная инженерия играет важную, но часто незаметную роль в формировании моделей нашего цифрового потребления. Производители регулярно побуждают потребителей покупать новые устройства, зачастую без необходимости; более того, они могут навязывать это через проектирование программного обеспечения. Из-за лицензионных ограничений на использование программного обеспечения и зависимости от поставщика конечные пользователи мало что могут с этим поделать. Словом, это в значительной степени экономические — а не технологические — причины превращения работающего оборудования в электронные отходы.

На снимке молодой человек сжигает электрические провода для извлечения меди в Агбогблоши (Гана), а другой работник по сбору металлолома приносит новые провода для сжигания. (Изображение Muntaka Chasant, опубликовано под лицензией CC-BY-SA-4.0.)
Figure : На снимке молодой человек сжигает электрические провода для извлечения меди в Агбогблоши (Гана), а другой работник по сбору металлолома приносит новые провода для сжигания. (Изображение Muntaka Chasant, опубликовано под лицензией CC-BY-SA-4.0.)

Блокировка программного обеспечения и запрограммированное устаревание делают оборудование непригодным для использования. Заброшенное программное обеспечение, выпущенное под проприетарной лицензией, в лучшем случае оставляет пользователей уязвимыми для вирусов и другого вредоносного программного обеспечения, а в худшем — просто перестаёт работать, без какой-либо альтернативы. Базовая инфраструктура, от которой люди могут зависеть при запуске приложения — например, серверы лицензий программного обеспечения, используемые поставщиками программного обеспечения для контроля доступа — может стать недоступной, иногда навсегда. Пользователи могут лишиться возможности продолжать использовать «устаревшее» оборудование, даже если бы захотели.

Разрастание функциональности и другие формы раздувания программного обеспечения могут сделать менее мощное оборудование устаревшим, даже если потребители никогда не запрашивали дополнительные функции или хотели бы удалить их, если бы имели такую возможность. Рассмотрим следующее:

«Начиная с 1970 года вычислительная мощность примерно каждые два года удваивается. Это означает, что функции обрабатываются вдвое быстрее, а значит, для тех же функций требуется меньше энергии. Подобного повышения эффективности в области программного обеспечения не наблюдается. […] Доступность всё более мощного аппаратного обеспечения привела к тому, что программное обеспечение от версии к версии становится всё более раздутым, так что больше ресурсов требуется при минимальном улучшении функциональности или даже при его отсутствии». — Критерии награды «Голубой ангел»: Ресурсо- и энергоэффективные программные продукты (с. 5)

В таких случаях зависимости от поставщика и ограничения для пользователей, обусловленные проектированием и лицензированием программного обеспечения, приводят к тому, что всё ещё работающие устройства отправляются на свалку, а на производство и перевозку новых расходуется всё больше ресурсов.

Даже если программное обеспечение не делает работающее оборудование устаревшим, проектирование программного обеспечения, требующее серверов лицензий, страдающее от разрастания функциональности и т. п., также приводит к повышенному энергопотреблению при его использовании. Например, исследование, опубликованное Федеральным агентством по окружающей среде Германии, и связанная с ним статья показали, что два приложения, выполняющие одну и ту же задачу и достигающие одного и того же результата, могут иметь кардинально различающиеся профили энергопотребления.

Диаграмма сравнения двух текстовых процессоров во время выполнения стандартного сценария использования. Текстовый процессор 1 — приложение с открытым исходным кодом. Этот текстовый процессор потребил в четыре раза меньше энергии, чем текстовый процессор 2 — проприетарное приложение. (Изображение от KDE, опубликовано под лицензией CC-BY-SA-4.0. Изображение адаптировано из рисунка 1 на странице 24 отчёта Федерального агентства по окружающей среде Германии.)
Figure : Диаграмма сравнения двух текстовых процессоров во время выполнения стандартного сценария использования. Текстовый процессор 1 — приложение с открытым исходным кодом. Этот текстовый процессор потребил в четыре раза меньше энергии, чем текстовый процессор 2 — проприетарное приложение. (Изображение от KDE, опубликовано под лицензией CC-BY-SA-4.0. Изображение адаптировано из рисунка 1 на странице 24 отчёта Федерального агентства по окружающей среде Германии.)

Данные исследования включают сравнение двух текстовых процессоров: текстовый процессор 1 обозначен как открытое программное обеспечение, а текстовый процессор 2 — как проприетарный программный продукт. Обе программы выполняли одну и ту же последовательность команд по стандартному сценарию использования (SUS), отражающему «наиболее типичное использование соответствующего программного обеспечения в течение определённого периода времени» (с. 23). Написание сценариев использования будет рассмотрено в практическом руководстве в части III этого руководства. Сейчас же важно отметить колоссальную разницу в энергопотреблении. При работе текстового процессора 2 расход энергии оказался в 4 раза больше, чем у текстового процессора 1— опять же, и это невозможно переоценить, для выполнения той же самой задачи!

Если присмотреться к энергопотреблению двух текстовых процессоров с течением времени, становится также ясно, насколько по-разному ведут себя эти две программы… и, возможно, вопреки ожиданиям. Обратите внимание на график ниже, на котором показано энергопотребление при выполнении последовательности команд сценария использования. Примерно на отметке 440 секунд сценарий предписывает обоим текстовым процессорам сохранить документ, после чего никаких дальнейших действий не запрашивает. Как видно, текстовый процессор 1 переходит в состояние простоя (как и следовало ожидать). Напротив, текстовый процессор 2 продолжает работу, потребляя энергию, хотя сценарий уже завершён.

График сравнения двух текстовых процессоров во времени при выполнении стандартного сценария использования. Текстовый процессор 1 с открытым исходным кодом (сверху) переходит в состояние простоя, когда ничего не делает, что наиболее заметно после сохранения документа примерно на отметке 440 секунд, когда сценарий больше не вызывает других действий. Для сравнения: проприетарный текстовый процессор 2 (снизу) редко переходит в простой, даже после сохранения документа, когда другие действия не вызываются. (Снимок экрана из статьи Kern et al. 2018, опубликованной под лицензией CC-BY-NC-ND; снимок экрана публикуется здесь с разрешения.)
Figure : График сравнения двух текстовых процессоров во времени при выполнении стандартного сценария использования. Текстовый процессор 1 с открытым исходным кодом (сверху) переходит в состояние простоя, когда ничего не делает, что наиболее заметно после сохранения документа примерно на отметке 440 секунд, когда сценарий больше не вызывает других действий. Для сравнения: проприетарный текстовый процессор 2 (снизу) редко переходит в простой, даже после сохранения документа, когда другие действия не вызываются. (Снимок экрана из статьи Kern et al. 2018, опубликованной под лицензией CC-BY-NC-ND; снимок экрана публикуется здесь с разрешения.)

Стоит задаться вопросом, для чего нужны дополнительные действия в интервале от 440 до 600 секунд: необходимы ли действия текстового процессора 2 для работы программного обеспечения? Собирает ли текстовый процессор пользовательские данные и передаёт ли он их? Если да, есть ли у пользователей возможность отказаться от такого рода аналитики? Действительно, автономия пользователя, например возможность отключить нежелательное использование данных, может существенно изменить энергетический профиль программного продукта. Интеллектуальный анализ данных, отслеживание третьими сторонами, персонализированные алгоритмы максимизации вовлечённости и реклама — значимые факторы энергопотребления. Сбор и анализ пользовательских данных и обучение алгоритмов на них требуют вычислительных мощностей и инфраструктуры.

Исследователи в ЕС оценили экологические издержки отслеживания и рекламы, от которых пользователи не могут отказаться, — то, что в докладе 2021 года «Углеродный след нежелательного использования данных смартфонами: анализ для ЕС» названо «нежелательным использованием данных». Углеродный след такого отслеживания со смартфонов — от 3 до 8 млн метрических тонн в год только в ЕС — «равен углеродному следу от 370 до 950 тыс. граждан ЕС» (в худшем случае — примерно годовой след города, такого как Турин или Лиссабон). В докладе отмечается, что около 60 % европейских пользователей смартфонов заявляют, что отказались бы от отслеживания и блокировали рекламу, когда это возможно. Слишком много энергии расходуется на то, чего большинство пользователей изначально не хочет!

«Истина — в прямо противоположном»: парадокс Джевонса

Рост эффективности программного обеспечения сам по себе не обязательно означает уменьшение экологического следа. Например, «эффект отскока» (также известный как «эффект возврата») описывает, как повышение эффективности может приводить к изменениям в использовании, которые снижают или даже сводят на нет первоначальный выигрыш.

Представьте, что изменение в программном обеспечении приводит к повышению энергоэффективности на 5 %. Однако из-за возросшей экономии энергии программное обеспечение может использоваться чаще, что в итоге снижает общую экономию энергии. Допустим, из-за более частого использования общее энергопотребление программного обеспечения снижается всего на 1 %. В этом случае эффект рикошета составляет 80 % ((5-1)/5): иными словами, первоначальный выигрыш в эффективности снизился на 80 %, практически сводя на нет всю экономию от улучшений!

Если эффект отскока превышает 100 %, то есть в итоге потребляется больше энергии, чем раньше, это называется парадоксом Джевонса, или «обратным ударом». Концепция принадлежит английскому экономисту William Stanley Jevons, который в 1865 году заметил, что технологические усовершенствования в использовании угля на самом деле увеличили потребление угля во всех отраслях. Jevons пришёл к выводу:

«Смешение понятий — полагать, что экономичное использование топлива равнозначно сокращению потребления. Истина прямо противоположна». [выделено нами]

Практическая интерпретация этого парадокса состоит в том, что повышение эффективности необходимо сочетать с практиками ресурсосбережения, чтобы получить ощутимый результат, иначе потребление в итоге окажется больше, чем прежде. Доклад ACM, упомянутый в начале этого раздела, говорит о том же: «Повышение эффективности за счёт вычислительных технологий должно сопровождаться резким сокращением спроса на энергию, чтобы снизить выбросы углерода в секторе ИКТ» (с. 1). Иными словами, и разработка программного обеспечения, И поведение пользователей — ключевые факторы, которые следует учитывать в борьбе с экологическим ущербом, обусловленным программным обеспечением.

Стоит ли всё это того?

Если взглянуть на картину в целом, экологический ущерб, вызванный программным обеспечением, и глобальные выбросы парниковых газов могут оказаться менее значительными по сравнению с другими отраслями. Поэтому уместно задаться вопросом: стоит ли уделять внимание воздействию программного обеспечения на окружающую среду — проблеме, которая в глобальном масштабе может показаться относительно небольшой?

Здесь можно рассмотреть несколько моментов. Первый — отказ от заблуждения «Не так плохо, как», известного также как «апелляция к худшим проблемам». Общий аргумент таков: вклад программного обеспечения в глобальные выбросы CO2 может быть не таким значительным, как вклад другой отрасли, и поэтому на нём не стоит сосредоточивать внимание. Ошибка этого аргумента в том, что, хотя другая отрасль может быть хуже, это не отменяет того факта, что разработка программного обеспечения наносит серьёзный ущерб окружающей среде. Более того, заблуждение «Не так плохо, как» предполагает ложный выбор между решением либо одной проблемы, либо другой, тогда как на самом деле экологически ориентированное проектирование программного обеспечения — лишь один фрагмент более общей картины.

Не будем уподобляться White Hat из xkcd и ссылаться на более серьёзные проблемы как на повод ничего не делать!

Комикс XKCD «2368: Bigger Problem» (опубликован по лицензии CC-BY-NC-2.5).
Figure : Комикс XKCD «2368: Bigger Problem» (опубликован по лицензии CC-BY-NC-2.5).

Во-вторых, сосредоточенность только на исправлении «самой большой проблемы» не обязательно является наиболее эффективной стратегией. Важно также учитывать вероятность успеха при решении проблемы, а также время и ресурсы, необходимые для этого. Свободное и открытое программное обеспечение, ориентированное на автономию пользователя и прозрачность, открывает уникальные возможности для пользователей, сообществ и организаций напрямую решать взаимосвязанные социальные и экологические проблемы. FOSS можно адаптировать, обновлять и поддерживать с меньшими затратами и без зависимости от поставщика или искусственных ограничений.

В-третьих, к настоящему моменту, надеюсь, уже ясно, что программное обеспечение действительно оказывает значительное влияние на энергопотребление и образование отходов, а то и другое имеет последствия для окружающей среды. Более того, при рассмотрении в масштабе даже минимальные изменения в проектировании программного обеспечения могут привести к экономии, сравнимой с годовым энергопотреблением целых городов. Это утверждение основано на примере инженера по продуктам SAP Detlef Thoms, который проводит приблизительные расчёты (04:20–06:10), чтобы перейти от сокращения на одну секунду процессорного времени, что эквивалентно экономии около 10 ватт-секунд, к экономии в 95 тысяч мегаватт-часов просто за счёт масштабирования. Такая экономия сравнима с годовым энергопотреблением более чем 30 тысяч домохозяйств из двух человек.

Сокращение на одну секунду процессорного времени примерно эквивалентно экономии 10 ватт-секунд. Если программным обеспечением пользуются 1,5 млн человек и совершается 20 операций в день в течение 230 рабочих дней, экономия составит около 19 мегаватт-часов. (Изображение от KDE, опубликовано под лицензией CC-BY-SA-4.0. Значок процессор от Azland Studio и значок курсор от Alice-vector, лицензия CC-BY. Пример от Detlef Thoms. Дизайн — Lana Lutz.)
Figure : Сокращение на одну секунду процессорного времени примерно эквивалентно экономии 10 ватт-секунд. Если программным обеспечением пользуются 1,5 млн человек и совершается 20 операций в день в течение 230 рабочих дней, экономия составит около 19 мегаватт-часов. (Изображение от KDE, опубликовано под лицензией CC-BY-SA-4.0. Значок процессор от Azland Studio и значок курсор от Alice-vector, лицензия CC-BY. Пример от Detlef Thoms. Дизайн — Lana Lutz.)

Если 500 разработчиков выполнят по 10 сокращений на одну секунду процессорного времени, это будет эквивалентно экономии 95 тысяч мегаватт-часов, или энергопотреблению 30 тысяч домохозяйств из двух человек за год. (Изображение от KDE, опубликовано под лицензией CC-BY-SA-4.0. Значок Курсор от Alice-vector, лицензия CC-BY. Пример от Detlef Thoms. Дизайн — Lana Lutz.)
Figure : Если 500 разработчиков выполнят по 10 сокращений на одну секунду процессорного времени, это будет эквивалентно экономии 95 тысяч мегаватт-часов, или энергопотреблению 30 тысяч домохозяйств из двух человек за год. (Изображение от KDE, опубликовано под лицензией CC-BY-SA-4.0. Значок Курсор от Alice-vector, лицензия CC-BY. Пример от Detlef Thoms. Дизайн — Lana Lutz.)

Как отмечает Detlef Thoms в видео: «Часто вполне обозримый набор решений приводит к существенным различиям в энергопотреблении».

Наконец, чтобы делать утверждения об относительном ущербе, необходимо сначала располагать оценками фактического воздействия. Поскольку исследования в области энергопотребления и потребления ресурсов программным обеспечением всё ещё довольно новы, данных для подкрепления утверждений часто не хватает. С помощью этого руководства и экомарки «Голубой ангел» в качестве ориентира KDE надеется помочь изменить это.

Изменение собственного программного обеспечения может показаться незначительным жестом в решении такой сложной проблемы, как изменение климата. Очевидно и то, что одних лишь изменений в индивидуальном потреблении может оказаться недостаточно (хуже того, данные свидетельствуют о том, что крупнейшие источники выбросов парниковых газов — такие как ExxonMobile — взяли на вооружение риторику личной ответственности потребителя, чтобы отвлечь внимание от собственной роли в кризисе). Это правда: будущее с нулевыми выбросами потребует коренных изменений в образе жизни, и такую ответственность невозможно возложить на отдельных людей. Но стоит вспомнить наблюдение антрополога Margaret Mead:

«Никогда не сомневайтесь, что небольшая группа мыслящих, преданных делу граждан способна изменить мир; более того, только это его и меняло.»

Структурные изменения происходят, когда преданные делу и увлечённые люди объединяются, чтобы противостоять острым общественным проблемам. Обладая десятилетиями опыта успешного объединения сообществ по всему миру для работы над общими целями, свободное и открытое программное обеспечение может стать мощной силой в борьбе с воздействием цифровизации на окружающую среду. Мы умеем организовываться — теперь дело за превращением планов в практику, а целей — в реальность. Объединимся в борьбе с экологическим ущербом, обусловленным программным обеспечением. Воспитаем культуру цифровой устойчивости в наших сообществах разработчиков программного обеспечения. Вместе создадим энерго- и ресурсоэффективное программное обеспечение!

Примечание об источниках

Часть материала в этом разделе основана непосредственно на тексте двух статей Википедии: (i) «Директива об отходах электрического и электронного оборудования» и (ii) «Электронные отходы». Оба текста опубликованы под лицензией Creative Commons Attribution-Share-Alike License 3.0.

Часть II: экологическая сертификация настольного программного обеспечения

Популярная многоплатформенная программа для чтения PDF-файлов и универсальное средство просмотра документов Okular от KDE в 2022 году получила экологическую маркировку «Голубой ангел». (Изображение от KDE, опубликовано под лицензией CC-BY-4.0.)
Figure : Популярная многоплатформенная программа для чтения PDF-файлов и универсальное средство просмотра документов Okular от KDE в 2022 году получила экологическую маркировку «Голубой ангел». (Изображение от KDE, опубликовано под лицензией CC-BY-4.0.)

Что общего у строительных материалов, туалетной бумаги и программного обеспечения?

Каждый из них может пройти экологическую сертификацию по маркировке «Голубой ангел» — официальному экологическому знаку правительства Германии!

Экомарка «Голубой ангел» присуждается широкому кругу товаров и услуг — от бумажной продукции и строительных материалов до принтеров — и удостоверяет, что продукт соответствует перечню строгих требований экологичности на протяжении всего жизненного цикла. В 2020 году Федеральное агентство по окружающей среде Германии расширило критерии присуждения, включив в них программные продукты, — это первая экологическая сертификация, связавшая прозрачность и автономию пользователя с устойчивым развитием.

В частности, критерии экологической сертификации требуют прозрачности в отношении энергопотребления программного обеспечения при его использовании, а также обеспечивают работоспособность программного обеспечения на старом оборудовании. Кроме того, критерии включают перечень требований, связанных с автономией пользователя, которые позволяют снизить воздействие программного обеспечения на окружающую среду.

В этом разделе даётся общий обзор «Голубого ангела» и азбуки критериев присуждения для программных продуктов для настольных систем. Также показано, как выполнение критериев присуждения позволяет снизить вред для окружающей среды. В частности, здесь подробно рассматриваются требования критериев присуждения «Голубой ангел» к автономии пользователя, к которым предстоит вернуться в части III. Но сначала — краткое введение в «Голубой ангел» и инициативу KDE Eco.

«Голубой ангел» для настольного программного обеспечения

«Голубой ангел», представленный в 1978 году, — первая в мире экомарка и официальный экологический знак, присуждаемый правительством Германии. Маркировка находится в ведении Федерального министерства окружающей среды, охраны природы, ядерной безопасности и защиты прав потребителей Германии (нем. Bundesministerium für Umwelt, Naturschutz, nukleare Sicherheit und Verbraucherschutz, или BMUV). Экомарка «Голубой ангел» также входит в Global Ecolabelling Network (GEN) — международную сеть экомарок типа I, которая на момент написания насчитывает 37 членов почти в 60 странах.

Логотип экомарки «Голубой ангел». Логотип намеренно оформлен так, чтобы соответствовать логотипу Программы ООН по окружающей среде. Это отражает стремление правительства Германии внедрить цели ЮНЕП в Германии. (Изображение опубликовано под лицензией CC-BY-SA-4.0.)
Figure : Логотип экомарки «Голубой ангел». Логотип намеренно оформлен так, чтобы соответствовать логотипу Программы ООН по окружающей среде. Это отражает стремление правительства Германии внедрить цели ЮНЕП в Германии. (Изображение опубликовано под лицензией CC-BY-SA-4.0.)

«Голубой ангел» не был первой экомаркой типа I для программного обеспечения — Совет по экологическим знакам Гонконга (Hong Kong Green Council), также входящий в Глобальную сеть экологической маркировки (Global Ecolabelling Network), опубликовал в 2010 году критерии для программного обеспечения в сфере «зелёных» ИТ. Но критерии экомарки «Голубой ангел» стали первыми, в которых определён процесс измерения энергопотребления программного обеспечения и указаны способы, с помощью которых независимость пользователя снижает ущерб окружающей среде.

Может возникнуть вопрос: что такое экологический знак типа I? Для таких экомарок учитывается весь жизненный цикл продукта. Кроме того, соблюдение критериев присуждения оценивает третья сторона. (Соблюдение требований экологических знаков типа II, напротив, заявляется самостоятельно и не требует аудита третьей стороной.)

Экомарка «Голубой ангел» присуждена примерно 100 группам товаров и услуг в различных отраслях, включая бумагу и строительные изделия, предметы обстановки, одежду, моющие и чистящие средства, услуги по уборке, бытовую химию, упаковку, транспортные средства, энергетику и отопление, а также бытовые электроприборы. С 2022 года, после экологической сертификации программы KDE для чтения PDF-файлов и универсального средства просмотра документов Okular, в этот список вошли и программные продукты для настольных систем.

Критерии награды для сертификации прозрачно разрабатывает Федеральное агентство по окружающей среде Германии. В процессе участвует Жюри экологического знака — орган, состоящий из поставщиков, а также организаций гражданского общества и научно-исследовательских учреждений. Независимый сторонний аудитор RAL gGmbH проверяет соответствие критериям и присуждает знак. Важно, что «Голубой ангел» не удостоверяет полную безвредность продукта. Сертифицированные продукты представляют собой скорее «меньшее зло» с точки зрения вреда окружающей среде — это можно выразить девизом «как можно меньше, но столько, сколько необходимо». Экомарка «Голубой ангел» не сравнивает разные продукты, а указывает, что продукт соответствует перечню требований для определённой категории.

Азбука критериев присуждения

Критерии награды «Голубой ангел» для «Ресурсо- и энергоэффективных программных продуктов» были опубликованы в январе 2020 года. У «Голубого ангела» две основные цели в отношении программного обеспечения: (i) награждать программное обеспечение с более низкими требованиями к производительности, чтобы «стал возможен более длительный срок эксплуатации […] оборудования»; и (ii) отмечать продукты, которые «выделяются благодаря высокому уровню прозрачности и дают пользователям больше свободы в использовании программного обеспечения» (с. 6). Для этого предусмотрены три основные категории, называемые здесь азбукой критериев присуждения: (A) эффективность использования ресурсов и энергии, (B) потенциальный срок эксплуатации оборудования и (C) автономность пользователя.

Азбука критериев присуждения. (Изображение от KDE, опубликовано под лицензией CC-BY-SA-4.0. Значок время от Adrien Coquet, лицензия CC-BY. Дизайн — Lana Lutz.)
Figure : Азбука критериев присуждения. (Изображение от KDE, опубликовано под лицензией CC-BY-SA-4.0. Значок время от Adrien Coquet, лицензия CC-BY. Дизайн — Lana Lutz.)

Критерии категории (A) требуют, чтобы энергопотребление программного продукта измерялось и документировалось, и устанавливают, что энергопотребление приложения не может возрасти более чем на 10% с момента его сертификации. Данные об энергопотреблении измеряются с помощью внешнего измерителя мощности и учитывают другую информацию о производительности оборудования, например загрузку ЦП или сетевой трафик, при типичном режиме работы программного обеспечения. Это будет рассмотрено в части III.

Критерии категории (B) гарантируют, что требования программного обеспечения к производительности достаточно низки для работы на старом, менее мощном оборудовании возрастом не менее пяти лет. Соответствие предполагает декларацию обратной совместимости с указанием оборудования, на котором работает программное обеспечение, и требуемого программного стека.

Наконец, критерии категории (C) обеспечивают влияние пользователей на энергопотребление и ресурсосберегающее использование своего программного обеспечения. Для критериев автономии предусмотрено восемь категорий.

  1. Форматы данных — совместимость, дающая пользователям выбор

    Поставщики не должны использовать форматы данных для того, чтобы привязать пользователей к конкретной программе, и не должны навязывать обременительные затраты на переход. Совместимые форматы данных не позволяют пользователям застрять на программе с высоким энергопотреблением, тогда как более эффективная программа достигает тех же результатов при меньших требованиях к оборудованию. Пользователи должны иметь возможность легко менять программы и при этом сохранять доступ ко всем своим данным.

  2. Прозрачность — удаление пользовательских зависимостей для долгосрочного использования

    Прозрачность программного кода и интерфейсов приложений означает устранение любой зависимости от конкретной компании или организации. Она также означает снятие ограничений на краткосрочное и долгосрочное использование программного обеспечения, а значит, и оборудования. Когда разработчики решают прекратить поддержку своего программного обеспечения, следует либо продолжать выпускать обновления безопасности (см. ниже), либо сделать исходный код общедоступным, чтобы третьи стороны могли продолжать поддержку программного обеспечения. Кроме того, расширению функциональности программного обеспечения не должны препятствовать ограничительные или недокументированные интерфейсы приложений (API).

  3. Непрерывность поддержки — обновления безопасности для предотвращения электронных отходов

    Зависимость от поставщиков в вопросах критически важных обновлений не должна приводить к появлению заброшенных программных продуктов, которые невозможно использовать, не создавая серьёзных неудобств для пользователей, таких как уязвимость перед вредоносным программным обеспечением. Обновления безопасности должны предоставляться на срок до пяти лет после прекращения разработки программного обеспечения. Кроме того, обновления безопасности должны быть отделимы от обновлений функций, чтобы пользователей не принуждали принимать нежелательные функции, например разрастание функциональности и другие формы раздувания. Такое заброшенное программное обеспечение и раздувание программного обеспечения делают оборудование непригодным для использования и приводят к образованию ненужных электронных отходов.

  4. Возможность удаления — удаление ненужного программного обеспечения для повышения эффективности

    Возможность полностью удалять ненужное программное обеспечение даёт экологические преимущества. Раздувание программного обеспечения, разрастание функциональности и нежелательные программные компоненты снижают эффективность: они занимают память, отнимают время обработки, увеличивают использование диска, расходуют место в хранилище и вызывают задержки при запуске и завершении работы системы. Когда пользователь больше не хочет пользоваться программой, должна быть возможность полностью удалить её из системы, сохранив все созданные пользователем данные.

  5. Автономная работа — отказ от зависимостей и снижение энергопотребления

    Использование программного обеспечения должно быть возможно без подключения к Интернету — если, конечно, сетевое подключение не требуется для предполагаемой функциональности программного обеспечения. Серверы лицензий и другие формы контроля доступа ограничивают использование приложения способами, не нужными для предполагаемой функциональности программного обеспечения. Когда сервер выходит из строя или происходит сбой в работе Интернета, такой контроль доступа лишает людей возможности использовать своё программное обеспечение, возможно, навсегда. Более того, такие зависимости требуют сетевого трафика и, следовательно, потребляют энергию сверх той, что необходима для предполагаемого назначения программного обеспечения.

  6. Модульность — снижение требований к памяти и энергопотреблению

    Пользователи должны иметь возможность устанавливать только необходимое. Второстепенные функции повышают потребление памяти и энергии, из-за чего программное обеспечение работает менее эффективно и, возможно, не сможет запуститься на старом оборудовании. У пользователей должна быть возможность ограничить набор функций программного обеспечения теми, которые им нужны или желательны.

  7. Свобода от рекламы — отказ для снижения энергопотребления

    Нежелательное использование данных только в Европейском союзе примерно соответствует годовому энергопотреблению такого города, как Лиссабон или Турин; см. часть I. Возможность отказаться от рекламы снижает потребность в энергии и ресурсах как на устройствах конечных пользователей, так и на серверах, обслуживающих рекламу. Отказ от рекламы также уменьшает объём передаваемых данных и тем самым снижает энергопотребление, связанное с сетевым трафиком.

  8. Документация — для поддержки ресурсосберегающего, непрерывного использования программного обеспечения… и, следовательно, оборудования

    Документация — необходимое условие долгосрочной жизнеспособности программного продукта. Документация также должна демонстрировать способность программного обеспечения к сохранению ресурсов. Документирование перечисленных выше критериев позволяет пользователям продолжать использовать программное обеспечение — а значит, и оборудование — на устойчивой основе, тогда как разработчики могут поддерживать программное обеспечение без зависимости или ограничений, навязанных поставщиками.

Программное обеспечение, спроектированное в соответствии с критериями присуждения, реже страдает от различных видов неэффективности. Это, в свою очередь, помогает смягчить проблему электронных отходов: если программное обеспечение не приводит к преждевременному устареванию оборудования, требуется производить и транспортировать меньше устройств, а значит, меньше ценных металлов нужно добывать и перерабатывать, что, в свою очередь, снижает загрязнение воды и почвы. Обеспечивая автономию пользователя, разработчики могут добиться того, что их программное обеспечение снижает вред для окружающей среды не одним способом — будь то за счёт более длительного использования устройств или за счёт сокращения потребления энергии и ресурсов во время работы программного обеспечения.

Ориентированные на прозрачность в отношении эффективности использования ресурсов и энергии, срока эксплуатации оборудования и автономии пользователя, критерии присуждения «Голубой ангел» для программного обеспечения представляют собой всеобъемлющую основу для начала обсуждения устойчивости программного обеспечения. В сообществах FOSS автономия пользователя и прозрачность и их преимущества часто воспринимаются как должное. Хотя принадлежность к свободному и открытому программному обеспечению не является требованием для получения экомарки «Голубой ангел», именно в этой категории FOSS проявляет себя наилучшим образом. Во многих отношениях FOSS уже находится на переднем крае устойчивого проектирования программного обеспечения!

Okular — первая экологически сертифицированная компьютерная программа

Отчёт об энергопотреблении Okular из OSCAR (Open source Software Consumption Analysis in R).
Figure : Отчёт об энергопотреблении Okular из OSCAR (Open source Software Consumption Analysis in R).

В 2022 году Okular — популярная многоплатформенная программа KDE для чтения PDF-файлов и универсальное средство просмотра документов — стала первым программным продуктом, официально отмеченным за экологичное проектирование программного обеспечения, что отражено в критериях награды «Голубой ангел». Okular — также первая экологически сертифицированная компьютерная программа в Глобальной сети экологической маркировки.

Okular — лишь один из программных продуктов, которые поддерживает KDE — всемирное сообщество инженеров-программистов, художников, авторов, переводчиков и создателей, приверженных разработке свободного программного обеспечения. KDE поддерживает множество продуктов FOSS, включая среду рабочего стола Plasma; приложение для рисования для художников и графических дизайнеров Krita; набор образовательных упражнений для детей GCompris; Kdenlive — профессиональный программный продукт для видеомонтажа; и, конечно, Okular — средство просмотра документов в форматах PDF, комиксов, научных и академических работ и технических чертежей.

Благодаря многолетней миссии и руководящему видению KDE с момента основания в 1996 году, а также таланту и возможностям участников сообщества, KDE является первопроходцем в продвижении устойчивого программного обеспечения. В 2021 году KDE запустил KDE Eco — проект, цель которого — вывести KDE и свободное программное обеспечение на передний край устойчивого проектирования программного обеспечения. Устойчивость не нова для свободного и открытого программного обеспечения (FOSS) — четыре свободы всегда делали свободное программное обеспечение устойчивым программным обеспечением. Но теперь две основы FOSS — прозрачность и автономия пользователя — получили более широкое признание благодаря своему влиянию на устойчивое развитие и были включены в критерии устойчивости, установленные Федеральным агентством по окружающей среде Германии в рамках экомарки «Голубой ангел».

Логотип инициативы KDE Eco. (Изображение от KDE, опубликовано под лицензией CC-BY-SA-4.0. Дизайн — Lana Lutz.)
Figure : Логотип инициативы KDE Eco. (Изображение от KDE, опубликовано под лицензией CC-BY-SA-4.0. Дизайн — Lana Lutz.)

С первым в истории экологически сертифицированным программным продуктом сообщество KDE отметило это достижение вместе с более широким сообществом свободного программного обеспечения, а также с кафедрой информатики Umwelt Campus Birkenfeld, где исследователи измерили потребление ресурсов и энергии Okular и другого программного обеспечения KDE.

Критерии награды «Голубой ангел» органично отражают ценности KDE и более широкого движения FOSS. Свободное и открытое программное обеспечение гарантирует прозрачность и передаёт управление пользователям, а не обязывает их работать с определёнными производителями или поставщиками услуг. Это позволяет пользователям решать, что им нужно от используемого программного обеспечения, и, в свою очередь, принимать решения об используемом оборудовании. Пользователи могут снизить энергопотребление своих программ при незначительной потере функциональности или без неё, устанавливая только необходимое — не больше и не меньше; они также могут избежать навязчивой рекламы или функций сбора данных, которые запускают фоновые процессы, дополнительно потребляя ресурсы устройства и сети. Что касается разработчиков FOSS, они обычно продолжают поддерживать оборудование, которое промышленность стремилась бы объявить устаревшим, предоставляя пользователям актуальное и безопасное программное обеспечение для устройств, которые иначе были бы выброшены как электронные отходы и в конечном счёте загрязняли бы свалки.

Okular выпускается под лицензией GPLv2+ и является свободным и открытым программным обеспечением (FOSS), поэтому уже соответствует многим критериям автономности пользователя, необходимым для получения знака одобрения «Голубой ангел». Для приведения Okular в полное соответствие с критериями присуждения была проведена дальнейшая работа: документирование функций автономности пользователя, обеспечение прозрачности энергопотребления и использования ресурсов, а также поддержка возможного продления срока эксплуатации оборудования.

Значок популярного приложения KDE Okular.
Figure : Значок популярного приложения KDE Okular.

Okular позволяет проверять цифровые подписи и самостоятельно подписывать документы, а также включать в документ аннотированный текст и комментарии, встраиваемые непосредственно в него. Okular работает в Linux, Windows, Android и Plasma Mobile; его можно загрузить для всех дистрибутивов GNU/Linux, в виде отдельного пакета из Flathub и Snap Store, через репозиторий выпусков KDE F-Droid для Android, а также из Microsoft Store. Исходный код также доступен в репозитории Okular на GitLab: его можно использовать, изучать, распространять, улучшать и, главное, получать от него удовольствие.

KDE и сообщество свободного программного обеспечения от всей души благодарят разработчиков Okular за создание экологичного программного обеспечения для всех нас!

В части III этого руководства рассматриваются шаги, которые необходимо выполнить, чтобы и ваш проект свободного программного обеспечения был отмечен за экологичное проектирование программного обеспечения. Но сначала — в чём именно заключаются преимущества получения «Голубого ангела»?

Преимущества «Голубого ангела»

Steffi Lemke, федеральный министр окружающей среды, охраны природы, ядерной безопасности и защиты прав потребителей (BMUV), сказала об репутации «Голубого ангела» следующее:

Всё больше людей при покупке товаров обращают внимание на долговечность и экологичность. Именно это и олицетворяет «Голубой ангел». Уже 40 лет экомарка независимо и достоверно служит гарантией высоких стандартов защиты окружающей среды и здоровья.

Действительно, в информационном буклете к 40-летию ««Голубой ангел» – 40 лет. Хорошо для меня. Хорошо для окружающей среды» Федеральное агентство по окружающей среде Германии (UBA) рассказало об истории, настоящем и будущем экомарки. В буклете перечислены некоторые общие критерии, которые учитываются при экологической сертификации продукта, например:

  • снижение выбросов вредных веществ в почву, воздух, воду и в помещениях;
  • Экологичное производство ресурсов;
  • долговечность, возможность ремонта и переработки продукта; и
  • эффективное использование, например, изделий, которые экономят энергию.

К концу этого раздела, надеемся, становится ясно, каким образом соблюдение критериев присуждения «Голубой ангел» для программных продуктов для настольных систем способствует, среди прочего, перечисленным выше преимуществам для окружающей среды.

Экологические знаки могут стать инструментом, который направит рынки в сторону экологически устойчивых продуктов. Как указано на сайте «Голубого ангела»: «Цель экологического знака — дать частным клиентам, крупным институциональным потребителям и государственным учреждениям надёжный ориентир для экологически осознанных покупок».

Что говорит рынок?

Опрос, приведённый в информационном буклете, показал, что 92 % немцев узнают экомарку, а для 37 % она влияет на выбор при покупке. Экомарку узнают и за пределами Германии! До 15 % получателей знака «Голубой ангел» находятся за пределами Германии. Одна из причин этого в том, что, в отличие от некоторых других экомарок, «Голубой ангел» не предъявляет требований к тому, где можно продавать продукт. Кроме того, знак «Голубой ангел» во всём мире считается признаком высокого качества, а критерии присуждения рассматриваются как показатель направления развития рынка ЕС — иногда их даже используют как ориентир для оптимизации продуктов.

Получение знака «Голубой ангел» повышает узнаваемость продукта не только среди частных лиц, но и среди крупных организаций. Инициативы в области экологичных государственных закупок (GPP), которые «стремятся содействовать государственным закупкам товаров, услуг и работ с пониженным воздействием на окружающую среду на протяжении их жизненного цикла» (Европейская комиссия), влияют на решения о покупке как в государственном, так и в частном секторе. Экологическая сертификация программного продукта по экомарке «Голубой ангел» демонстрирует приверженность долгосрочной цифровой устойчивости и обеспечивает видимость продукта как в Германии, так и за рубежом.

Примечание об источниках

Часть материала в этом разделе основана непосредственно на тексте двух статей Википедии: (i) ««Голубой ангел» (сертификация)» и (ii) «Раздувание программного обеспечения». Оба текста опубликованы под лицензией Creative Commons Attribution-Share-Alike License 3.0. Часть материала в этом разделе также основана непосредственно на записи в блоге KDE Eco «Первая в истории экологически сертифицированная компьютерная программа: популярная программа KDE для чтения PDF-файлов Okular», опубликованной под лицензией Creative Commons Attribution-ShareAlike 4.0 International License.

Часть III: выполнение критериев присуждения «Голубой ангел»

Мониторинг потребления энергии и аппаратных ресурсов в реальном времени с помощью LabPlot от KDE. (Изображение от Alexander Semke, опубликовано под лицензией CC-BY-NC-ND-4.0.)
Figure : Мониторинг потребления энергии и аппаратных ресурсов в реальном времени с помощью LabPlot от KDE. (Изображение от Alexander Semke, опубликовано под лицензией CC-BY-NC-ND-4.0.)

Три основные категории критериев присуждения «Голубой ангел» для настольного программного обеспечения:

  • (A) Эффективность использования ресурсов и энергии
  • (B) Потенциальный срок службы оборудования
  • (C) Автономия пользователя

В этом разделе приводится практическое руководство по выполнению каждого набора критериев. Выполнение базовых критериев присуждения даёт множество преимуществ. Обеспечение прозрачности энергопотребления программного обеспечения и соблюдение критериев срока эксплуатации оборудования и автономности пользователя даёт следующие преимущества:

  • Экологическая сертификация: Подайте заявку на экомарку «Голубой ангел», чтобы продемонстрировать пользователям, компаниям и государственным организациям, что ваше программное обеспечение спроектировано с учётом экологических требований.
  • Разработка на основе данных: выявляйте неэффективность в части энергопотребления и использования оборудования и принимайте решения на основе данных при разработке собственного программного обеспечения.
  • Экологичное проектирование: чтобы обеспечить долгосрочное устойчивое использование программного обеспечения, а значит, и оборудования, при проектировании следует учитывать критерии автономии пользователя.
  • Информация для конечных пользователей: продемонстрируйте пользователям, как ваше программное обеспечение уже спроектировано на принципах устойчивости, используя критерии «Голубого ангела» в качестве эталона.

Три шага к экологической сертификации: 1. Измерение, 2. Анализ, 3. Сертификация. (Изображение от KDE, опубликовано под лицензией CC BY-SA 4.0 International. Значок сертификат от Ongycon, лицензия CC-BY. Дизайн — Lana Lutz.)
Figure : Три шага к экологической сертификации: 1. Измерение, 2. Анализ, 3. Сертификация. (Изображение от KDE, опубликовано под лицензией CC BY-SA 4.0 International. Значок сертификат от Ongycon, лицензия CC-BY. Дизайн — Lana Lutz.)

(A) Измерение собственного программного обеспечения

Лабораторная установка состоит из измерителя мощности, компьютера для сбора и оценки показаний измерителя мощности и настольного компьютера для тестируемой системы, на котором эмулируется поведение пользователя. Описанная здесь установка соответствует спецификациям из «Базовых критериев присуждения „«Голубой ангел»“ для ресурсо- и энергоэффективных программных продуктов».

Терминология частично заимствована из работы Kern et al. (2018): «Устойчивые программные продукты — на пути к критериям оценки ресурсо- и энергоэффективности».

См. также следующие ресурсы Umwelt Campus Birkenfeld:

Обзор настройки лаборатории

Для лабораторной установки требуется 1 измеритель мощности и не менее 2 компьютеров:

  • Ваттметр

    Одно из устройств, рекомендованных «Голубым ангелом», — Gude Expert Power Control 1202 Series (руководство). Оно оснащено розетками для питания компьютера и измеряет ток во время работы. Управление устройством и считывание показаний выполняются по проводной сети Ethernet. Имеется веб-интерфейс пользователя и REST API, а также поддерживаются различные протоколы, такие как SNMP или syslog.

  • Компьютер 1: агрегатор и оценщик данных

    Компьютер будет использоваться для сбора и оценки результатов, полученных от измерителя мощности.

    Сценарий Python для считывания данных с Gude Expert Power Control 1202 Series доступен в репозитории FEEP.

    Рекомендуется отслеживать ход выполнения в реальном времени со второго компьютера, чтобы убедиться, что всё идёт гладко. Для этого можно использовать, например, Labplot от KDE; подробнее — здесь.

    Другим измерителям мощности может потребоваться несвободное программное обеспечение, например GridVis Power Grid Monitoring Software от Janitza.

Снимок экрана с измерителем мощности Gude.
Figure : Снимок экрана с измерителем мощности Gude.

  • Компьютер 2: тестируемая система

    Эталонная система — это оборудование, используемое для измерения энергопотребления «тестируемой системы», или SUT. Тестируемая система включает операционную систему и программное обеспечение, установленные для (i) тестирования программного продукта, (ii) эмуляции стандартного сценария использования2 и (iii) сбора результатов производительности оборудования.

Обратите внимание на следующее:

Обзор лабораторной установки: тестируемая система (SUT), измеритель мощности (PM), а также агрегатор и анализатор данных (DAE). (Изображение от KDE, опубликовано под лицензией CC-BY-SA-4.0. Дизайн — Lana Lutz.)
Figure : Обзор лабораторной установки: тестируемая система (SUT), измеритель мощности (PM), а также агрегатор и анализатор данных (DAE). (Изображение от KDE, опубликовано под лицензией CC-BY-SA-4.0. Дизайн — Lana Lutz.)

Тестируемая система (SUT)

Например, Fujitsu Esprimo P920 Desktop-PC proGreen (Intel Core i5-4570, 3,6 ГГц, 4 ГБ ОЗУ, жёсткий диск 500 ГБ) — одна из рекомендуемых эталонных систем; другие рекомендуемые системы Fujitsu перечислены в приложении D к критериям присуждения.

На эталонной системе необходимо настроить тестируемую систему (SUT), то есть систему, на которой будет тестироваться программное обеспечение. Тестируемая система должна снижать постороннее энергопотребление и иметь стандартизированную конфигурацию. Рекомендуется следующее:

  • Перезаписать весь жёсткий диск компьютера стандартизированной ОС.
  • Отключите все возможные фоновые процессы (автоматические обновления, резервное копирование, индексация и т. д.).
  • Установите необходимое программное обеспечение, а именно приложение, подлежащее измерению, а также программное обеспечение для эмуляции действий пользователя (например, xdotool) и сбора данных о производительности оборудования (например, Collectl).
  • При выполнении сценариев использования кэш следует очищать между запусками, а новые файлы удалять перед началом следующего измерения.

Подготовка стандартного сценария использования (SUS)

Для подготовки стандартного сценария использования требуется следующее:

  • Определение задач, которые пользователи обычно выполняют при работе с рассматриваемым приложением.
  • Выявление функций, требующих высокого энергопотребления или интенсивного использования ресурсов.
  • Составление на основе вышесказанного блок-схемы отдельных действий и эмуляция этих действий с помощью инструмента автоматизации задач.
  • Рекомендуется задать период ожидания 60 секунд перед началом измерения.
  • Запуск стандартного сценария использования не менее чем на 5 минут.

Шаги по подготовке стандартных сценариев использования (SUS) для измерения энергопотребления программного обеспечения. (Изображение от KDE, опубликовано под лицензией CC-BY-SA-4.0. Дизайн — Lana Lutz.)
Figure : Шаги по подготовке стандартных сценариев использования (SUS) для измерения энергопотребления программного обеспечения. (Изображение от KDE, опубликовано под лицензией CC-BY-SA-4.0. Дизайн — Lana Lutz.)

Для запуска сценариев использования требуется инструмент автоматизации, чтобы не требовалось вмешательство человека. Это позволяет многократно запускать сценарий строго определённым образом для получения точных измерений.

К примерам задач и функций, тестируемых в SUS для почтового клиента KDE KMail, относятся поиск письма, написание ответа или пересылка письма, сохранение вложения, удаление папки в почтовом клиенте и т. д. Дополнительные примеры приведены в сценариях Actiona, используемых для тестирования Krita и Okular.

Важно: если инструмент эмуляции использует координаты пикселей для хранения положения автоматических щелчков (например, Actiona) и, кроме того, разрешение экрана компьютера, использовавшегося при подготовке, отличается от разрешения лабораторного компьютера, все координаты пикселей придётся сбросить для лабораторной среды.

Дополнительные средства эмуляции

Помимо xdotool, KDE Eco Tester (в разработке) или Actiona, есть и другие инструменты-кандидаты, которые могут соответствовать требованиям. Список от участника KDE David Hurka приведён в презентации «Visual Workflow Automation Tools». Большинство инструментов используют функции, специфичные для X11, и поэтому не работают в системах Wayland. Здесь возможны несколько подходов:

Процесс измерения

Процесс измерения определён в приложении A Базовых критериев присуждения. Требуется запись и ведение журнала данных об энергопотреблении и показателей производительности с детализацией в одну секунду, чтобы их можно было обработать и рассчитать средние значения.

Общие замечания:

  • Время PM и DAE должно быть синхронизировано.
  • При использовании Collectl для сбора данных о производительности убедитесь, что он запущен в консоли тестируемой системы; кроме того, перед тестированием проверьте, что требуемый файл CSV сформирован правильно.
  • Поскольку каждый запуск сценариев использования приводит к изменениям в стандартной операционной системе, между запусками рекомендуется очищать кэш.
  • Все запуски (базовый, режим простоя, стандартный сценарий использования) должны иметь одинаковую длительность, определяемую временем выполнения сценария использования.
  • На DAE следует убедиться, что нужная розетка считывается правильно до и/или во время тестирования (например, с помощью графика в реальном времени в LabPlot).

Во время измерений энергопотребления для записи набора показателей производительности используется Collectl: загрузка процессора, загрузка ОЗУ, активность жёсткого диска и сетевой трафик. Для получения этих данных о производительности оборудования используйте следующую команду:

$ collectl -s cdmn -i1 -P --sep 59 -f ~/<FILENAME>.csv

Возможны следующие параметры:

  • -s cdmn

    сбор данных о процессоре, диске, памяти и сети

  • -i1

    интервал выборки 1 секунда

  • -P

    вывод в формате графика (данные с разделителями: заголовок и по одной строке на интервал выборки)

  • --sep 59

    разделитель — точка с запятой

  • -f </PATH/TO/FILE>.csv

    сохранение файла по указанному пути

Измерение базового сценария, режима простоя и стандартного сценария использования

  • Базовый сценарий: операционная система (ОС)

    Для определения базового уровня измеряется сценарий, в котором операционная система работает, но никакие действия не выполняются.

  • Сценарий режима простоя: ОС + приложение в простое

    Чтобы определить энергопотребление и данные о производительности оборудования приложения в режиме простоя, измеряется сценарий, в котором рассматриваемое приложение открывается, но никаких действий не выполняется.

    Важно: базовый режим и режим простоя должны выполняться в течение того же времени, которое необходимо для выполнения стандартного сценария использования. Поскольку энергопотребление в базовом сценарии и сценарии простоя относительно однородно, для получения репрезентативной выборки достаточно 10 повторов для каждого из них (Seiwert и Zaczyk 2021).

  • Стандартный сценарий использования: ОС + работающее приложение

    Чтобы измерить энергопотребление и данные о производительности оборудования используемого приложения, следует запустить стандартный сценарий использования; см. примечания по подготовке SUS выше. Измерение стандартного сценария использования следует повторить 30 раз, что займёт несколько часов. Большее число повторений необходимо для получения репрезентативной выборки, поскольку энергопотребление и данные о производительности могут различаться от измерения к измерению.

Наблюдение за результатами в LabPlot

Для отслеживания вывода в реальном времени по мере поступления данных можно использовать LabPlot от KDE. Для этого:

  • Перенаправьте вывод измерителя мощности в файл CSV.
  • В LabPlot импортируйте файл CSV, выбрав File > Add New > Live Data Source…
  • В разделе «Фильтр» выберите параметр «Другой». В разделе «Формат данных» укажите используемое значение разделителя (например, запятая, точка с запятой, пробел).
  • Правильность вывода проверяется на вкладке «Предварительный просмотр».
  • Если всё в порядке, нажмите кнопку «OK».
  • Наконец, щёлкните правой кнопкой мыши по окну фрейма данных и выберите Plot Data > xy-Curve.

Анализ результатов с помощью OSCAR

После получения результатов Umwelt Campus Birkenfeld предоставляет полезный инструмент для создания отчётов под названием OSCAR (Open source Software Consumption Analysis in R):

См. также «Руководство OSCAR» с подробными инструкциями, включая дополнительные снимки экрана по использованию OSCAR.

Файлы CSV

Анализ с помощью OSCAR требует загрузки следующих файлов на веб-сайт OSCAR:

  • (i) журнал выполненных действий,
  • (ii) данные об энергопотреблении, и
  • (iii) данные о производительности оборудования.

Все файлы должны быть файлами CSV. Может потребоваться предварительная обработка необработанных данных (например, данных о производительности, измеренных с помощью Collectl; см. ниже).

Важно: OSCAR очень требователен к форматам фреймов данных, включая имена столбцов и значения ячеек. Приведённые здесь таблицы содержат примеры, работоспособность которых подтверждена. Если при создании отчёта из файлов CSV возникают проблемы, убедитесь, что файлы CSV как можно более похожи на приведённые здесь.

Если нужно только протестировать OSCAR, данные для Okular можно загрузить из этого ZIP-файла. Подтверждено, что эти данные позволяют успешно сформировать отчёт с помощью OSCAR v0.190404. Сформированный отчёт также можно загрузить из репозитория FEEP.

Файл журнала действий

Файл журнала действий должен иметь следующий формат. Обратите внимание, что столбцы разделяются точкой с запятой. Кроме того, столбцы не имеют имён (то есть в CSV-файле нет заголовка). Обратите внимание, что начало и конец каждой итерации должны быть помечены как «startTestrun» и «stopTestrun» во втором столбце, тогда как действия можно указать под любым именем.

YYYY-MM-DD HH:MM:SS ;startTestrun ;
YYYY-MM-DD HH:MM:SS ;;action1
YYYY-MM-DD HH:MM:SS ;;action2
YYYY-MM-DD HH:MM:SS ;;action3
YYYY-MM-DD HH:MM:SS ;stopTestrun ;

Пример файла журнала действий для измерения редактора текстов и кода KDE Kate. В трёх столбцах указаны (i) дата и время, а также (ii) время начала и остановки и (iii) действия.

2022-05-21 18:54:36 ;startTestrun ;
2022-05-21 18:55:41 ;;переход к строке 100
2022-05-21 18:55:46 ;;комментирование и раскомментирование
2022-05-21 18:55:50 ;;поиск kconfig
2022-05-21 18:55:55 ;;перемещение между результатами поиска 6 раз
2022-05-21 18:56:05 ;;закрытие панели поиска
2022-05-21 18:56:05 ;;простой 30 с
2022-05-21 18:56:35 ;;переход к строке 200
2022-05-21 18:56:40 ;;выделение 10 строк
2022-05-21 18:56:43 ;;удаление выделенного текста
[…] ;;[…]
2022-05-21 18:59:13 ;stopTestrun ;
Данные об энергопотреблении

Данные об энергопотреблении имеют следующий формат: первый столбец — номер строки, второй столбец — дата и время с шагом в одну секунду, третий столбец — результат измерения в ваттах. Обратите внимание, что работоспособность с OSCAR подтверждена для следующего: (i) имён второго и третьего столбцов, как указано ниже (то есть «Zeit» и «Wert 1-avg[W]»), (ii) даты и времени в виде символьной строки, в которой дата и время разделены запятой, и (iii) отсутствия ограничителя строк в CSV-файле.

;Zeit ;Wert 1-avg[W]
1 ;DD.MM.YY, HH:MM:SS ;value1
2 ;DD.MM.YY, HH:MM:SS ;value2
3 ;DD.MM.YY, HH:MM:SS ;value3
4 ;DD.MM.YY, HH:MM:SS ;value4

При использовании Gude Power Meter со сценарием Python, доступным в репозитории FEEP, отметка времени записывается в наносекундах в формате времени Epoch. Например, ниже приведён пример необработанного вывода для 7 строк из вывода Gude Power Meter, полученного с помощью сценария Python. В первом столбце показана отметка времени. Во втором столбце — показания измерителя мощности в ваттах.

1661611923019071 ;43
1661611923142924 ;43
1661611924293989 ;29
1661611924417017 ;28
1661611924744885 ;28
1661611924869051 ;28
1661611924992392 ;28

Необработанные данные можно предварительно обработать в R: наносекунды в формате времени Epoch преобразуются в дату и время командой as.POSIXct(<NANOSECONDS>/1000000, origin = '1970-01-01', tz = 'Europe/Berlin'). Например, наносекунды в строке 1 необработанного вывода после преобразования дают «2022-08-27 16:52:03 CEST».

Для использования с OSCAR эти дата и время затем необходимо преобразовать в символьную строку, в которой дата записывается как DD.MM.YY и после неё ставится запятая. Всё это выполняется одной командой (эту операцию можно векторизовать по всему столбцу фрейма данных); замените дату YYYY-MM-DD на дату измерений:

stringr::str_replace(as.character(as.POSIXct(1661611923019071/1000000, origin = '1970-01-01', tz = 'Europe/Berlin')), '2022-08-27', '27.08.22,')

Результат измерения в ваттах следует усреднять за секунду. Те же данные, что приведены выше, показаны ниже после обработки с помощью R; обратите внимание, что 7 значений выше усреднены за секунду, в результате чего получается две строки.

Чтобы сохранить CSV-файл с разделителем в виде точки с запятой, первым столбцом с именами строк, начинающимися с числа 1, и без ограничителя строк, используйте следующую команду R:

write.csv2(<DATAFRAME>, file = <PATH/TO/FILE.csv>, row.names = TRUE, quote = FALSE)

Результат должен выглядеть примерно так:

;Zeit ;Wert 1-avg[W]
1 ;27.08.22, 16:52:03 ;43.00000
2 ;27.08.22, 16:52:04 ;28.20000
Данные о производительности (необработанные)

При использовании Collectl для сбора данных о производительности оборудования перед загрузкой данных в OSCAR необходимо выполнить следующие действия.3

  • Удалить всю информацию над строкой заголовка.
  • Удалить все символы # из файла.
  • В первом столбце между датой и временем не должно быть значения разделителя (иначе дата и время будут восприняты как два отдельных столбца).
  • Кроме того, между частями даты YYYYMMDD следует вставить какой-либо символ, например MM.DD.YYYY, как показано выше. Используемый символ необходимо указать в OSCAR.
  • Имена столбцов могут быть любыми — они задаются в OSCAR.
  • Файл необходимо сохранить в формате CSV.

Кроме того, вывод данных о производительности оборудования, формируемый Collectl, содержит множество столбцов, не нужных для анализа. Указывать необходимо только следующие столбцы:

  • [CPU]Totl = процессор
  • [MEM]Used = основная память — использовано килобайт
  • [NET]RxKBTot = сеть — получено килобайт/с
  • [NET]TxKBTot = сеть — передано килобайт/с
  • [DSK]ReadKBTot = диск — прочитано килобайт/с
  • [DSK]WriteKBTot = диск — записано килобайт/с.

Ниже приведён пример результатов предварительной обработки Collectl с данными о производительности для Kate. Отметка времени увеличивается с шагом в одну секунду.

Date-Time ;cpu ;mem ;net_rec ;net_trn ;dsc_rd ;dsc_wr
27.08.2022 16:47:10 ;1 ;7131968 ;0 ;0 ;0 ;0
27.08.2022 16:47:11 ;4 ;7131968 ;0 ;0 ;0 ;0
27.08.2022 16:47:12 ;1 ;7131968 ;0 ;0 ;0 ;0
27.08.2022 16:47:13 ;1 ;7131968 ;0 ;0 ;0 ;120
27.08.2022 16:47:14 ;1 ;7131968 ;0 ;0 ;0 ;0
27.08.2022 16:47:15 ;1 ;7131968 ;0 ;0 ;0 ;56
27.08.2022 16:47:16 ;1 ;7131968 ;0 ;0 ;0 ;48
27.08.2022 16:47:17 ;1 ;7131968 ;0 ;0 ;0 ;0
27.08.2022 16:47:18 ;1 ;7131968 ;0 ;0 ;0 ;0
27.08.2022 16:47:19 ;4 ;7131968 ;0 ;0 ;0 ;132

Отправка данных

Когда приведённые выше файлы CSV будут готовы, можно запустить анализ с помощью OSCAR — будет сформирован сводный отчёт, который можно использовать как для экологической сертификации, так и в собственных целях, основанных на данных. В интерфейсе OSCAR обратите внимание на следующее:

  • В настоящее время язык интерфейса — только немецкий; переводы см. ниже.
  • Необходимо указать длительность измерений в секундах.
  • Используется разделитель — точка с запятой.
  • Для каждого из загруженных файлов следует указать правильный формат отметки времени, например %Y-%m-%d %H:%M:%OS.
Шаг 1: получение данных измерений

На целевой странице сайта (ниже) указано, что первый шаг — получение данных измерений (нем.: Erfassung Messdaten). Если процесс дошёл до этого этапа, программное обеспечение уже должно быть измерено, а файлы CSV — подготовлены.

Сначала получите данные измерений (нем.: Erfassung Messdaten) в лаборатории.
Figure : Сначала получите данные измерений (нем.: Erfassung Messdaten) в лаборатории.

Все примеры здесь основаны на данных Okular из этого ZIP-файла.

Шаг 2: Отправка данных измерений

После подготовки CSV-файлов с измерениями базового сценария, режима простоя и стандартного сценария использования нажмите (2) Загрузить данные измерений > Загрузить.

Данные измерений (нем.: Messdaten) включают файл журнала действий (нем.: Aktionen), энергопотребление (нем.: Elektrische Leistung) и данные о производительности оборудования (нем.: Hardware-Auslastung).

  • В разделе Messungen загрузите данные измерений либо режима простоя, либо стандартного сценария использования.

    В поле Art der Messung («тип измерения») в правом нижнем углу интерфейса выберите Leerlauf («режим простоя») или Nutzungsszenario («сценарий использования») в зависимости от того, какой отчёт нужно сформировать.

  • В разделе Baselines загрузите данные измерений базового сценария.

  • Укажите длительность сценариев измерений в секундах (нем.: Dauer der Einzelmessungen (s)).

Обратите внимание: измерения базового сценария всегда отправляются вместе с измерениями режима простоя или стандартного сценария использования.

Ниже показано, как выглядит завершённая загрузка для Nutzungsszenario.

Отправка данных измерений (нем.: Upload Messdaten).
Figure : Отправка данных измерений (нем.: Upload Messdaten).

Отметки времени    После загрузки данных потребуется указать OSCAR, как считывать данные.

Начнём с формата отметки времени (нем.: Formatierung Zeitstempel). Это один из этапов процесса, который при неправильном выполнении может вызвать проблемы. Это выполняется в разделе (2) Upload Messdaten > Formatierung Zeitstempel.

Рассмотрим данные Okular:

  • В файле журнала действий дата и время кодируются как YYYY-MM-DD HH:MM:SS (например, «2022-10-04 12:32:43.656» в «okularActions.csv»).

    В OSCAR это задаётся как «%Y-%m-%d %H:%M:%OS» (см. снимок экрана ниже). Доли секунды OSCAR обработает автоматически.

  • В данных об энергопотреблении дата и время кодируются как DD.MM.YY, HH:MM:SS (например, «04.10.22, 12:32:43» в файле «okular_baseline_eletrLeistung.csv»). Обратите внимание на точку в дате и запятую, разделяющую дату и время, а также на то, что год состоит только из двух цифр.

    В OSCAR это задаётся как «%d.%m.%y, %H:%M:%OS» (см. снимок экрана ниже), где строчная «%y» обозначает двузначный год.

  • Для данных о производительности оборудования дата и время кодируются в формате DD.MM.YYYY HH:MM:SS (например, «04.10.2022 12:31:43» в файле «baseline_hardware_formatiert.csv»). Обратите внимание на точку в дате и четырёхзначный год.

    В OSCAR это задаётся так: «%d.%m.%Y %H:%M:%OS» (см. снимок экрана ниже), где прописная «%Y» обозначает год из четырёх цифр.

Указание формата отметок времени (нем.: Formatierung Zeitstempel).
Figure : Указание формата отметок времени (нем.: Formatierung Zeitstempel).

Данные измерений    После правильного указания отметок времени рассмотрим формат данных измерений (нем.: Formatierung Messdaten) в OSCAR.

Сначала просмотрите файл журнала действий (нем.: Aktionen). Это выполняется в разделе (2) Upload Messdaten > Formatierung Messdaten > Aktionen.

Здесь для загруженного CSV-файла нужно указать разделитель (нем.: Trennzeichen), ограничитель строк (нем.: Textqualifizierer) и десятичный разделитель (нем.: Dezimaltrennzeichen).

Для данных Okular это задаётся как разделитель в виде точки с запятой, ограничитель строк в виде двойных кавычек и десятичный разделитель в виде точки (см. снимок экрана ниже).

Кроме того, потребуется указать следующее:

  • содержит ли первая строка заголовки (нем.: Erste Zeile enthält Überschriften);
  • число пропускаемых строк (нем.: Anzahl zu überspringender Zeilen); и
  • кодировка символов (нем.: Zeichensatz (Encoding)).

Для данных Okular это определяется следующим образом на следующем снимке экрана: флажок «первая строка содержит заголовки» снят, пропускается 0 строк, а кодировка символов — utf-8.

Если всё задано правильно, будет показан предварительный просмотр электронной таблицы.

Указание формата данных измерений (нем.: Formatierung Messdaten) для файла журнала действий (нем.: Aktionen).
Figure : Указание формата данных измерений (нем.: Formatierung Messdaten) для файла журнала действий (нем.: Aktionen).

Затем просмотрите измерения энергопотребления (нем.: Elektrische Leistung). Это выполняется в разделе (2) Upload Messdaten > Formatierung Messdaten > Elektrische Leistung.

Требуемые входные данные те же, что и для журнала действий, показанного на следующем снимке экрана.

Для данных Okular здесь это разделитель в виде точки с запятой, ограничитель строк в виде двойных кавычек и кодировка символов utf-8. Однако теперь для десятичного разделителя указана запятая, а установленный флажок означает, что первая строка содержит заголовки. Наконец, первая строка пропускается.

Если всё задано правильно, будет показан предварительный просмотр электронной таблицы.

Указание формата данных об энергопотреблении (нем.: Elektrische Leistung).
Figure : Указание формата данных об энергопотреблении (нем.: Elektrische Leistung).

Наконец, просмотрите данные о производительности оборудования (нем.: Hardware-Auslastung). Это выполняется в разделе (2) Upload Messdaten > Formatierung Messdaten > Hardware-Auslastung.

Требуемые входные данные те же. В этом примере входные данные — это разделитель в виде точки с запятой, ограничитель строк в виде двойных кавычек, десятичный разделитель в виде точки (англ.: full stop). Установлен флажок «первая строка содержит заголовки», пропускается 0 строк, а кодировка символов — utf-8.

Однако теперь появляется дополнительное требование — указание столбцов (нем.: Spalten).

Для указания столбцов необходимо определить следующее; для неиспользуемых столбцов выберите NA, например «Auslastung Auslagerungsdatei» в этом случае.

  • Zeitstempel: дата и время (то есть «Date-Time»)
  • CPU-Auslastung: процессор (то есть «X.CPU.Totl»)
  • RAM-Auslastung: ОЗУ (то есть «X.MEM.Used»)
  • Über Netzwerk gesendet: передано по сети (то есть «X.NET.TxKBTot»)
  • Über Netzwerk empfangen: получено по сети (то есть «X.NET.RxKBTot»)
  • Von Festplatte gelesen: чтение с диска (то есть «X.DSK.ReadKBTot»)
  • Auf Festplatte geschrieben: записано на диск (то есть «X.DSK.WriteKBTot»)
  • Auslastung Auslagerungsdatei: подкачка (здесь — «N/A»)

Указание формата данных о производительности оборудования (нем.: Hardware-Auslastung).
Figure : Указание формата данных о производительности оборудования (нем.: Hardware-Auslastung).

Переводы

Ниже приведён обзор некоторых немецких терминов, используемых в OSCAR, и их переводов:

  • Messungen: «измерения» (например, режим простоя или SUS)
  • Aktionen: «действия» (то есть журнал выполненных действий)
  • Elektrische Leistung: «электрическая мощность» (т. е. измерения энергопотребления)
  • Hardware-Auslastung: «нагрузка на оборудование» (то есть измерения производительности оборудования)
  • Dauer der Einzelmessungen (s): «Длительность отдельных измерений (с)» (т. е. укажите длительность каждой итерации в секундах)
  • Art der Messung: «тип измерения»
    • Leerlauf: «простой» (то есть режим простоя)
    • Nutzungsszenario: «сценарий использования» (то есть SUS)
  • Formatierung Messdaten: «форматирование данных измерений»
  • Formatierung Zeitstempel: «форматирование отметки времени»
  • Trennzeichen «разделитель»
  • Textqualifizierer: «ограничитель строк»
  • Dezimaltrennzeichen: «десятичный разделитель»
  • Erste Zeile enthält Überschriften: «первая строка содержит заголовки»
  • Anzahl zu überspringender Zeilen: «число пропускаемых строк»
  • Zeichensatz (Encoding): «кодировка символов»
  • Spalten: «столбцы»
    • Zeitstempel: «дата и время»
    • CPU-Auslastung: «загрузка процессора»
    • RAM-Auslastung: «использование ОЗУ»
    • Über Netzwerk gesendet: «передано по сети»
    • Über Netzwerk empfangen: «получено по сети»
    • Von Festplatte gelesen: «чтение с диска»
    • Auf Festplatte geschrieben: «записано на диск»
    • Auslastung Auslagerungsdatei: «использование файла подкачки»
Шаг 3: создание отчётов (простой, SUS)

После выполнения описанного выше можно сформировать и загрузить отчёт. Эту процедуру потребуется выполнить дважды: один раз для измерений (i) режима простоя и (ii) стандартного сценария использования, в результате чего получится два документа.

Создание отчёта (нем.: Bericht erzeugen).
Figure : Создание отчёта (нем.: Bericht erzeugen).

Для экологической сертификации «Голубой ангел» два отчёта будут переданы RAL для оценки.

Примеры выше для Okular см. в репозитории KDE Blue Angel Applications:

Подготовка документации для «Голубого ангела»

Для экологической сертификации по экомарке «Голубой ангел» необходимо заполнить несколько форм наряду с двумя отчётами из OSCAR.

В формы необходимо включить следующую информацию:

  • Сведения о программном обеспечении (название, версия) и процессе измерения (когда и где проводились измерения и т. д.).
  • Технические подробности об измерителе мощности (прибор, частота дискретизации, длительность сценария, размер выборки).
  • Технические сведения об эталонной системе (год, модель, процессор, ядра и т. д.).
  • Программный стек, используемый для измерений (xdotool, Collectl и т. д.).
  • Минимальные системные требования (архитектура процессора, объём оперативной памяти и т. д.).
  • Результаты энергопотребления из отчётов OSCAR или аналогичных.
  • Результаты использования оборудования, включающие следующее (для IDLE используйте измерения режима простоя, для SUS — измерения стандартного сценария использования):
    • Полная нагрузка: «Для вычислительной мощности полная нагрузка составляет 100 %, для оперативной памяти — сумма объёмов установленной ОЗУ, для пропускной способности сети — максимальная скорость передачи и т. д.» (Критерии награды «Голубой ангел»: с. 23).

    • Базовая нагрузка: средняя нагрузка эталонной системы в измерениях базового сценария.

    • Нагрузка в режиме простоя/SUS: средняя нагрузка эталонной системы при измерениях в режиме простоя/SUS.

      На основе приведённых выше измерений выполняются следующие расчёты использования оборудования (для IDLE используются измерения режима простоя, а для SUS — измерения стандартного сценария использования):

      • Чистая нагрузка: нагрузка в режиме простоя/SUS − базовая нагрузка
      • Коэффициент распределения: чистая нагрузка / (полная нагрузка − базовая нагрузка)
      • Эффективная нагрузка: чистая нагрузка + коэффициент распределения * базовая нагрузка
      • Загрузка оборудования (только SUS): эффективная нагрузка * время (в секундах)

Для экологической сертификации по экомарке «Голубой ангел» приведённая выше информация будет добавлена в два документа под названием «Приложение 1» и «Приложение 2».

Примеры выше для Okular см. в репозитории KDE Blue Angel Applications:

Альтернатива: настройка Gosund SP111

Хотите приступить к измерению своего программного обеспечения, но не хватает средств или оборудования? Хотите опробовать этот процесс, не создавая отдельную лабораторию? Попробуйте этот способ — переделка недорогой сетевой вилки в измеритель мощности, любезно предоставленная Volker Krause, который также задокументировал описанный здесь процесс. Подробнее можно прочитать в следующих публикациях из блога Volker:

Ниже приведено руководство из 10 шагов по настройке сетевой вилки Gosund SP111, уже прошитой прошивкой Tasmota.

Хотя данные недорогого измерителя мощности, вероятно, не будут приняты «Голубым ангелом» для экологической сертификации, с помощью этого инструмента тем не менее возможно получить предварительные данные.

  • (0) Предварительное условие

    Необходимо, чтобы сетевая розетка уже была прошита достаточно новой версией Tasmota.

  • (1) Сброс прошивки

    Если устройство ранее подключалось к другой сети Wi-Fi, для подключения к новой сети может потребоваться полный сброс.

    Если устройство открыло точку доступа Wi-Fi с именем «tasmota-XXXXX», это не требуется — переходите сразу к (2).

    Нажмите кнопку и удерживайте её 40 секунд.

    Устройство перезагрузится, после чего можно будет продолжить с пункта (2).

  • (2) Настройка Wi-Fi

    Устройство открывает точку доступа Wi-Fi с именем «tasmota-XXXXX» — подключитесь к ней.

    Откройте в браузере http://192.168.4.1.

    Устройство запросит имя и пароль сети Wi-Fi для подключения, после ввода которых повторно подключится к этой сети Wi-Fi и отключит свою точку доступа.

    При этом в браузере должен показаться его новый адрес — запишите его.

    Если этого не произошло, проверьте адрес устройства в маршрутизаторе Wi-Fi.

  • (3) Настройка Tasmota

    Откройте адрес из пункта (2) в браузере.

    Должен показаться веб-интерфейс Tasmota (крупная надпись «ON/OFF» и множество синих кнопок и одна красная).

    Нажмите кнопку «Configuration».

    Нажмите кнопку «Configure Other».

    Копировать

         {"NAME":"Gosund SP111 2","GPIO":
         [56,0,57,0,132,134,0,0,131,17,0,21,0],"FLAG":0,
         "BASE":18}
    

    в поле ввода шаблона.

    Установите флажок «Activate».

    Нажмите кнопку «Save».

    Устройство перезагрузится; подключитесь к нему снова.

    Теперь веб-интерфейс должен также содержать текстовые поля с электрическими параметрами, а кнопка «Toggle» должна действительно работать.

  • (4) Калибровка

    Откройте адрес из пункта (2) в браузере.

    Подключите чисто активную нагрузку с известной мощностью, например обычную лампу накаливания (не светодиодную и не энергосберегающую лампу).

    При необходимости включите питание, нажав кнопку «Toggle».

    Убедитесь, что значение «Power Factor» показывается как 1 (или очень близко к 1); если оно ниже, текущая нагрузка не подходит для калибровки.

    Нажмите кнопку «Console».

    Вводите следующие команды по одной и после каждой нажимайте клавишу Enter:

       AmpRes 3  
       VoltRes 3  
       EnergyRes 3  
       WattRes 3  
       FreqRes 3  
       SetOption21 1
       VoltageSet 230
    

    Введите команду PowerSet XXX, заменив XXX на мощность, указанную для тестовой нагрузки (например, «40» для лампы накаливания мощностью 40 Вт).

    Нажмите кнопку «Main Menu».

    Теперь на главной странице должны показываться правильные показания мощности с точностью до нескольких знаков после запятой.

  • (5) Настройка брокера MQTT

    В настоящее время единственный известный способ получать автоматические показания с высокой частотой — опрос по MQTT. К сожалению, это не оптимальный вариант и требует дополнительной настройки.

    Если брокер MQTT уже есть, переходите к шагу (6); в противном случае его потребуется настроить. Приведённый ниже сценарий предполагает, что Mosquitto входит в состав дистрибутива GNU/Linux (и поэтому не настраивает средства защиты), так что выполняйте это только в собственной доверенной сети и отключайте брокер, когда он не нужен.

    • установите пакет mosquitto

    • добавьте файл /etc/mosquitto/conf.d/listen.conf со следующим содержимым:

       listener 1883  
       allow_anonymous true
      
    • запустите Mosquitto командой systemctl start mosquitto.service

  • (6) Настройка MQTT Tasmota

    Подключитесь к устройству Tasmota с помощью веб-браузера и откройте страницу настройки MQTT через Configuration > Configure MQTT.

    Введите IP-адрес брокера MQTT в поле «Host».

    Запишите значение, показанное в скобках справа от метки «Topic» (обычно что-то вроде «tasmota_xxxxxx»). Оно понадобится позже для обращения к устройству по MQTT. Значение по умолчанию также можно изменить на более запоминающееся, но оно должно быть уникальным, если устройств несколько.

    Нажмите кнопку «Save».

    Устройство перезагрузится, и после этого в его разделе «Console» появится вывод с префиксом «MQT».

  • (7) Проверка связи по MQTT

    Предполагается, что клиентские средства Mosquitto установлены; обычно они доступны в виде пакетов дистрибутива.

    Чтобы проверить, что обмен по MQTT работает должным образом, потребуются два терминала.

    • В терминале 1 выполните mosquitto_sub -t 'stat/<topic>/STATUS10'
    • В терминале 2 выполните mosquitto_pub -t 'cmnd/<topic>/STATUS' -m '10'

    Замените <topic> на значение, записанное на шаге (6).

    При каждом запуске второй команды в первом терминале должен выводиться набор значений.

  • (8) Непрерывные измерения мощности

    См. эти сценарии.

  • (9) Переключение сетей Wi-Fi

    Из соображений безопасности после подключения к сети Wi-Fi Tasmota по умолчанию не позволит вернуться к шагу (2) без полного сброса устройства (удержания кнопки в течение 40 секунд). Однако полный сброс также удаляет все параметры и калибровку. Если требуется перейти в другую сеть, есть менее радикальные способы, но внести эти изменения можно только из сети, к которой устройство было подключено изначально:

    В разделе Configuration > Configure Wi-Fi можно добавить параметры второй точки доступа Wi-Fi. По умолчанию они будут использоваться поочерёдно с первой конфигурацией. Это не снижает безопасность, но требует знания параметров сети, к которой требуется подключиться.

    Можно настроить Tasmota так, чтобы по умолчанию после загрузки примерно на минуту открывалась точка доступа, как на шаге (2), а затем выполнялась попытка подключения к известным конфигурациям. Из-за этого загрузка в известных сетях происходит медленнее и появляется возможность захвата устройства, но это может быть удобно при переходе в неизвестные сети. Этот режим включается в Console командой WifiConfig 2 и отключается командой WifiConfig 4.

    В Tasmota версии 11 сброс удержанием кнопки в течение 40 секунд может оставить устройство в состоянии, когда оно не загружается, тогда как сброс из консоли с помощью Reset 1 этой проблемы не имеет, но его также нужно выполнить до отключения от известной сети Wi-Fi.

  • (10) Восстановление незагружающихся устройств

    Прежде всего: НЕ ПОДКЛЮЧАЙТЕ УСТРОЙСТВО К ЭЛЕКТРОСЕТИ! Это опасно для жизни. Весь процесс прошивки питается исключительно от 3,3 В, подаваемых последовательным адаптером. Не делайте ничего из этого, не прочитав руководство по началу работы.

    В Tasmota 11 даже обычный сброс устройства удержанием кнопки в течение 40 секунд может привести к тому, что устройство перестанет загружаться. Необратимого вреда это не наносит, а восстановить работоспособность можно перепрошивкой через последовательный адаптер.

    Основной процесс описан в приведённом выше руководстве. Разводка печатной платы Gosund SP 111 показана здесь.

    Чтобы это сработало, необходимо подключить GPIO0 (второй контакт слева внизу на изображении выше) к GND до включения питания (то есть до подключения через USB). Светодиоды устройства (красный и синий) — полезный индикатор того, перешло ли устройство в нужный режим загрузки: красный светодиод должен гореть, а не быстро мигать, а синий и красный светодиоды не должны гореть одновременно. После перехода в это состояние соединение можно убрать (например, если перемычка просто удерживается на контакте), и устройство останется в нужном режиме до перезагрузки.

    Ещё раз: НЕ ПОДКЛЮЧАЙТЕ УСТРОЙСТВО К СЕТИ ЭЛЕКТРОПИТАНИЯ — это опасно для жизни.

(B) Срок службы оборудования

Критерии категории (B) гарантируют, что требования программного обеспечения к производительности достаточно низки для работы на старом, менее мощном оборудовании возрастом не менее пяти лет.

Многие приложения FOSS работают на оборудовании, которое намного старше 5 лет. Более того, участники сообщества KDE отметили, что среда рабочего стола KDE Plasma работает на оборудовании даже 2005 года!

Требования этой категории относительно несложно выполнить для заявки на экомарку «Голубой ангел». Соответствие предполагает декларацию обратной совместимости с указанием оборудования, на котором работает программное обеспечение, и требуемого программного стека. Чтобы продемонстрировать соответствие, задокументируйте следующую информацию в двух документах под названием «Приложение 1» и «Приложение 2»:

  • Год эталонной системы — например, 2015
  • Модель — например, Fujitsu Esprimo 920
  • Процессор — например, Intel Core i5-4570
  • Ядра — например, 4
  • Тактовая частота — например, 3,6 ГГц
  • ОЗУ — например, 4 ГБ
  • Жёсткий диск (SSD/HDD) — например, 500 ГБ
  • Видеокарта — например, Intel Ivybridge Desktop
  • Сеть — например, Realtek Ethernet
  • Кэш — например, 6144 КБ
  • Системная плата — например, Fujitsu D3171-A1
  • Операционная система — например, Ubuntu 18.04

Примеры для Okular также приведены по следующим ссылкам:

(C) Автономия пользователя

Как отмечалось в части II, критерии автономии пользователя «Голубого ангела» охватывают восемь общих областей:

  1. Форматы данных
  2. Прозрачность
  3. Непрерывность поддержки
  4. Возможность удаления
  5. Автономная работа
  6. Модульность
  7. Свобода от рекламы
  8. Документация

Многие проекты FOSS могут воспринимать как должное, что свободное программное обеспечение уважает автономию пользователя, и в некоторых случаях информация из приведённого выше списка отсутствует на веб-сайтах, в руководствах, вики и т. д. Сюда может входить документация о поддержке открытых стандартов, возможности удаления, непрерывности поддержки и так далее.

Документирование этой информации важно как для соответствия критериям присуждения «Голубой ангел», так и для предоставления пользователям сведений о долгосрочном устойчивом использовании их программного и аппаратного обеспечения.

Это не исчерпывающее изложение каждой из перечисленных выше категорий критериев «Голубого ангела». Скорее, это руководство посвящено тем аспектам критериев, которые проекты KDE/FOSS могут без труда задокументировать и предоставить (а это уже бо́льшая часть работы). Полные критерии приведены в разделе 3.1.3 базовых критериев присуждения.

2.1 Форматы данных

Основная информация для включения в документацию:

  • Какие (открытые) форматы данных поддерживаются — со ссылками на спецификации, например PDF?
  • Также представляет интерес: есть ли примеры других программных продуктов, обрабатывающих эти форматы данных?

Пример документации по поддерживаемым форматам данных для Okular в Интернете см. на сайте Okular.

Пример документации для «Голубого ангела» приведён в Приложении 4.

2.2 Прозрачность программного продукта

Если они отсутствуют, приведите ссылки на документацию по API, исходный код и лицензию на программное обеспечение. Например, для KMail:

Пример документации для «Голубого ангела» приведён в Приложении 5.

2.3 Непрерывность поддержки

Сведения о непрерывности поддержки, которые следует документировать, включают:

  • Сведения о продолжительности поддержки программного обеспечения (со ссылками на объявления о выпусках).
  • График выпуска и сведения (например, кто сопровождает программное обеспечение).
  • Заявление о том, что обновления предоставляются бесплатно.
  • Заявление о том, как лицензия свободного программного обеспечения с открытым исходным кодом обеспечивает непрерывную поддержку на неограниченный срок.
  • Сведения о том, можно ли устанавливать функциональные обновления и обновления безопасности отдельно и каким образом.

Пример документации Okular о непрерывности поддержки для «Голубого ангела» приведён в разделе 3.1.3.3 Приложения 6.

2.4 Возможность удаления

Как пользователи могут полностью удалить программное обеспечение? Соответствующие сведения могут включать:

  • Инструкции по удалению, зависящие от способа установки программного обеспечения (из исходного кода или из исполняемого файла).
  • Примеры инструкций по удалению (исходный код или средства управления пакетами, со ссылками на соответствующую документацию).
  • Сведения о том, удаляются ли также созданные пользователем данные при удалении программы.

Пример документации Okular о возможности удаления для «Голубого ангела» приведён в разделе 3.1.3.4 Приложения 6.

2.5 Автономная работа

Требует ли программное обеспечение для работы внешних подключений, например сервера лицензий? Если нет и подключение к сети не требуется, так как программное обеспечение можно использовать в автономном режиме, это следует документировать.

Пример документации о возможностях автономного режима Okular для «Голубого ангела» приведён в разделе 3.1.3.5 Приложения 6.

2.6 Модульность

Информация для документирования включает:

  • Какие компоненты программного обеспечения являются модульными и могут быть отключены при установке?
  • Можно ли устанавливать руководства или переводы отдельно?
  • Включает ли установка модули, не связанные с основной функциональностью, например модули отслеживания или интеграцию с облачными сервисами? Если нет, задокументируйте это!

Пример документации Okular о модульности для «Голубого ангела» приведён в разделе 3.1.3.6 Приложения 6.

2.7 Свобода от рекламы

Если программное обеспечение не показывает рекламу, укажите это явно в руководствах и вики и заявите об этом в документе заявки на экомарку «Голубой ангел».

2.8 Документация

Сюда входит следующее:

  • Общий процесс установки и удаления программного обеспечения? Сюда могут входить типовые инструкции или руководства для конкретной среды рабочего стола или средства управления пакетами.
  • Как происходит импорт и экспорт данных?
  • Что могут сделать пользователи, чтобы снизить потребление ресурсов (например, параметры конфигурации для повышения производительности)?
  • Есть ли в программном обеспечении ресурсоёмкие функции, не нужные для основной функциональности? Если нет — отлично. Расскажите об этом пользователям!
  • Условия лицензирования, связанные с дальнейшей разработкой программных продуктов, со ссылками на исходный код и лицензию?
  • Кто поддерживает разработку программного обеспечения?
  • Собирает ли программное обеспечение персональные данные? Соответствует ли оно действующему законодательству о защите данных? Если да, задокументируйте это!
  • Какова политика конфиденциальности? Есть ли телеметрия? Если да, то как в программном обеспечении обеспечиваются безопасность, сбор и передача данных? А есть ли в программном обеспечении встроенная реклама или отслеживание? Если нет — отлично, теперь обязательно расскажите об этом!

Пример документации Okular о продукте для сертификации «Голубой ангел» приведён в разделе 3.1.3.8 Приложения 6.

Подача заявки в RAL

Примеры всей вышеприведённой документации см. в репозитории KDE Blue Angel Applications.

После подготовки всей документации её необходимо отправить на проверку в RAL gGmbH (напомним, RAL — уполномоченный орган, который проверяет соответствие критериям присуждения). Портал для подачи заявок на «Голубого ангела» находится здесь (https://portal.ral-umwelt.de/).

Если требуется помощь с онлайн-интерфейсом, RAL предоставляет документацию.

Примеры документов для подачи

Ниже приведены примеры документации «Голубого ангела» для Okular.

Примечательные инициативы в области экологичного программного обеспечения

Существует множество инициатив, разрабатывающих инструментарий для измерения энергопотребления программного обеспечения. Хотелось бы особо отметить пять из них, сотрудничающих с инициативой KDE Eco:

  • Рабочая группа по «зелёной» разработке программного обеспечения в Экологическом кампусе Биркенфельд (нем. Umwelt Campus Birkenfeld)

    С 2008 года рабочая группа Green Software Engineering ведёт исследовательские проекты, посвящённые экологичному программному обеспечению. Эти исследования лежат в основе представленной здесь работы: команда разработала такие инструменты, как OSCAR, и провела измерения различных приложений KDE, включая Okular.

  • Öko-Institut e.V.

    Öko-Institut — одна из ведущих независимых исследовательских и консультационных организаций Европы, работающих ради устойчивого будущего. Исследовательская группа Sustainable Products & Material Flows занимается различными методиками измерений. В этом сообщении блога (на немецком языке) исследователи представляют метод самостоятельного измерения с помощью простого сценария Python.

  • Green Coding Berlin

    Green Coding Berlin занимается исследованием энергопотребления программного обеспечения и его инфраструктуры, созданием инструментов измерения с открытым исходным кодом, а также формированием сообщества и экосистемы вокруг экологичного программного обеспечения.

  • Проект SoftAWERE от Sustainable Digital Infrastructure Alliance

    Руководящая группа SoftAWERE контролирует и определяет направление разработки инструментов и меток для энергоэффективных программных приложений.

  • Green Web Foundation

    The Green Web Foundation отслеживает и ускоряет переход к Интернету без ископаемого топлива.

О проекте

Авторы

Инструментарий и документация KDE Eco созданы участниками сообщества, добровольно внёсшими вклад в этот проект на общее благо. Основные участники (в алфавитном порядке по именам): Arne Tarara, Cornelius Schumacher, Emmanuel Charruau, Karanjot Singh, Nicolas Fella и Volker Krause. Спасибо — ваш вклад сделал возможным создание этого руководства.

Текст этой версии руководства написан и/или составлен на основе приведённой выше документации Joseph P. De Veaugh-Geiss. Olea Morris отредактировала текст. Lana Lutz и Arwin Neil Baichoo сделали красивым оформление книги и веб-сайта, а также помещённые в них изображения. Paul Brown значительно улучшил запись блога об Okular, адаптированную для «Okular, первая экологически сертифицированная компьютерная программа» в части II. Википедия послужила источником для нескольких текстов, которые включены сюда в изменённом виде. Спасибо сообществу авторов и редакторов Википедии за создание такого замечательного ресурса для всех нас. Дополнительные сведения об источниках приведены в конце каждого раздела.

Благодарности

Благодарность многочисленным участникам инициативы KDE Eco в целом (перечислены в алфавитном порядке по именам): Achim Guldner, Adriaan de Groot, Aleix Pol, Alexander Semke, André Pönitz, Björn Balazs, Carl Schwan, Chris Adams, Christopher Stumpf, David Hurka, Fabian, Felix Behrens, Franziska Mai, Harald Sitter, Jens Gröger, Johnny Jazeix, Jonathan Esk-Riddell, Kira Obergöker, Lydia Pintscher, Marina Köhn, Mathias Bornschein, Max Schulze, Phu Nguyen, Sami Shalayel, Stefan Naumann, Sven Köhler и Tobias Fella. Вклад каждого высоко ценится.

Тем, кто заинтересован во внесении вклада в KDE Eco, предлагается присоединиться к списку рассылки или комнате Matrix. Участники также приглашаются присоединиться к одному из спринтов KDE Eco и к очным или онлайн-встречам. Подробнее — на нашем сайте.

Инициатива KDE Eco извлекла пользу из множества содержательных обсуждений, состоявшихся на следующих конференциях и практикумах: Akademy 2022, Linux App Summit 2022, FOSDEM 2023, rC3: NOWHERE 2021, SFSCon 2021/2022, Grazer Linuxtage 2022, Qt World Summit 2022, QtDevCon 2022, Fedora Nest 2022, встречи Green Coding Berlin, хакатон Sustainable Digital Infrastructure Alliance, EnviroInfo 2022 и Bits & Bäume 2022. Спасибо!

Лицензия

Если не указано иное, всё содержимое опубликовано под лицензией Creative Commons Attribution-ShareAlike 4.0 International (CC-BY-SA-4.0). Подробнее о лицензировании документации в KDE см. в политике лицензирования KDE.

Предупреждение о финансировании

Проект Blauer Engel Für FOSS получил финансирование от Федерального агентства по окружающей среде Германии (UBA) и Федерального министерства окружающей среды, охраны природы, ядерной безопасности и защиты прав потребителей (BMUV). Средства предоставляются по решению Бундестага Германии.

Логотип Федерального ведомства по окружающей среде Германии.
Figure : Логотип Федерального ведомства по окружающей среде Германии.

Логотип Федерального министерства окружающей среды, охраны природы, ядерной безопасности и защиты прав потребителей.
Figure : Логотип Федерального министерства окружающей среды, охраны природы, ядерной безопасности и защиты прав потребителей.

Ответственность за содержание публикации несёт издатель.


  1. В 2005 году, через два года после того как директива была включена в европейское законодательство, Королевское общество искусств в Великобритании представило «WEEE Man» — исполинскую фигуру, которую спроектировал Paul Bonomini, а изготовила компания Stage One Creative Services. Изначально установленная на Южном берегу Лондона, позже она была перевезена в Eden Project в Корнуолле, где находится по сей день. ↩︎

  2. Возможна установка с использованием 3 компьютеров, в которой эмуляция стандартного сценария использования выполняется на компьютере, независимом от тестируемой системы; см. Kern et al. (2018). Подробности такой установки с внешним генератором нагрузки можно найти в репозитории FEEP. ↩︎

  3. Подробности см. в Seiwert и Zaczyk 2021, с. 13; сценарий Python для автоматизации некоторых из этих задач приведён также в приложении A 2 на с. 46. ↩︎