wiki:DeprecatingFeatures

Version 1 (modified by jchaffraix@webkit.org, 9 years ago) (diff)

Dumping a first draft of the proposal using the talk's notes

This is a follow-up on WebKit contributors' meeting 2012 talk about Deprecating features and vendor prefixes.

How to determine if we can deprecate a feature

  • The burden on the overall project needs to be evaluated as it should be the primary driver for dropping any feature. Small features that require very little maintenance may not qualify under this rule and their deprecation would need to be argued extensively.
  • If the feature is used (e.g. MutationEvent), we need to show that we have a replacement that is better than the feature to be deprecated (better needs to be defined in the context of the deprecation and will need to be argued).
  • Deprecating a feature means we will remove it in the future. Deprecation is not meant as a usage metric collection or to assess web-developpers' reactions.

Deprecation steps

  • Any deprecation should be send to webkit-dev for discussion.
  • Any deprecation requires some data as to why the feature can be deprecated. The goal of the data is to show that the feature is not widely used and is not popular. The following would qualify:
    • usage statistics in the wild (either by instrumenting the browser or any other means).
    • some discussions on the standard mailing lists underlining that the standards' bodies don't think there is enough traction to get the feature standardized.
    • some proofs that there is others way to achieve the same result that are better.
    • some proofs that web-developers don't care much about this feature.
    • ...
  • If several vendors are supporting the feature, we expect people to have interacted with them to assess their support towards the removal.

Deprecating a prefixed feature

Deprecating a prefixed feature should be treated as deprecating an existing features and should follow the previous steps.