2011年6月30日 星期四

Python 3.3 將停止支援 OS/2, Windows 2000 以及 VMS

原文網址: Python 3.3 to Drop Support for OS/2, Windows 2000, and VMS

每隔一段時間, 我們會依據使用的狀況來縮減支援作業系統列表. 除此之外, 由於必須有人可以完成開發的工作來保證產生品質良好的發行版本, 平台上有足夠的開發人員數量也是一個很重要的考量. 像是作業系統的年紀, 以及作業系統的開發是否有遭遇到阻礙等等的其他因素, 也將會是考量的一部分.

Victor Stinner 最近在他提出了對 OS/2 支援的 最初問題 的一年之後, 提議 CPython 停止支援 OS/2 和 VMS. Victor 的詢問來自他似乎不停的花力氣在處理 Unicode 的問題上面, 尤其是 os.execvpe() 在透過 PEP 383 中的 surrogateescape handler 來支援環境變數的問題. OS/2 和 VMS 目前沒有開發團隊的代表人, 而且在發行的過程當中也沒有收到任何測試.

在寫這篇文章的過程當中 讓我想到 了從前關於移除支援 Windows 2000 的 討論, 不過之前的討論似乎被擱置了. 在當時, 將 COMSPEC 設定為 command.com 的系統也被提出要不再繼續支援. 現在開始, 他們都加入了 OS/2 和 VMS 的行列. 為了要讓開發更容易一些, Windows 2000 將會被移除, 這樣就不需要考慮那些在 2010 年結束生命的作業系統當中的老舊 API 了.

為了要開始移除對這些作業系統的支援, Victor 跟我從更新 PEP 11 開始.

PEP 11

這份 PEP 列出了不再繼續支援的作業系統, 並且解釋了把作業系統增加到這份 list 的過程.

當一個作業系統開始進入移除程序, 它將會被正式的被宣告為不再繼續支援. 這份公告通常都是在開發中的版本生效, 所以將從 Python 3.3 開始取消對於 OS/@, Windows 2000 以及 VMS 的支援.

第一個階段僅僅是袖手旁觀, 大概就像是舉起白旗一樣. 這告訴大家目前沒有人可以繼續維護程式碼並確定會有一份有品質的發行版本. 為了警告使用者這份平台將不再繼續被支援, 編譯以及安裝的過程也將可能被改變. 在 "What's New" 當中也會被註明有哪些平台將不再繼續被支援.

在一個發行周期之後, 之後的版本將會進入移除程式碼的過程. 在這次的例子來看, 程式碼可以在 3.4 版被移除. 儘管不一定所有的程式碼都會被移除, 但是開發者可能會移除任何 #ifdef, configure 或是其他過期的程式碼.

你能夠做什麼

如果你是一個 OS/2 或 VMS 的使用者, 你能夠作到這幾件事情來拯救你的平台.

成為一個維護者

一個積極的開發者就是最棒的支援. Andrew MacIntyre 成為 OS/2 的維護者有很長的一段時間了, 他在 Victor 第一次提問的時候就說過了 OS/2 對於 Unicode 的支援已經很落後了, 所以這毫無疑問的是一個需要注意的地方. VMS 目前可以從 http://www.vmspython.org 獲得一些外部的支援, 不過就如同在 issue 11918 當中討論過的, 我們還是需要某人站出來讓 VMS 上游的支援繼續下去.

如果你想要接手這兩個平台之一, 請參考 developer's guide 看看目前的發展狀況.

貢獻一台 build slave

有積極開發者的平台會有比較大的機率存活, 有 build slave 的平台存活機率將會更高. 不僅僅是存活的機會變高而已, 品質也會受到保障.

Python 使用 Buildbot 來做持續整合, bulid slaves 目前有提供 Linux, Mac, Windows, 以及 Open Indiana (Solaris) 各種不同平台, 配置的版本. 貢獻一台建構 OS/2 或是 VMS 的機器將可以讓這些平台接受到如同其他主流平台一樣的關注.

如果你可以提供你的時間或是硬體來幫助 OS/2 和 VMS 繼續存活下去, 請和 python-dev 的郵件列表連繫, 我們會協調看看你能做些什麼.

沒有留言:

張貼留言