[Distutils] Colour this bikeshed: Name for setuptools fork (was: Announcing the 'Distribute' project)

Ben Finney ben+python at benfinney.id.au
Fri Jul 17 01:48:01 CEST 2009


Tarek Ziadé <ziade.tarek at gmail.com> writes:

> Ok so everyone agrees [“Distribute” is] a bad name for many good
> reasons :)
> 
> I am changing to setuptools2 then.

You've stated that you don't really care what the name is. Thank you for
stating that opinion clearly.

Acknowledging the risk of endless bike-shedding, I wish to disagree:
choosing a good name is very important. Analogous to the name of a
function or variable in our program code, a project name is the only
chance we have at initial communication with potential users. Unlike
identifiers in program code, the name of a project, once it becomes
established, is extremely difficult to change later.

A good name for a software project is typified as much by things to
avoid as much as things to aim for:

* The name should avoid unnecessary implication that this is “the next
  version” of Setuptools. This is a fork, and should be named to make
  the distinction between the projects clear.

* The name should at least hint at the purpose of the software.

  It doesn't need to encapsulate the purpose directly, and that's almost
  impossible for most software — especially when choosing a name for a
  fork that does essentially the same job. But it does need to make the
  association relatively easy to make in a newcomer's mind.

* The name should be easy to spell, search, and speak.

  That is, it should be formed by well-known orthographic rules (of
  English, probably, or some other common language), it should have a
  good chance of leading quickly to the project when typing a query
  string of “python name_of_the_project”, and it should be fairly
  unambiguous in spelling when spoken aloud.

* Corrollaries of the above: the name should be relatively short and
  relatively unique among software projects.

That's a lot to ask of a simple identifier, but I'm convinced those are
all necessary for a name to be a good one. I never said choosing a good
name was easy :-)

Examples of ways to get a good name, by no means exhaustive, with
selected examples of using that way to get a good name:

* A short word that has a clever acronym expansion for the project.
  Remember that an acronym is a *pronounceable* word (otherwise it's
  just an initialism :-) Example: “pip”.

* A word in a non-English language that is nevertheless easy for
  Anglophiles to spell and speak. Bonus points if the word has an
  indirect association to the project purpose. Example: “midori”.

* The (easily-spelled-and-spoken) name of an animal, plant, or other
  natural phenomenon with properties that can be easily associated with
  the project purpose. Example: “ferret”.

* An obscure (yet easily-spelled-and-spoken) English word whose meaning
  has a clever association with the project purpose. Example:
  “perdition”.

* Obviously, there are others.

How's that?

-- 
 \         “Pinky, are you pondering what I'm pondering?” “I think so, |
  `\      Brain, but shouldn't the bat boy be wearing a cape?” —_Pinky |
_o__)                                                   and The Brain_ |
Ben Finney



More information about the Distutils-SIG mailing list