summaryrefslogtreecommitdiff
path: root/CONTRIBUTING.md
diff options
context:
space:
mode:
authorAnsis Atteka <aatteka@nicira.com>2015-09-19 13:10:55 -0700
committerAnsis Atteka <aatteka@nicira.com>2015-09-29 17:24:14 -0700
commit121daded51b9798fe3722824b27a05c16806cbd1 (patch)
tree7fb475f075086391d956f729e5c4efcff2bbca85 /CONTRIBUTING.md
parent195360dcdca6ad930608ecad6345fefd0c994e9b (diff)
downloadopenvswitch-121daded51b9798fe3722824b27a05c16806cbd1.tar.gz
doc: document feature deprecation and removal process
It seems that we haven't defined clear process on how features should be removed from OVS. This patch attempts to document this process. Signed-off-by: Ansis Atteka <aatteka@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com> Acked-by: Flavio Leitner <fbl@sysclose.org>
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r--CONTRIBUTING.md33
1 files changed, 33 insertions, 0 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 12cb7dc18..97ab9cb84 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -24,6 +24,8 @@ In particular:
- A patch that adds or removes user-visible features should
also update the appropriate user documentation or manpages.
+ Check "Feature Deprecation Guidelines" section in this document
+ if you intend to remove user-visible feature.
Testing is also important:
@@ -263,6 +265,37 @@ certifies the following:
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
+Feature Deprecation Guidelines
+------------------------------
+
+Open vSwitch is intended to be user friendly. This means that under
+normal circumstances we don't abruptly remove features from OVS that
+some users might still be using. Otherwise, if we would, then we would
+possibly break our user setup when they upgrade and would receive bug
+reports.
+
+Typical process to deprecate a feature in Open vSwitch is to:
+
+ (a) Mention deprecation of a feature in the NEWS file. Also, mention
+ expected release or absolute time when this feature would be removed
+ from OVS altogether. Don't use relative time (e.g. "in 6 months")
+ because that is not clearly interpretable.
+
+ (b) If Open vSwitch is configured to use deprecated feature it should print
+ a warning message to the log files clearly indicating that feature is
+ deprecated and that use of it should be avoided.
+
+ (c) If this feature is mentioned in man pages, then add "Deprecated" keyword
+ to it.
+
+Also, if there is alternative feature to the one that is about to be marked
+as deprecated, then mention it in (a), (b) and (c) as well.
+
+Remember to followup and actually remove the feature from OVS codebase
+once deprecation grace period has expired and users had opportunity to
+use at least one OVS release that would have informed them about feature
+deprecation!
+
Comments
--------