gpgme/lang/python/doc/texinfo/maintenance-mode.texi
Ben McGinnes 3b056a01a2 python: documentation
* Added long description to setup.py.in.
* Added maintenance mode details with clarification for what type of
  things would be a bug as far as MM is concerned and what wouldn't
  be.
** Includes a not too subtle hint directed towards the donations page.
* Miscellaneous tightening of documentation.

Signed-off-by: Ben McGinnes <ben@adversary.org>
2018-12-01 07:45:50 +11:00

123 lines
4.5 KiB
Plaintext

\input texinfo @c -*- texinfo -*-
@c %**start of header
@setfilename maintenance-mode.info
@settitle Maintenance Mode
@documentencoding UTF-8
@documentlanguage en
@c %**end of header
@finalout
@titlepage
@title Maintenance Mode
@author Ben McGinnes
@end titlepage
@contents
@ifnottex
@node Top
@top Maintenance Mode
@end ifnottex
@menu
* Maintenance Mode from 2019::
@detailmenu
--- The Detailed Node Listing ---
Maintenance Mode from 2019
* Maintainer from 2019 onward::
* Using the Python Bindings from 2019 and beyond::
@end detailmenu
@end menu
@node Maintenance Mode from 2019
@chapter Maintenance Mode from 2019
@multitable {aaaaaaaaaaaaaaa} {aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
@item Version:
@tab 0.0.1-draft
@item GPGME Version:
@tab 1.13.0
@item Author:
@tab @uref{https://gnupg.org/people/index.html#sec-1-5, Ben McGinnes} <@email{ben@@gnupg.org, ben@@gnupg.org}>
@item Author GPG Key:
@tab @uref{https://hkps.pool.sks-keyservers.net/pks/lookup?search=0xDB4724E6FA4286C92B4E55C4321E4E2373590E5D&exact=on&op=get, DB4724E6FA4286C92B4E55C4321E4E2373590E5D}
@item Language:
@tab Australian English, British English
@item xml:lang:
@tab en-AU, en-GB, en
@end multitable
From the beginning of 2019 the Python bindings to GPGME will enter
maintenance mode, meaning that new features will not be added and only
bug fixes and security fixes will be made. This also means that
documentation beyond that existing at the end of 2018 will not be
developed further except to correct errors.
Though use of these bindings appears to have been quite well received,
there has been no indication of what demand there is, if any for
either financial backing of the current Python bindings development or
support contracts with g10code GmbH citing the necessity of including
the bindings.
@menu
* Maintainer from 2019 onward::
* Using the Python Bindings from 2019 and beyond::
@end menu
@node Maintainer from 2019 onward
@section Maintainer from 2019 onward
How does this affect the position of GnuPG Python Bindings Maintainer?
Well, I will remain as maintainer of the bindings; but without funding
for that position, the amount of time I will be able to dedicate
solely to this task will be limited and reduced to volunteered time.
As with all volunteered time and effort in free software projects,
this will be subject to numerous external imperatives.
@node Using the Python Bindings from 2019 and beyond
@section Using the Python Bindings from 2019 and beyond
For most, if not all, Python developers using these bindings; they
will continue to “just work” the same as they always have. Expansions
of GPGME itself are usually handled by SWIG with the existing code and
thus bindings are generated properly when the bindings are installed
alongside GPGME and when the latter is built from source.
In the rare circumstances where that is not enough to address some new
addition to GPGME, then that is a bug and thus subject to the
maintenance mode provisions (i.e. it will be fixed following a bug
report being raised and your humble author will need to remember where
the timesheet template was filed, depending on how many years off such
an event is).
All the GPGME functionality will continue to be accessible via the
lower level, dynamically generated methods which match the GPGME C
documentation. While the more intuitively Pythonic higher level layer
already covers the vast majority of functionality people require with
key generation, signatures, certifications (key signing), encryption,
decryption, verification, validation, trust levels and so on.
Any wanted features lacking in the Python bindings are usually lacking
because they are missing from GPGME itself (e.g. revoking keys via the
API) and in such cases they are usually deliberately excluded. More
Any features existing in the dynamically generated layer for which
people want a specific, higher level function included to make it more
Pythonic (e.g. to avoid needing to learn or memorise cryptographic
mode values or GnuPG status code numbers), would be a feature request
and @emph{not} a bug.
It is still worthwhile requesting it, but the addition of such a
feature would not be guaranteed and provided on a purely volunteer
basis. Expediting such a request would require funding that request.
Those with a commercial interest in expediting such a feature request
already know how to @uref{https://gnupg.org/cgi-bin/procdonate.cgi?mode=preset, expedite it} (use the message field to state what
feature is being requested).
@bye