Skip to content

Commit e2a9d17

Browse files
committed
Convert to rst. Add section on Windows lifecycle.
1 parent d0e7dc8 commit e2a9d17

File tree

1 file changed

+163
-127
lines changed

1 file changed

+163
-127
lines changed

pep-0011.txt

Lines changed: 163 additions & 127 deletions
Original file line numberDiff line numberDiff line change
@@ -5,189 +5,225 @@ Last-Modified: $Date$
55
Author: martin@v.loewis.de (Martin von Löwis)
66
Status: Active
77
Type: Process
8+
Content-Type: text/x-rst
89
Created: 07-Jul-2002
910
Post-History: 18-Aug-2007
1011

1112

1213
Abstract
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

2123
Rationale
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

4144
Unsupporting 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

6872
Resupporting 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

77111
No-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

188223
Copyright
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

Comments
 (0)