Bug#253511: provide guideline to keep the package namespace sane

"Serafeim (Serafi) Zanikolas" <[email protected]> Wed, 22 Apr 2026 22:20:51 +0200
Newsgroups gmane.linux.debian.devel.policy
Message-ID <DHZYO4WO267S.2AN7KMAXV5NMR__42278.8377547235$1776889288$gmane$org@debian.org>
tags 253511 patch
thanks

On Wed Apr 22, 2026 at 12:03 PM CEST, Holger Levsen wrote:
> On Wed, Apr 22, 2026 at 12:36:35AM +0200, Serafeim (Serafi) Zanikolas wrote:
>> http://ftp-master.debian.org/REJECT-FAQ.html is no more, and the newer
>> https://ftp-master.debian.org/reject.html says nothing about package names.
>> 
>> there's probably something to be said:
>> 
>> - against common, unqualified words especially ones that represent a whole class
>>   of applications (e.g. reader, browser)
>> - in favor of qualifying names based on:
>>   - the platform they apply to (e.g. elpa-, vim-, neovim-, lib* for libraries)
>>   - relevant packaging teams' conventions (e.g. -perl, golang-, etc)
>> 
>> would you accept a patch along those lines? anything else to add?
>
> sure! (depends on the patch though! ;)

please find one attached.
0001-best-pkging-practices-pkgs-add-basic-guidelines-on-p.patch (text/x-patch, 2.4 KB)
From 4d1d5f8c52f2c58467e07e2f0b20a7b58997c6d9 Mon Sep 17 00:00:00 2001
From: "Serafeim (Serafi) Zanikolas" <[email protected]>
Date: Wed, 22 Apr 2026 22:17:46 +0200
Subject: [PATCH] best-pkging-practices, pkgs: add basic guidelines on package
 names

---
 source/best-pkging-practices.rst | 22 ++++++++++++++++++++++
 source/pkgs.rst                  |  3 ++-
 2 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/source/best-pkging-practices.rst b/source/best-pkging-practices.rst
index 84b7a55..2ba38cb 100644
--- a/source/best-pkging-practices.rst
+++ b/source/best-pkging-practices.rst
@@ -107,6 +107,28 @@ parts of the package description. Following that, :ref:`bpp-pkg-synopsis` provid
 to the synopsis, and :ref:`bpp-pkg-desc` contains
 guidelines specific to the description.
 
+.. _bpp-pkg-name:
+
+The package name
+--------------------------------------------------------------------------------------------------------------------------------
+
+The package name:
+
+-  Must be consistent with widely established conventions, e.g.
+
+   -  C and C++ libraries are typically prefixed with lib
+
+   -  for many other languages, package names are prefixed or a suffixed with
+      the language name (the actual convention depends on the language).
+
+-  Should not be a common, unqualified word. In particular, words that represent
+   a whole class of applications (e.g. reader, browser) should be reserved for
+   virtual packages.
+
+-  Should ideally be at least 4 characters long, unless the upstream name is
+   shorter than that *and* the project is already widely recognized by that name
+   (e.g. fzf).
+
 .. _bpp-desc-basics:
 
 General guidelines for package descriptions
diff --git a/source/pkgs.rst b/source/pkgs.rst
index 5b6a8fd..70b10bf 100644
--- a/source/pkgs.rst
+++ b/source/pkgs.rst
@@ -26,7 +26,8 @@ including, but not limiting yourself to, the description of the package
 and the current URL where it can be downloaded from.
 
 You should set the subject of the bug to ``ITP:`` *foo* ``--`` *short
-description*, substituting the name of the new package for *foo*. The
+description*, substituting the
+:ref:`name of the new package <bpp-pkg-name>` for *foo*. The
 severity of the bug report must be set to ``wishlist``. Please send a
 copy to ``[email protected]`` by using the X-Debbugs-CC
 header (don't use CC:, because that way the message's subject won't
-- 
2.47.3
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEA2RWqo7IwLCLSFYbT59tVQ7WEioFAmnpLaMACgkQT59tVQ7W
EipEjBAA2GXds+OsGTX1yUygg9ZsiCd5vi5BXIVHXShbacMrnYJ4/8UXbQH6sgci
m6Y+mfoEuTT1CVkFlZvCIx+jf/5MwGKW9auRRFbOROSA8yEDDY4ooQph/0IAmH49
se9YD7zDupOJOx8leVFzvuXWR6BASdNeYvMN2kkoeT+OG2QDNWKWQEilp3BSAFBw
LLr8VQTDSygmUC1DPIvm71wXwReJS/xrbIyGgTkeUj1c03iI0jkEy5p+Y6XDRQ6K
FajgUvozqgDT/CbGZFUuPfe0ctYP/fzjEhqeoDPon3AeVsdFxWQeBBiupA+q5/ZK
koiJYnyHRYNqOAWp2yfIGFzAxdrIofs4dLVtyq3LZoe8UEfH8Eu6FR6jY1zaurzV
oyeRbjmCVJV1NSU7IcRFBein7kiSuUS2Lnwc35W78EMYhOUursSQ06KQWGjwsycQ
m3zTGvqxaYZC+9RigWBsXXJqJUhKtoqJ0mmntF5whzjkxbDg7CkKKfQ5PNpyEeOA
0iJ8TKjxImN3ANFW9fgD+HVchiqBildXfM6W8Qxj8E/u/AC3nznsW+gpxUDp5r4m
UBappBQj6132p4nG78iUp/QzWPJmwcH1OVHPW6XG4+cdK0CEeOZ8z/Y8qWTJExdA
DqIYf4BX3A1vRI0PAA6yvgzy5anIr37TwJpn9lv8OqdTl887VbQ=
=cpyj
-----END PGP SIGNATURE-----