Skip to content

Instantly share code, notes, and snippets.

@duglin
Last active August 29, 2015 14:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save duglin/a1a139791972e4cad37c to your computer and use it in GitHub Desktop.
Save duglin/a1a139791972e4cad37c to your computer and use it in GitHub Desktop.
Docker Deprecation Policy
PR Branch: https://github.com/duglin/docker/tree/Deprecate
Right now Docker's development is a bit constrained by the requirement to be backwards compatible.
Normally minor releases (e.g. 1.2 -> 1.3) are required to be backwards compatible, and that makes
a lot of sense for stable products that have a regular major release update schedule.
However, Docker is still (relatively) new and as such some of the original design decisions are
no longer correct, but we are forced to support them for, what feels like, forever. In addition,
there are cases where we decline to offer a better alternative because we would then feel
compelled to support both forever - and usually having more than one way to do something is bad.
We have claimed to deprecate certian features in the past but it seems rare that we actually
follow through and remove support for them.
This PR attempts to formalize Docker's deprecation policy by doing a few things:
1 - makes it clear to our users what to expect with respect to backwards compatibility
2 - gives us the freedom to removed deprecated features w/o having to wait for a major release,
which has yet to happen (aside from v1.0)
There are several steps to this PR:
1 - decide if we want to even allow minor release removal of features at all
2 - if so, then decide what the proper timeframe is for keeping deprecrated features.
This PR offers up a proposal of *2* minor releases.
3 - pick a feature to use as a guinea pig. For now this PR has picked on `docker inspect <image>`
just to show what the documention would look like. If we make it to step 3 in this process
I suspect we may pick another feature. But we can decide that later.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment