unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Opposition to new single-letter package name "t"
@ 2021-03-09  5:27 Mark H Weaver
  2021-03-09  5:39 ` Raghav Gururajan
  2021-03-09  5:47 ` jgart
  0 siblings, 2 replies; 15+ messages in thread
From: Mark H Weaver @ 2021-03-09  5:27 UTC (permalink / raw)
  To: guix-devel; +Cc: LibreMiami, Nicolas Goaziou

Hello Guix,

Yesterday, an obscure package called "t" was added to Guix.  We should
reject such short package names in Guix unless there's a very compelling
reason to keep them.

The problem with single-letter package names is that the probability of
collisions is far too high.  Due to the so-called "birthday paradox", it
only takes 5 such package names before the probability of a collision
gets close to 50%.  Given this, it's an act of extraordinary hubris to
claim a single-letter name for one's package.

We've already had at least one collision involving 2-letter names.  It
takes 26 such names before the probability of collision reaches ~50%.  A
few years ago, someone wrote a tool based on Guile for "programmatic
computer-aided design" and called it "Ao".  It turns out that name is
already taken by a cross platform audio library which is in Guix.

We have precedent for renaming single-letter package names in Guix.  We
have already changed "s" to "s-shell", and "v" to "vlang".  Let's choose
a longer name for "t".  Here's the package definition:

--8<---------------cut here---------------start------------->8---
(define-public t
  ;; Last release is more than 10 years old.  Using latest commit.
  (let ((changeset "89ad444c000b")
        (revision "97"))
    (package
      (name "t")
      (version (git-version "1.2.0" revision changeset))
      (source
       (origin
         (method hg-fetch)
         (uri (hg-reference
               (url "https://hg.stevelosh.com/t")
               (changeset changeset)))
         (file-name (string-append name "-" version "-checkout"))
         (sha256
          (base32 "0c8zn7l0xq65wp07h7mxnb5ww56d1443l2vkjvx5sj6wpcchfn0s"))))
      (build-system python-build-system)
      (native-inputs
       `(("python-cram" ,python-cram)))
      (synopsis "Command-line todo list manager")
      (description
       "@command{t} is a command-line todo list manager for people that want
to finish tasks, not organize them.")
      (home-page "https://stevelosh.com/projects/t/")
      (license license:expat))))
--8<---------------cut here---------------end--------------->8---

Any suggestions for a longer name?  Maybe "t-organizer" or
"t-todo-list-manager"?

Note that I'm not proposing to change the name of the executable, since
that only affects users who have chosen to install the package, and
naturally such users will want to minimize their typing when using the
program.  I merely propose to change the Scheme variable name and the
'name' field of the package.

Thoughts?

     Regards,
       Mark


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2021-03-10  0:18 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-03-09  5:27 Opposition to new single-letter package name "t" Mark H Weaver
2021-03-09  5:39 ` Raghav Gururajan
2021-03-09  5:47 ` jgart
2021-03-09  6:08   ` Raghav Gururajan
2021-03-09  9:35     ` Leo Prikler
2021-03-09 11:38     ` Tobias Geerinckx-Rice
2021-03-09 11:40       ` Julien Lepiller
2021-03-09 13:09         ` Ricardo Wurmus
2021-03-09 12:40       ` Raghav Gururajan
2021-03-09 18:12         ` Nicolas Goaziou
2021-03-10  0:16           ` Mark H Weaver
2021-03-09 13:32       ` Search improvements (Was: Opposition to new single-letter package name "t") Taylan Kammer
2021-03-09 15:12         ` zimoun
2021-03-09 16:18         ` Tobias Geerinckx-Rice
2021-03-09 18:37           ` zimoun

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).