Source

python-peps / pep-0011.txt

Full commit
PEP: 11
Title: Removing support for little used platforms
Version: $Revision$
Last-Modified: $Date$
Author: martin@v.loewis.de (Martin von Löwis)
Status: Active
Type: Process
Created: 07-Jul-2002
Post-History: 18-Aug-2007


Abstract

    This PEP documents operating systems (platforms) which are not
    supported in Python anymore.  For some of these systems,
    supporting code might be still part of Python, but will be removed
    in a future release - unless somebody steps forward as a volunteer
    to maintain this code.


Rationale

    Over time, the Python source code has collected various pieces of
    platform-specific code, which, at some point in time, was
    considered necessary to use Python on a specific platform.
    Without access to this platform, it is not possible to determine
    whether this code is still needed.  As a result, this code may
    either break during the Python evolution, or it may become
    unnecessary as the platforms evolve as well.

    The growing amount of these fragments poses the risk of
    unmaintainability: without having experts for a large number of
    platforms, it is not possible to determine whether a certain
    change to the Python source code will work on all supported
    platforms.

    To reduce this risk, this PEP proposes a procedure to remove code
    for platforms with no Python users.


Unsupporting platforms

    If a certain platform that currently has special code in it is
    deemed to be without Python users, a note must be posted in this
    PEP that this platform is no longer actively supported.  This
    note must include:

    - the name of the system
    - the first release number that does not support this platform
      anymore, and
    - the first release where the historical support code is actively
      removed

    In some cases, it is not possible to identify the specific list of
    systems for which some code is used (e.g. when autoconf tests for
    absence of some feature which is considered present on all
    supported systems).  In this case, the name will give the precise
    condition (usually a preprocessor symbol) that will become
    unsupported.

    At the same time, the Python source code must be changed to
    produce a build-time error if somebody tries to install Python on
    this platform.  On platforms using autoconf, configure must fail.
    This gives potential users of the platform a chance to step
    forward and offer maintenance.


Resupporting platforms

    If a user of a platform wants to see this platform supported
    again, he may volunteer to maintain the platform support.  Such an
    offer must be recorded in the PEP, and the user can submit patches
    to remove the build-time errors, and perform any other maintenance
    work for the platform.


No-longer-supported platforms

    Name:             MS-DOS, MS-Windows 3.x
    Unsupported in:   Python 2.0
    Code removed in:  Python 2.1

    Name:             SunOS 4
    Unsupported in:   Python 2.3
    Code removed in:  Python 2.4

    Name:             DYNIX
    Unsupported in:   Python 2.3
    Code removed in:  Python 2.4

    Name:             dgux
    Unsupported in:   Python 2.3
    Code removed in:  Python 2.4

    Name:             Minix
    Unsupported in:   Python 2.3
    Code removed in:  Python 2.4

    Name:             Irix 4 and --with-sgi-dl
    Unsupported in:   Python 2.3
    Code removed in:  Python 2.4

    Name:             Linux 1
    Unsupported in:   Python 2.3
    Code removed in:  Python 2.4

    Name:             Systems defining __d6_pthread_create (configure.in)
    Unsupported in:   Python 2.3
    Code removed in:  Python 2.4

    Name:             Systems defining PY_PTHREAD_D4, PY_PTHREAD_D6,
                      or PY_PTHREAD_D7 in thread_pthread.h
    Unsupported in:   Python 2.3
    Code removed in:  Python 2.4

    Name:             Systems using --with-dl-dld
    Unsupported in:   Python 2.3
    Code removed in:  Python 2.4

    Name:             Systems using --without-universal-newlines,
    Unsupported in:   Python 2.3
    Code removed in:  Python 2.4

    Name:             MacOS 9
    Unsupported in:   Python 2.4
    Code removed in:  Python 2.4

    Name:             Systems using --with-wctype-functions
    Unsupported in:   Python 2.6
    Code removed in:  Python 2.6

    Name:             Win9x, WinME, NT4
    Unsupported in:   Python 2.6 (warning in 2.5 installer)
    Code removed in:  Python 2.6

    Name:             AtheOS
    Unsupported in:   Python 2.6 (with "AtheOS" changed to "Syllable")
    Build broken in:  Python 2.7 (edit configure to reenable)
    Code removed in:  Python 3.0
    Details:          http://www.syllable.org/discussion.php?id=2320

    Name:             BeOS
    Unsupported in:   Python 2.6 (warning in configure)
    Build broken in:  Python 2.7 (edit configure to reenable)
    Code removed in:  Python 3.0

    Name:             Systems using Mach C Threads
    Unsupported in:   Python 3.2
    Code removed in:  Python 3.3

    Name:             SunOS lightweight processes (LWP)
    Unsupported in:   Python 3.2
    Code removed in:  Python 3.3

    Name:             Systems using --with-pth (GNU pth threads)
    Unsupported in:   Python 3.2
    Code removed in:  Python 3.3

    Name:             Systems using Irix threads
    Unsupported in:   Python 3.2
    Code removed in:  Python 3.3

    Name:             OSF* systems (issue 8606)
    Unsupported in:   Python 3.2
    Code removed in:  Python 3.3

    Name:             OS/2
    Unsupported in:   Python 3.3
    Code removed in:  Python 3.4

    Name:             VMS
    Unsupported in:   Python 3.3
    Code removed in:  Python 3.4

    Name:             Windows 2000
    Unsupported in:   Python 3.3
    Code removed in:  Python 3.4

    Name:             Windows systems where COMSPEC points to command.com
    Unsupported in:   Python 3.3
    Code removed in:  Python 3.4

Platform Maintainers

    Cygwin            Jason Tishler (jason@tishler.net)
    More TBD.

Copyright

    This document has been placed in the public domain.



Local Variables:
mode: indented-text
indent-tabs-mode: nil
sentence-end-double-space: t
fill-column: 70
coding: utf-8
End: