[DRAFT] Parrot Release, Support, and Deprecation Policies

chromatic chromatic at wgz.org
Wed Jan 28 21:10:36 UTC 2009


Per discussions at and after the Parrot Developer Summit, here's a draft of 
our release, support, and deprecation policies.  Comments welcome.

-- c


-------------- next part --------------
=head1 Parrot Release and Support Policy (draft)

This document describes Parrot's release schedule and supported version policy.

=head2 Release Schedule

Parrot currently follows a monthly cycle where we release a new stable version
of Parrot on the third Tuesday of each month.  This will continue into the
forseeable future.

However, we will concentrate our efforts to produce two milestone releases each
year, one in January and one on July.  The January release will be an I<x>.0
release and the July release will be an I<x>.5 release.  Don't read too much
into these version numbers; they represent the points at which we believe we
will have delivered complete sets of major features.

=head2 Deprecations

We will regularly deprecate features and remove them.  All deprecations must
have an announcement in at least one stable release before removal.  In
practice, the milestone releases mark the points at which we will begin
removing deprecated features.  That is, a feature deprecated in Parrot 2.1
(February 2010 release) will likely be removed for Parrot 2.6 (August 2010
release).  Likewise, a feature deprecated in Parrot 2.5 (June 2010) I<may> be
removed as early as Parrot 2.6 (August 2010) -- but it is likely we will
stagger the removal to give several months of notice between deprecation and
removal.

=head2 Supported Older Versions

We support only the most recent milestone family.  That is, after the 1.0
release, we will support releases numbered 1.x.  After 1.5, we reserve the
right to drop support for previous 1.x releases.  We offer no guarantees of
free support for older releases.

We recommend that you update to the most recent monthly stable release in a
milestone family.  We I<may> release patches for previous versions, but in
general we will not release updates for previous releases.

We reserve the right to release updated versions to address severe security
problems, per our determination of applicability and severity.

If you have received an older version packaged by an operating system vendor or
third party, please contact your vendor for updated support.

=head2 Forward Compatibility

We reserve the right to change the format of bytecode in the future, in
accordance with our deprecation guidelines.  We plan to develop tools to
migrate from bytecode formats, but we recommend that you rely on the APIs of
the PCT and NQP tools to generate code for distribution.

=head2 Platform Support

We commit to running (passing all tests) on our supported platforms.

We support recent versions of the three major operating system families:
GNU/Linux, Mac OS X, and Microsoft Windows.  Any version less than two years
old counts as a recent version.

We support the most recent version of the dominant compiler which conforms to
the C89 standard on each supported platform.

We may not support all additional features on every platform (JIT, native
binaries, alternate runcores), but the default configuration and runstate of
Parrot will work on all supported platforms.

We do not preclude supporting other platforms and compilers, but we cannot
commit to supporting such platforms without at least one champion for each
platform.  We reserve the right not to support a platform if doing so would
create an undesirable support burden for the other major platforms.


More information about the parrot-dev mailing list