#1950 closed task

allmydataectomy: rename "allmydata" package to "tahoe_lafs" or "tahoelafs" — at Version 6

Reported by: warner Owned by:
Priority: normal Milestone: 2.0.0
Component: packaging Version: 1.9.2
Keywords: cleanup Cc:
Launchpad Bug:

Description (last modified by nejucomo)

Now that allmydata.com has been dead for like 5 years, it's probably time to remove "allmydata" from the package name. This means:

  • replace all imports with relative imports (reducing the code impact of a rename), which is possible because we now require a python version that provides relative imports
  • decide on "tahoe_lafs" or "tahoelafs" or "tahoe" or "TahoeLAFS"
  • rename the src/allmydata/ directory to match
  • update the setup.py metadata to match
  • change the name we use for git tags, currently like allmydata-tahoe-1.10, maybe to just "1.10" or "v1.10"
  • update the PyPI package, debian/ubuntu packages, etc, if they're using the old allmydata-tahoe name

Change History (6)

comment:1 Changed at 2013-04-22T21:43:00Z by daira

So let me play devil's advocate: why is this a good use of our time?

comment:2 Changed at 2013-04-22T21:49:03Z by warner

Good question! It's not. Just a cleanup thing. It might be confusing to users/developers, "hey, I thought this project was called tahoe, what's this allmydata thing?", but to be honest I've never heard an actual user/developer complain or even mention that.

Moving to relative imports is probably a worthwhile cleanup thing even if we don't change the top-level name. But that's still relatively low-value.

From a reduced typing point-of-view, I kind of like the idea of tags named "1.10" instead of "allmydata-tahoe-1.10".

comment:3 Changed at 2013-04-22T22:14:00Z by zooko

It might help reduce confusion about whether there is a commercial, proprietary interest in Tahoe-LAFS. This is something that a few contributors expressed concern about recently, e.g. #1938. Of course removing the legacy name is not sufficient to explain that stuff -- we still need explicit documentation of the governance and licensing facts -- but it might help.

Also, I don't know about you, but I regard legacy names as "cruft" or "dirt" that adds a tiny bit of cognitive load to the new reader.

comment:4 Changed at 2013-04-23T05:17:33Z by daira

  • Keywords cleanup added

#1159 is a blocker for this ticket because the tac files in existing node directories import the 'allmydata' module, and so renaming the module would break compatibility, until we stop executing tac files.

comment:5 Changed at 2013-04-23T08:00:52Z by ClashTheBunny

The PEP on naming modules and packages says to not use "-" or cases, so I would then chose "tahoe". As people have mentioned previously, tahoe is an implementation of a LAFS, it's not the only one that will ever exist. It's not used for many things in computing, it's less than 8 characters and is lowercase (for legacy file systems), and it's the name of this implementation of a LAFS. I don't think many people will be running tahoe off of a FAT filesystem without long filenames, but since that's patented, I can imagine it happening. Mac OS X HFS+ is case insensitive by default, I believe.

comment:6 Changed at 2013-07-04T16:19:16Z by nejucomo

  • Description modified (diff)

There's a subset of this issue about "distribution names" that is somewhat separate from python module namespaces. Observe:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 6.0.7 (squeeze)
Release:        6.0.7
Codename:       squeeze

$ apt-cache search allmydata

$ apt-cache search lafs
tahoe-lafs - Secure distributed filesystem

$ apt-cache search tahoe
tahoe-lafs - Secure distributed filesystem

$ pip search tahoe
allmydata-tahoe           - secure, decentralized, fault-tolerant filesystem
tahoe                     - A Flask-based framework that handles the tedious things
pytahoe                   - Python module for working with the Tahoe-LAFS filesystem.

$ pip search lafs
BaculaFS                  - Bacula Filesystem in USErspace
pytahoe                   - Python module for working with the Tahoe-LAFS filesystem.

$ pip search allmydata
allmydata-tahoe           - secure, decentralized, fault-tolerant filesystem

Notice that in the pypi namespace (which pip searches), there is a collision for tahoe.

Edits: wording, layout, formatting.

Last edited at 2013-07-04T16:34:13Z by nejucomo (previous) (diff)
Note: See TracTickets for help on using tickets.