unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: "Ludovic Courtès" <ludo@gnu.org>
To: "pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de>
Cc: Matthew Trzcinski <matt@excalamus.com>,
	Maxim Cournoyer <maxim.cournoyer@gmail.com>,
	72840-done@debbugs.gnu.org
Subject: bug#72840: [PATCH RFC] DRAFT doc: Add “Deprecation Policy” section.
Date: Thu, 05 Sep 2024 23:26:25 +0200	[thread overview]
Message-ID: <87frqd6bcu.fsf_-_@gnu.org> (raw)
In-Reply-To: <877cbunuf7.fsf@pelzflorian.de> (pelzflorian@pelzflorian.de's message of "Mon, 02 Sep 2024 13:53:32 +0200")

Hi Florian,

"pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de> skribis:

> Hello Ludo.  Having a deprecation policy clarifies things.  Thank you
> for writing a good one!

Thanks for taking a look!

>> +If the package being removed is a ``leaf'' (no other packages depend on
>> +it), it may be removed after a one-month review period of the patch
>> +removing it.
>> +
>
> Could you also reference this one-month period in the Commit Access section,
> where policy is one or two weeks?

Sure, done in v2 (sent separately).

> Thinking of package removals for security reasons, it should be
> clearer that this one-month period applies even in this case.  (IMHO
> some period should apply.  It is the user’s decision to use software
> despite security problems.  We all know web browsers’ security track
> record; not everone puts the web to use everywhere, but Guix
> thankfully does ship web browsers.)

Indeed; I tried to clarify that in v2.

>> […]
>> +@cindex deprecation of programming interfaces
>> +@item Core interfaces
>> +Core programming interfaces, in particular the @code{(guix ...)}
>> +modules, may be relied on by a variety of external tools and channels.
>> +Any incompatible change must be formally deprecated with
>> +@code{define-deprecated}, as shown above, for at least one year before
>> +removal.  The manual must clearly document the new interface and, except
>> +in obvious cases, explain how to migrate from the old one.

[...]

> This cannot be an absolute truth.  It is not always reasonable to make
> changes bacwards-compatible.  For example, the switch from xz
> repacking to zstd repacking in recent core-updates did break
> guile-manual in doc/build.scm and perhaps did break outside code, but
> it was right nonetheless.  Also Guix is in one big guix.git repository
> so that we can make changes.

Yes, I agree.  But note that this paragraph is concerned with
programming interfaces, which would not cover the case you describe IMO
(though I understand this is debatable).

I thought about changing “must be formally deprecated” to “must be
formally deprecated […] unless the cost of doing so is considered
disproportionate”.  But then it sounds like inviting Guix developers to
put their own interests first and significantly weakens this deprecation
“contract” with users.  Maybe there are other ways to phrase it?

Also, the section ends with:

> This section does not cover all possible situations but hopefully allows
> users to know what to expect and developers to stick to its spirit.

… which in my mind would cover situations like what you describe.

WDYT?

Thanks again for your feedback.

Ludo’.




  reply	other threads:[~2024-09-05 21:27 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-27 19:13 [bug#72839] [PATCH RFC] DRAFT doc: Add “Deprecation Policy” section Ludovic Courtès
2024-09-02 11:53 ` [bug#72840] " pelzflorian (Florian Pelz)
2024-09-05 21:26   ` Ludovic Courtès [this message]
2024-09-05 21:31     ` [bug#72840] [PATCH RFC v2] " Ludovic Courtès
2024-09-11  7:04       ` Maxim Cournoyer
2024-09-11 10:11         ` [bug#72840] [PATCH RFC v3] " Ludovic Courtès
2024-09-12  0:40           ` Maxim Cournoyer
2024-09-11 10:11         ` [bug#72840] [PATCH RFC] DRAFT " Ludovic Courtès
2024-09-11 18:30 ` Noé Lopez via Guix-patches via
2024-09-13 17:23   ` Ludovic Courtès
2024-09-11 19:49 ` [bug#72840] Deprecation policy Konrad Hinsen
2024-09-13 17:32   ` [bug#72840] [PATCH RFC] DRAFT doc: Add “Deprecation Policy” section Ludovic Courtès
2024-09-15  8:22     ` Konrad Hinsen
     [not found] ` <66e1e26e.050a0220.2c8e9.9533SMTPIN_ADDED_BROKEN@mx.google.com>
2024-09-12 15:39   ` Greg Hogan
2024-09-13 16:41 ` [bug#72839] Using RFC process? (was Re: [bug#72839] [PATCH RFC] DRAFT doc: Add “Deprecation Policy” section.) Simon Tournier
2024-09-13 17:38   ` [bug#72840] [PATCH RFC] DRAFT doc: Add “Deprecation Policy” section Ludovic Courtès
2024-09-13 18:11     ` [bug#72839] bug#72840: " Simon Tournier
2024-09-13 20:57 ` [bug#72840] " indieterminacy
2024-09-17 12:21 ` [bug#72840] Orphaned packages Konrad Hinsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87frqd6bcu.fsf_-_@gnu.org \
    --to=ludo@gnu.org \
    --cc=72840-done@debbugs.gnu.org \
    --cc=matt@excalamus.com \
    --cc=maxim.cournoyer@gmail.com \
    --cc=pelzflorian@pelzflorian.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).