@@ -5,189 +5,225 @@ Last-Modified: $Date$
55Author: martin@v.loewis.de (Martin von Löwis)
66Status: Active
77Type: Process
8+ Content-Type: text/x-rst
89Created: 07-Jul-2002
910Post-History: 18-Aug-2007
1011
1112
1213Abstract
14+ --------
1315
14- This PEP documents operating systems (platforms) which are not
15- supported in Python anymore. For some of these systems,
16- supporting code might be still part of Python, but will be removed
17- in a future release - unless somebody steps forward as a volunteer
18- to maintain this code.
16+ This PEP documents operating systems (platforms) which are not
17+ supported in Python anymore. For some of these systems,
18+ supporting code might be still part of Python, but will be removed
19+ in a future release - unless somebody steps forward as a volunteer
20+ to maintain this code.
1921
2022
2123Rationale
24+ ---------
2225
23- Over time, the Python source code has collected various pieces of
24- platform-specific code, which, at some point in time, was
25- considered necessary to use Python on a specific platform.
26- Without access to this platform, it is not possible to determine
27- whether this code is still needed. As a result, this code may
28- either break during the Python evolution, or it may become
29- unnecessary as the platforms evolve as well.
26+ Over time, the Python source code has collected various pieces of
27+ platform-specific code, which, at some point in time, was
28+ considered necessary to use Python on a specific platform.
29+ Without access to this platform, it is not possible to determine
30+ whether this code is still needed. As a result, this code may
31+ either break during the Python evolution, or it may become
32+ unnecessary as the platforms evolve as well.
3033
31- The growing amount of these fragments poses the risk of
32- unmaintainability: without having experts for a large number of
33- platforms, it is not possible to determine whether a certain
34- change to the Python source code will work on all supported
35- platforms.
34+ The growing amount of these fragments poses the risk of
35+ unmaintainability: without having experts for a large number of
36+ platforms, it is not possible to determine whether a certain
37+ change to the Python source code will work on all supported
38+ platforms.
3639
37- To reduce this risk, this PEP proposes a procedure to remove code
38- for platforms with no Python users.
40+ To reduce this risk, this PEP proposes a procedure to remove code
41+ for platforms with no Python users.
3942
4043
4144Unsupporting platforms
45+ ----------------------
4246
43- If a certain platform that currently has special code in it is
44- deemed to be without Python users, a note must be posted in this
45- PEP that this platform is no longer actively supported. This
46- note must include:
47+ If a certain platform that currently has special code in it is
48+ deemed to be without Python users, a note must be posted in this
49+ PEP that this platform is no longer actively supported. This
50+ note must include:
4751
48- - the name of the system
49- - the first release number that does not support this platform
50- anymore, and
51- - the first release where the historical support code is actively
52- removed
52+ - the name of the system
53+ - the first release number that does not support this platform
54+ anymore, and
55+ - the first release where the historical support code is actively
56+ removed
5357
54- In some cases, it is not possible to identify the specific list of
55- systems for which some code is used (e.g. when autoconf tests for
56- absence of some feature which is considered present on all
57- supported systems). In this case, the name will give the precise
58- condition (usually a preprocessor symbol) that will become
59- unsupported.
58+ In some cases, it is not possible to identify the specific list of
59+ systems for which some code is used (e.g. when autoconf tests for
60+ absence of some feature which is considered present on all
61+ supported systems). In this case, the name will give the precise
62+ condition (usually a preprocessor symbol) that will become
63+ unsupported.
6064
61- At the same time, the Python source code must be changed to
62- produce a build-time error if somebody tries to install Python on
63- this platform. On platforms using autoconf, configure must fail.
64- This gives potential users of the platform a chance to step
65- forward and offer maintenance.
65+ At the same time, the Python source code must be changed to
66+ produce a build-time error if somebody tries to install Python on
67+ this platform. On platforms using autoconf, configure must fail.
68+ This gives potential users of the platform a chance to step
69+ forward and offer maintenance.
6670
6771
6872Resupporting platforms
69-
70- If a user of a platform wants to see this platform supported
71- again, he may volunteer to maintain the platform support. Such an
72- offer must be recorded in the PEP, and the user can submit patches
73- to remove the build-time errors, and perform any other maintenance
74- work for the platform.
73+ ----------------------
74+
75+ If a user of a platform wants to see this platform supported
76+ again, he may volunteer to maintain the platform support. Such an
77+ offer must be recorded in the PEP, and the user can submit patches
78+ to remove the build-time errors, and perform any other maintenance
79+ work for the platform.
80+
81+ Microsoft Windows
82+ -----------------
83+
84+ Microsoft has established a policy called product support lifecycle
85+ [1]_. Each product's lifecycle has a mainstream support phase, where
86+ the product is generally commercially available, and an extended
87+ support phase, where paid support is still available, and certain bug
88+ fixes are released (in particular security fixes).
89+
90+ Python's Windows support now follows this lifecycle. A new feature
91+ release X.Y.0 will support all Windows releases whose extended support
92+ phase is not yet expired. Subsequent bug fix releases will support
93+ the same Windows releases as the original feature release (even if
94+ the extended support phase has ended).
95+
96+ Because of this policy, no further Windows releases need to be listed
97+ in this PEP.
98+
99+ Each feature release is built by a specific version of Microsoft
100+ Visual Studio. That version should have mainstream support when the
101+ release is made. Developers of extension modules will generally need
102+ to use the same Visual Studio release; they are concerned both with
103+ the availability of the versions they need to use, and with keeping
104+ the zoo of versions small. The Python source tree will keep
105+ unmaintained build files for older Visual Studio releases, for which
106+ patches will be accepted. Such build files will be removed from the
107+ source tree 3 years after the extended support for the compiler has
108+ ended (but continue to remain available in revision control).
75109
76110
77111No-longer-supported platforms
112+ -----------------------------
78113
79- Name: MS-DOS, MS-Windows 3.x
80- Unsupported in: Python 2.0
81- Code removed in: Python 2.1
114+ * | Name: MS-DOS, MS-Windows 3.x
115+ | Unsupported in: Python 2.0
116+ | Code removed in: Python 2.1
82117
83- Name: SunOS 4
84- Unsupported in: Python 2.3
85- Code removed in: Python 2.4
118+ * | Name: SunOS 4
119+ | Unsupported in: Python 2.3
120+ | Code removed in: Python 2.4
86121
87- Name: DYNIX
88- Unsupported in: Python 2.3
89- Code removed in: Python 2.4
122+ * | Name: DYNIX
123+ | Unsupported in: Python 2.3
124+ | Code removed in: Python 2.4
90125
91- Name: dgux
92- Unsupported in: Python 2.3
93- Code removed in: Python 2.4
126+ * | Name: dgux
127+ | Unsupported in: Python 2.3
128+ | Code removed in: Python 2.4
94129
95- Name: Minix
96- Unsupported in: Python 2.3
97- Code removed in: Python 2.4
130+ * | Name: Minix
131+ | Unsupported in: Python 2.3
132+ | Code removed in: Python 2.4
98133
99- Name: Irix 4 and --with-sgi-dl
100- Unsupported in: Python 2.3
101- Code removed in: Python 2.4
134+ * | Name: Irix 4 and --with-sgi-dl
135+ | Unsupported in: Python 2.3
136+ | Code removed in: Python 2.4
102137
103- Name: Linux 1
104- Unsupported in: Python 2.3
105- Code removed in: Python 2.4
138+ * | Name: Linux 1
139+ | Unsupported in: Python 2.3
140+ | Code removed in: Python 2.4
106141
107- Name: Systems defining __d6_pthread_create (configure.in)
108- Unsupported in: Python 2.3
109- Code removed in: Python 2.4
142+ * | Name: Systems defining __d6_pthread_create (configure.in)
143+ | Unsupported in: Python 2.3
144+ | Code removed in: Python 2.4
110145
111- Name: Systems defining PY_PTHREAD_D4, PY_PTHREAD_D6,
146+ * | Name: Systems defining PY_PTHREAD_D4, PY_PTHREAD_D6,
112147 or PY_PTHREAD_D7 in thread_pthread.h
113- Unsupported in: Python 2.3
114- Code removed in: Python 2.4
148+ | Unsupported in: Python 2.3
149+ | Code removed in: Python 2.4
115150
116- Name: Systems using --with-dl-dld
117- Unsupported in: Python 2.3
118- Code removed in: Python 2.4
151+ * | Name: Systems using --with-dl-dld
152+ | Unsupported in: Python 2.3
153+ | Code removed in: Python 2.4
119154
120- Name: Systems using --without-universal-newlines,
121- Unsupported in: Python 2.3
122- Code removed in: Python 2.4
155+ * | Name: Systems using --without-universal-newlines,
156+ | Unsupported in: Python 2.3
157+ | Code removed in: Python 2.4
123158
124- Name: MacOS 9
125- Unsupported in: Python 2.4
126- Code removed in: Python 2.4
159+ * | Name: MacOS 9
160+ | Unsupported in: Python 2.4
161+ | Code removed in: Python 2.4
127162
128- Name: Systems using --with-wctype-functions
129- Unsupported in: Python 2.6
130- Code removed in: Python 2.6
163+ * | Name: Systems using --with-wctype-functions
164+ | Unsupported in: Python 2.6
165+ | Code removed in: Python 2.6
131166
132- Name: Win9x, WinME, NT4
133- Unsupported in: Python 2.6 (warning in 2.5 installer)
134- Code removed in: Python 2.6
167+ * | Name: Win9x, WinME, NT4
168+ | Unsupported in: Python 2.6 (warning in 2.5 installer)
169+ | Code removed in: Python 2.6
135170
136- Name: AtheOS
137- Unsupported in: Python 2.6 (with "AtheOS" changed to "Syllable")
138- Build broken in: Python 2.7 (edit configure to reenable)
139- Code removed in: Python 3.0
140- Details: http://www.syllable.org/discussion.php?id=2320
171+ * | Name: AtheOS
172+ | Unsupported in: Python 2.6 (with "AtheOS" changed to "Syllable")
173+ | Build broken in: Python 2.7 (edit configure to reenable)
174+ | Code removed in: Python 3.0
175+ | Details: http://www.syllable.org/discussion.php?id=2320
141176
142- Name: BeOS
143- Unsupported in: Python 2.6 (warning in configure)
144- Build broken in: Python 2.7 (edit configure to reenable)
145- Code removed in: Python 3.0
177+ * | Name: BeOS
178+ | Unsupported in: Python 2.6 (warning in configure)
179+ | Build broken in: Python 2.7 (edit configure to reenable)
180+ | Code removed in: Python 3.0
146181
147- Name: Systems using Mach C Threads
148- Unsupported in: Python 3.2
149- Code removed in: Python 3.3
182+ * | Name: Systems using Mach C Threads
183+ | Unsupported in: Python 3.2
184+ | Code removed in: Python 3.3
150185
151- Name: SunOS lightweight processes (LWP)
152- Unsupported in: Python 3.2
153- Code removed in: Python 3.3
186+ * | Name: SunOS lightweight processes (LWP)
187+ | Unsupported in: Python 3.2
188+ | Code removed in: Python 3.3
154189
155- Name: Systems using --with-pth (GNU pth threads)
156- Unsupported in: Python 3.2
157- Code removed in: Python 3.3
190+ * | Name: Systems using --with-pth (GNU pth threads)
191+ | Unsupported in: Python 3.2
192+ | Code removed in: Python 3.3
158193
159- Name: Systems using Irix threads
160- Unsupported in: Python 3.2
161- Code removed in: Python 3.3
194+ * | Name: Systems using Irix threads
195+ | Unsupported in: Python 3.2
196+ | Code removed in: Python 3.3
162197
163- Name: OSF* systems (issue 8606)
164- Unsupported in: Python 3.2
165- Code removed in: Python 3.3
198+ * | Name: OSF* systems (issue 8606)
199+ | Unsupported in: Python 3.2
200+ | Code removed in: Python 3.3
166201
167- Name: OS/2
168- Unsupported in: Python 3.3
169- Code removed in: Python 3.4
202+ * | Name: OS/2
203+ | Unsupported in: Python 3.3
204+ | Code removed in: Python 3.4
170205
171- Name: VMS
172- Unsupported in: Python 3.3
173- Code removed in: Python 3.4
206+ * | Name: VMS
207+ | Unsupported in: Python 3.3
208+ | Code removed in: Python 3.4
174209
175- Name: Windows 2000
176- Unsupported in: Python 3.3
177- Code removed in: Python 3.4
210+ * | Name: Windows 2000
211+ | Unsupported in: Python 3.3
212+ | Code removed in: Python 3.4
178213
179- Name: Windows systems where COMSPEC points to command.com
180- Unsupported in: Python 3.3
181- Code removed in: Python 3.4
214+ * | Name: Windows systems where COMSPEC points to command.com
215+ | Unsupported in: Python 3.3
216+ | Code removed in: Python 3.4
182217
183- Platform Maintainers
218+ References
219+ ----------
184220
185- Cygwin Jason Tishler (jason@tishler.net)
186- More TBD.
221+ .. [1] http://support.microsoft.com/lifecycle/
187222
188223Copyright
224+ ---------
189225
190- This document has been placed in the public domain.
226+ This document has been placed in the public domain.
191227
192228
193229
0 commit comments