bpo-28286: Deprecate opening GzipFile for writing implicitly. (GH-16417)

Always specify the mode argument for writing.
diff --git a/Doc/library/gzip.rst b/Doc/library/gzip.rst
index 3349a94..33c4067 100644
--- a/Doc/library/gzip.rst
+++ b/Doc/library/gzip.rst
@@ -88,7 +88,8 @@
    The *mode* argument can be any of ``'r'``, ``'rb'``, ``'a'``, ``'ab'``, ``'w'``,
    ``'wb'``, ``'x'``, or ``'xb'``, depending on whether the file will be read or
    written.  The default is the mode of *fileobj* if discernible; otherwise, the
-   default is ``'rb'``.
+   default is ``'rb'``.  In future Python releases the mode of *fileobj* will
+   not be used.  It is better to always specify *mode* for writing.
 
    Note that the file is always opened in binary mode. To open a compressed file
    in text mode, use :func:`.open` (or wrap your :class:`GzipFile` with an
@@ -164,6 +165,10 @@
    .. versionchanged:: 3.6
       Accepts a :term:`path-like object`.
 
+   .. deprecated:: 3.9
+      Opening :class:`GzipFile` for writing without specifying the *mode*
+      argument is deprecated.
+
 
 .. function:: compress(data, compresslevel=9, *, mtime=None)