From: Philip Kaludercic <philipk@posteo.net>
To: Akib Azmain Turja <akib@disroot.org>
Cc: Jim Porter <jporterbugs@gmail.com>,
rms@gnu.org, eliz@gnu.org, relekarpayas@gmail.com,
susam.pal@gmail.com, emacs-devel@gnu.org
Subject: Re: Naming guidelines for ELPA packages
Date: Sat, 20 May 2023 16:51:01 +0000 [thread overview]
Message-ID: <87sfbr7xqi.fsf@posteo.net> (raw)
In-Reply-To: <87a5y1hreg.fsf@disroot.org> (Akib Azmain Turja's message of "Fri, 19 May 2023 10:33:11 +0600")
Akib Azmain Turja <akib@disroot.org> writes:
> Jim Porter <jporterbugs@gmail.com> writes:
>
>> On 5/14/2023 12:33 PM, Philip Kaludercic wrote:
>>> Jim Porter <jporterbugs@gmail.com> writes:
>>>
>>>> I think I need to adjust the passage a bit to emphasize that the
>>>> Emacs/ELPA maintainers would *prefer* a simple and straightforward
>>>> name like "gobject". ...
>>> That would sound acceptable to me.
>>
>> Ok, how about something like the following? I just expanded it a bit
>> to provide more context and adjusted the wording slightly here and
>> there (for example, these are now "recommendations" instead of
>> "guidelines").
>>
>> ----------------------------------------
>>
>> Naming is hard. However, taking some time to choose a good name for
>> your package will help make your package easier to find and to use. To
>> assist package authors, here are some recommendations for choosing
>> good Emacs package names. Package names should be:
>>
>> * Memorable: Aim for short, distinct names that users can easily recall.
>> * Intuitive: Names don't need to fully describe a package, but they
>> should at least provide a hint about what the package does.
>>
>> For example, suppose I've written a package that provides an interface
>> between GObjects and Emacs Lisp, and named it "goeli". This isn't a
>> very good name, since it's not easy to remember (users may find
>> themselves asking, "Wait... was it 'goli' or 'goeli'?"), and it's
>> nearly impossible to guess what it does from the name.
>>
>> After thinking about it some more, I have a flash of insight: I'll
>> call it "goblin" (for _GOb_ject _L_isp _In_terface)! This is easy
>> enough to remember, but it's still not intuitive.
>>
>> Perhaps the best name for a package like this would simply be
>> "gobject". That's both memorable *and* intuitive, not to mention being
>> as straightforward as you can get. If possible, the ELPA maintainers
>> recommend that you choose a name like this.
>>
>> However, suppose that at this point, I find myself disappointed: while
>> "gobject" is a thoroughly practical name, I just don't want to give up
>> the name "goblin". Instead, I could opt for a compromise: I'll still
>> use "Goblin" when documenting the package and prefix names in my code
>> with "goblin-", but I decide to submit it to GNU ELPA as
>> "goblin-gobject". While this isn't as concise as "gobject", it does
>> let the user know right away that this package has something to do
>> with GObjects.
>>
>
> The example name you suggested, "gobject", is indeed a good name, but
> there's a little problem that if someone ever comes up with a better
> package, it won't find any name for itself.
One could argue this would help preventing NIH and encouraging people to
contribute to existing projects.
next prev parent reply other threads:[~2023-05-20 16:51 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-11 5:23 [NonGNU ELPA] New package: devil Payas Relekar
2023-05-11 6:26 ` Po Lu
2023-05-11 6:33 ` Eli Zaretskii
2023-05-11 6:52 ` Philip Kaludercic
2023-05-11 7:07 ` Eli Zaretskii
2023-05-12 15:02 ` Brian Cully via Emacs development discussions.
2023-05-11 8:09 ` Susam Pal
2023-05-11 8:45 ` Philip Kaludercic
2023-05-11 8:58 ` Eli Zaretskii
2023-05-11 9:08 ` Susam Pal
2023-05-11 9:12 ` Philip Kaludercic
2023-05-11 9:19 ` Susam Pal
2023-05-11 9:34 ` Ruijie Yu via Emacs development discussions.
2023-05-11 10:09 ` Susam Pal
2023-05-11 10:31 ` Susam Pal
2023-05-11 10:36 ` Eli Zaretskii
2023-05-11 8:56 ` Eli Zaretskii
2023-05-12 16:19 ` Jim Porter
2023-05-13 7:10 ` Philip Kaludercic
2023-05-13 9:05 ` Susam Pal
2023-05-15 22:12 ` Richard Stallman
2023-05-17 13:30 ` João Távora
2023-05-17 14:06 ` Philip Kaludercic
2023-05-17 15:41 ` João Távora
2023-05-17 15:46 ` Eli Zaretskii
2023-05-13 22:30 ` Richard Stallman
2023-05-14 4:29 ` Naming guidelines for ELPA packages (was: Re: [NonGNU ELPA] New package: devil) Jim Porter
2023-05-14 7:47 ` Naming guidelines for ELPA packages Philip Kaludercic
2023-05-14 19:23 ` Jim Porter
2023-05-14 19:33 ` Philip Kaludercic
2023-05-19 3:49 ` Jim Porter
2023-05-19 4:33 ` Akib Azmain Turja
2023-05-20 16:51 ` Philip Kaludercic [this message]
2023-05-21 21:03 ` Richard Stallman
2023-05-14 21:36 ` Stefan Monnier via Emacs development discussions.
2023-05-14 22:17 ` Jim Porter
2023-05-14 23:00 ` Stefan Monnier
2023-05-15 1:36 ` Jim Porter
2023-05-15 22:15 ` Naming guidelines for ELPA packages (was: Re: [NonGNU ELPA] New package: devil) Richard Stallman
2023-05-15 22:15 ` Richard Stallman
2023-05-16 4:51 ` Jim Porter
2023-05-16 8:42 ` Naming guidelines for ELPA packages Madhu
-- strict thread matches above, loose matches on Subject: below --
2023-05-15 1:40 Drew Adams
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87sfbr7xqi.fsf@posteo.net \
--to=philipk@posteo.net \
--cc=akib@disroot.org \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=jporterbugs@gmail.com \
--cc=relekarpayas@gmail.com \
--cc=rms@gnu.org \
--cc=susam.pal@gmail.com \
/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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.