понедельник, 25 июля 2011 г.

С Python 3.3 заканчивается поддержка OS/2, Windows 2000 и VMS

Источник: Python 3.3 to Drop Support for OS/2, Windows 2000, and VMS

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

Виктор Стиннэ не так давно предложил прекратить поддержку OS/2 и VMS в CPython, через год после его первоначального вопроса касательно поддержки OS/2. Данный вопрос возник у Виктора в то время, когда он работал над поддержкой стандарта Unicode. В основном, проблемы были с os.execvpe() в части поддержки переменных окружения с помощью обработчика surrogateescape, описанного в PEP 383. В данный момент нет команды разработчиков под OS/2 и VMS, поэтому в процессе подготовки релиза не проводится тестирование для этих систем.

Написание данной статьи заставило меня задуматься о предыдущей дискуссии о завершении поддержки Windows 2000, которая, кажется, была заброшена. Тогда же было предложено пустить под нож системы, у которых переменная окружения COMSPEC указывала на command.com. Теперь все эти системы присоединились к более неподдерживаемым OS/2 и VMS. Windows 2000 находится в процессе удаления из списка поддерживаемых систем, что упростит разработку, поскольку пропадает необходимость брать в расчет устаревшие интерфейсы операционных систем, поддержку которых решено было прекратить в 2010 году.

Чтобы запустить процесс завершения поддержки этих систем, мы с Виктором начали с обновления PEP 11.

PEP 11

 

Этот PEP содержит список операционных систем, которые больше не поддерживаются, а также поясняет процедуру добавления системы в этот список.

Как только решено, что для данной операционной системы можно начинать процедуру удаления, она официально объявляется неподдерживаемой. Традиционно такое уведомление включается в ту версию, которая в данный момент находится в разработке. Поэтому поддержка OS/2, Windows 2000 и VMS прекращается в Python версии 3.3.

Первый этап не требует практически никаких усилий, и заключается, в основном, в "поднятии белого флага". Это знак отсутствия кого-либо, кто бы поддерживал код и обеспечивал качественный релиз. Также могут быть сделаны изменения в процессах компиляции и установки для предупреждения пользователей таких платформ о прекращении поддержки. Уведомление будет размещено в документе "What's New", в котором перечислены платформы, поддержка которых прекращается.

После завершения цикла релиза, в котором объявляется об окончании поддержки, в последующей версии можно начать удалять код. В данном случае код может быть удален в версии 3.4. Вероятно, массового удаления такого кода не будет, но разработчики, которые наткнуться на него в процессе своей текущей работы, могут удалять блоки #ifdef, секции в configure или устаревший код.

Что же Вам делать

 

Если Вы являетесь разработчиком под OS/2 или VMS, у Вас есть несколько способов сохранить поддержку для своей платформы.
Стать мейнтейнером
Лучшей поддержкой платформы является активный разработчик. Эндрю МакИнтайр был мейнтейнером OS/2 в течение некоторого времени, и когда Виктор первый раз поднял вопрос про OS/2, Эндрю сообщил, что версия для OS/2 отстает в части поддержки Unicode, а это, безусловно, область, требующая внимания. У VMS есть некоторая внешняя поддержка усилиями разработчиков из http://www.vmspython.org, но, как уже обсуждалось в issue 11918, кто-то должен выступить в роли мейнтейнера.

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

Python использует Buildbot для непрерывной интеграции, компьютеры для сборки релиза в данный момент доступны для Linux, Mac, Windows и Open Indiana (Solaris), для разных версий, архитектур и конфигураций. Пожертвование машины в парк компьютеров для сборки под OS/2 и VMS позволит релизам для этих ОС получить столько же внимания, сколько уделяется более распространенным платформам.

Если Вы можете пожертвовать своим временем или оборудованием, чтобы помочь сохранить поддержку для OS/2 и VMS, сообщите об этом в список рассылки python-dev.

Комментариев нет:

Отправить комментарий