
WhyTheName - thristian
https://wiki.debian.org/WhyTheName
======
crucialfelix
This alone was worth opening the page:

> argonaut-* > (server-client distributed deployment infrastructure) for some
> of the package descriptions in the suite this name is a groan-inducingly
> obvious Greek-mythology pun, but others don't even mention that its message
> protocol is encoded in JavaScript Object Notation (JSON "Jason")

------
fbelzile
> mysql-* a Structured Query Language server named after the original
> developer's daughter "My" (cf. also mariadb)

Learned something new today... It's crazy to think how we take some of these
technologies for granted while never stopping to think about the individual
human beings that made it all possible to begin with.

Anyone know of a good podcast or website that does a deep dive into the
history of how different computer technologies (esp open source ones) came to
be the way they are?

~~~
EricRiese
Command Line Heroes is exactly what you want.
[https://www.redhat.com/en/command-line-
heroes](https://www.redhat.com/en/command-line-heroes)

~~~
jjice
Seems really neat! Is each season based around a concept i.e. season 4 is
hardware and season 3 seems to be languages?

------
OedipusRex
Whoever wrote this, hats off.

>chromium - web browsers on Linux spent a decade going through a cycle of
slick new slimline web browsers gradually getting buried in creeping features
until they were as weighed down with chrome grills and ornamental fins as a
fifties US car, at which point everyone would switch to some new minimalist
alternative. Meanwhile these GUI widgets came to be referred to as "chrome",
which explains why Google would choose to advertise their browser as if it was
manufactured entirely out of deadweight bling...

~~~
teddyh
The term “chrome” is older than web browsers:

[http://www.catb.org/~esr/jargon/html/C/chrome.html](http://www.catb.org/~esr/jargon/html/C/chrome.html)

------
tadzik_
One interesting bit that I found missing on that page is ncmpcpp, which is a
simple one (in a way), and also contains its entire genealogy in the name.

First there was mpc, the music player (daemon) client.

Then someone made the ncurses version, so of course that was named ncmpc.

Then someone decided to add more features and rewrite it in C++, and voila.

~~~
urxvtcd
There's similar story to urxvtcd which is my nickname here, haha. They have an
entry on rxvt:

Rob Nation's fork of the X11 Virtual Terminal; originally "Robert's" xvt,
later "our" xvt.

Then they added "u" for unicode support. And then urxvt can run a daemon to
which clients connect for faster startup or something, so we have urxvtc and
urxvtd, and finally there was a script on some distro I used which checked for
a daemon, run it if it not existed, and then run client, so urxvtcd.

Could have made one with color support included in the name too, like
urxvtcd256.

~~~
JdeBP
... which is only part of the tale. Some of the rest involves the fact that
"rxvt-unicode-256color" is too many characters for the termcap/terminfo
databases on some operating systems.

------
mothsonasloth
Forgive me if this is a bit morbid, but we are lucky as computer scientists
and engineers to have a largely "living history" over the last century of
innovation.

Documentation is great in some respects but we should try and go out of our
way to interact and cherish the pioneers of early computing more before they
pass on.

What do I mean by "more"; when we have forums, mailgroups, IRC, conferences
etc.?

I guess more books, more interviews and more documentation.

One thing I like to do with junior developers is when I see them using a
terminal command that they just copy and pasted from stackoverflow, I try and
coach them to read up about it on manpages or documentation online, so they
can get a better feel of what the history was behind that tool.

~~~
qppo
I hope you're right, most of what we know about Plato's teachings came from
his students that took good notes.

That said, I do have trouble finding the "history" of a particular technical
idea. There's a lot of interesting things that are a certain way but haven't
been documented about "why" because the author never thought to put them down.

Indeed the most interesting things to posterity are the ones we don't even
think about.

~~~
OskarS
> I hope you're right, most of what we know about Plato's teachings came from
> his students that took good notes.

You're thinking of Socrates, not Plato. Plato is the one of the few ancient
writers where it's believed that basically his the entire body of work has
been preserved. What we know of Plato's philosophy, we know from Plato
directly.

Socrates, however, did not write anything down: he was famously opposed to the
concept of writing, thinking it induced forgetfulness. His philosophy is thus
almost entirely known through his students, primarily through Plato. There are
a few others (Xenophon was also Socrates' student and wrote about him), but
Plato is by far the most significant.

------
eximius
Incredibly ironic that Debian is missing from this page.

~~~
DiabloD3
For those wondering, Debian is a portmanteau of Ian Murdock's and his
gf/wife/ex-wife's, Debra, first names. Deb-ian.

I wish I could have thanked Ian in person for making the Linux community a
better place. It's still the only Linux distro I'll use.

~~~
dEnigma
This means /ˈde.bi.ən/ in this case. Source:
[https://www.debian.org/intro/about#history](https://www.debian.org/intro/about#history)

~~~
jlgaddis
FWIW, the Debian GNU/Linux FAQ [0] states:

> _The project name is pronounced Deb '-ee-en, with a short e in Deb, and
> emphasis on the first syllable. This word is a contraction of the names of
> Debra and Ian Murdock, who founded the project. (Dictionaries seem to offer
> some ambiguity in the pronunciation of Ian (!), but Ian prefers ee'-en.)_

\---

[0]: [https://www.debian.org/doc/manuals/debian-faq/basic-
defs.en....](https://www.debian.org/doc/manuals/debian-faq/basic-
defs.en.html#pronunciation)

------
dang
A thread from 2015:
[https://news.ycombinator.com/item?id=9322904](https://news.ycombinator.com/item?id=9322904)

(Link for the curious. Reposts are ok after a year:
[https://news.ycombinator.com/newsfaq.html](https://news.ycombinator.com/newsfaq.html))

------
gbrown_
It would be fun to have a list of projects that contrived the reasoning after
choosing the name.

The DNF package manger always springs to my mind when naming comes up.
Originally it didn't stand for anything, despite the use of DNF in sports to
denote "Did Not Finish" (hardly a great connotation for most software). Though
it appears to have since been coined as "Dandified YUM".

~~~
sk0g
> contrived the reasoning after choosing the name

I believe you're looking for the word "backronym"? There's a few notable ones
I can think of, like Amber Alert, and SOS.

~~~
gbrown_
> I believe you're looking for the word "backronym"?

TIL.

------
riffic
I wish the topics here on HN would include a bit more context so it wasn't
necessary to click on each link to find out what the post was about.

I love these sort of naming derivations, and it shows a certain creativity and
irreverent humor found in the free software world. I wish that naming was a
simpler aspect of software development -- often times it's the ultimate form
of bikeshedding.

~~~
CameronNemo
The name of the post was originally something like "etymology of Debian
package names", but an admin decided that they did not like that name and
changed it.

------
geokon
a bit tangential, while this is cute, what I've never been able to find is a
definitive digestible guide to the final Debian package names. what does -dev
-doc etc. really mean? (I often need a -dev package for stuff I'm not even
building for some reason) why do some libs tack on a 'lib' at the front while
some do not? why are package versions often seemingly unrelated to upstream
versions? and sometimes packages come is multiple versions (like GCC) and yet
often they don't.. seemingly randomly. for instance i just looked up lxqt
which is listed as version 13... I don't know what version that corresponds to
upstream.. 1.13? Maybe? it's all incredibly beginner unfriendly

maybe someone has a good reference?

~~~
Denvercoder9
> what does -dev -doc etc. really mean?

-dev packages ship the header files for C/C++ libraries, and in some odd cases also static libraries.

-doc packages ship documentation (unsurprisingly). Usually they only exist for things like libraries and interpreteres, where the documentation can be sizable and is only needed by a (small) subset of the users that have the package installed.

> I often need a -dev package for stuff I'm not even building for some reason

That's because to compile something that links against a library, you need to
have the header files available.

> why do some libs tack on a 'lib' at the front while some do not

Aside from a few leftover historical oddities (primarily zlib), all shared
libraries should be prefixed with lib.

> why are package versions often seemingly unrelated to upstream versions?

They should be. Exceptions are made for "native" packages (which usually
provide Debian-specific software or integrations) and upstreams that don't
really follow any versioning scheme.

> sometimes packages come is multiple versions (like GCC) and yet often they
> don't

In the steady state there should be only one version of every package. During
the transition to a new version, especially of very core packages such as GCC,
there might temporarily be more. It's unfortunately happened in the past that
multiple versions ended up in stable, but that was because the Linux kernel
required a specific GCC version.

> for instance i just looked up lxqt which is listed as version 13... I don't
> know what version that corresponds to upstream.. 1.13?

The LXQT package is a "native" package that only provides integration between
Debian and LXQT, and as such it doesn't follow LXQT's version numbering. If
you instead look at any actual LXQT software (e.g. lxqt-session), they follow
the upstream versioning (0.14). I agree that it's a bit confusing, but it's a
result of the development process.

~~~
geokon
Thank you for taking the time to explain :)

And yeah, zlib is a weird one. It's listed as zlib1g sometimes and the files
are libz from what I remember

I have a followup if you don't mind. I'm trying to rack my brain for old
confusions I've had... For instance I look up libssl. There is a libssl-dev,
but no corresponding libssl. There are other libssl libs but all the names are
inconsistent: libssl1.0.0 with no libssl1.0.0-dev and then there is a
libssl1.0.2, but it has no libssl1.0.2-dev haha. But I do see a libssl1.0-dev
and when I click through it have 1.0.2 as a dependency... So what's going on?

~~~
Denvercoder9
> And yeah, zlib is a weird one. It's listed as zlib1g sometimes and the files
> are libz from what I remember

Fun fact: the "g" in the zlib1g package names comes from the transition to the
GNU C library back in 1997, and zlib hasn't had any ABI-incompatible changes
since then (ABI-breaks are the point where libraries are usually renamed, so
that you can (temporarily) have both installed while users of the library are
migrated to the new version).

If it would be introduced nowadays it would just be called libz1, consistent
with other libraries.

> I have a followup if you don't mind. I'm trying to rack my brain for old
> confusions I've had... For instance I look up libssl. There is a libssl-dev,
> but no corresponding libssl. There are other libssl libs but all the names
> are inconsistent: libssl1.0.0 with no libssl1.0.0-dev and then there is a
> libssl1.0.2, but it has no libssl1.0.2-dev haha. But I do see a
> libssl1.0-dev and when I click through it have 1.0.2 as a dependency... So
> what's going on?

The usual structure is to have libfoo-dev with the development headers of the
newest version, and then libfooX (with X the version number) with the shared
libraries. There's usually only one of each, but during development older
versions of the shared library might be around so that you can run binaries
using them until they've been recompiled to link against the new version.
There sometimes have been exceptions if it's very hard to get all software
ported to the new version in time, but that's quite rare.

As far as I can see for OpenSSL, Debian 8 (jessie) shipped OpenSSL 1.0.0
(libssl-dev and libssl1.0.0). Debian 9 (stretch) had both OpenSSL 1.1 as
default (libssl-dev and libssl1.1), and (as one of those exceptions) also
OpenSSL 1.0 for legacy software (libssl1.0.2 and, again as an exception
because the libssl-dev name is already taken, libssl1.0-dev). Debian 10
(buster), the current version, ships only OpenSSL 1.1.0 (libssl-dev and
libssl1.1).

(In the case of OpenSSL it's even more confusing because 1.0.1 was a backward-
compatible release with 1.0.0, but 1.0.2 wasn't. So the packages named 1.0.0
were actually version 1.0.1. Fortunately upstream has fixed their versioning
scheme since then, so it will get better. That's also the reason old versions
included the full version number, and now there's only the major and minor
version -- since patch releases are compatible.)

~~~
geokon
thank you so much for that deep dive into the history and issues involved. I
hadn't considered that it's tricky to have multiple -dev headers floating
around. You can have packages link to different versions as needed, but you
don't wanna hard code version paths into source code. Sounds like a tricky
problem to solve cleanly.

Thank you again for sharing your unique unsight. This is stuff that's really
hard to find otherwise. I just wish all these details where in the package
descriptions. It would be so incredibly helpful. Especially in -dev packages
where the description isn't going to be seen by "casual" users anyway

------
verytrivial
I had always assumed that Expat was called that because James Clark lived in
Thailand.

------
ansible
I was expecting an entry for exuberant-ctags...

------
Sniffnoy
Hm, I would guess that sylpheed is at least partly named after the video game
Silpheed?

~~~
a_e_k
"1.5. What does the name Sylpheed mean?

It means light weight, like air. This comes from the name of the wind spirits,
the Sylphs."

[https://sylpheed.sraoss.jp/doc/faq/en/sylpheed-
faq-1.html#d0...](https://sylpheed.sraoss.jp/doc/faq/en/sylpheed-
faq-1.html#d0e187)

------
Thorentis
Was disappointed to see Debian itself not in the list. Why is Debian called
Debian?

~~~
herio
Ian Murdocks (debians founder) then girlfriend, later wife, is named Debra.
You can probably extrapolate the rest.

------
Wiretrip
I would love to see an article about how people pronounce some of the strange
names and acronyms we have ended up with. Quick survey? 'etc', 'gif', 'uefi',
'wget', 'cifs' ?

~~~
dsr_
I once made a British sysadmin T|N>K * when I referred to eff tee pee dot ick
ack ook, a repository of open source software.

(* tea piped through nose out to keyboard)

~~~
twic
ick ack _uck_ , please!

------
einpoklum
> anthy

[https://en.wikipedia.org/wiki/Revolutionary_Girl_Utena](https://en.wikipedia.org/wiki/Revolutionary_Girl_Utena)

> corosync

Not useful for Corona!

> figlet

Surprisingly - not a portmanteau of figure + piglet!

------
xenonite
"WhyTheLuckyStiff" \- although off topic, let's remember the time of the
cheery comics and the epics of Ruby programming :-)

------
knolax
They're going to have to use Rabbis to decipher this stuff in the future.

------
devchix
yp prefix, eg ypwhich ypcat, etc. Stands for Yellow Page, later became Sun NIS
because Yellow Page is a trademark.

------
saagarjha
I wonder how up-to-date this is.

~~~
pabs3
Last update 2020-02-10:

[https://wiki.debian.org/WhyTheName?action=info](https://wiki.debian.org/WhyTheName?action=info)

------
davidgerard
> an arbitrary animal name specifically chosen to get a tomcat onto the
> O'Reilly book cover

actual LOL

------
nailer
Missing 'dd'

'dd' stands for copy and convert.

'cc' was taken by the C compiler.

~~~
dredmorbius
False.

'dd' is a JCL utility from IBM mainframes. Both the Unix command name and
syntax are directly lifted from the mainframe version of the ... _data
definition_ ... utility.

[https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/...](https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.ieab600/ddst.htm)

[https://groups.google.com/forum/m/#!msg/alt.folklore.compute...](https://groups.google.com/forum/m/#!msg/alt.folklore.computers/HAWoZ8g-xYk/HDUVxwTVLKAJ)

[https://groups.google.com/forum/m/#!msg/alt.folklore.compute...](https://groups.google.com/forum/m/#!msg/alt.folklore.computers/K4uzWBugSPE/GwSgDUEU_3wJ)

~~~
dfox
DD in JCL is not an utility, but keyword. Its functionality is something
between shell's IO redirection and mounting volumes inside docker containers.
The syntax itself is not that obscure in the context of JCL and IBM OSes.

------
abjKT26nO8
_> Apache-Licensed PINE, where pine was the old (non-DFSG-free) "Program for
Internet News and E-mail" \- formerly known as "Pine Is Nearly Elm", named
after a yet older electronic mail program. Nowadays contains its fork
realpine, which the developers insist is re-alpine (alpine development
restarted, since the original team seems to not be doing much) and not real-
pine…_

Ok, I guess…?

