allmydataectomy: rename "allmydata" package to "tahoe_lafs" or "tahoelafs" #1950
Labels
No Label
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.7.0
0.8.0
0.9.0
1.0.0
1.1.0
1.10.0
1.10.1
1.10.2
1.10a2
1.11.0
1.12.0
1.12.1
1.13.0
1.14.0
1.15.0
1.15.1
1.2.0
1.3.0
1.4.1
1.5.0
1.6.0
1.6.1
1.7.0
1.7.1
1.7β
1.8.0
1.8.1
1.8.2
1.8.3
1.8β
1.9.0
1.9.0-s3branch
1.9.0a1
1.9.0a2
1.9.0b1
1.9.1
1.9.2
1.9.2a1
LeastAuthority.com automation
blocker
cannot reproduce
cloud-branch
code
code-dirnodes
code-encoding
code-frontend
code-frontend-cli
code-frontend-ftp-sftp
code-frontend-magic-folder
code-frontend-web
code-mutable
code-network
code-nodeadmin
code-peerselection
code-storage
contrib
critical
defect
dev-infrastructure
documentation
duplicate
enhancement
fixed
invalid
major
minor
n/a
normal
operational
packaging
somebody else's problem
supercritical
task
trivial
unknown
was already fixed
website
wontfix
worksforme
No Milestone
No Assignees
5 Participants
Notifications
Due Date
No due date set.
Reference: tahoe-lafs/trac-2024-07-25#1950
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Now that allmydata.com has been dead for like 5 years, it's probably time to remove "allmydata" from the package name. This means:
src/allmydata/
directory to matchsetup.py
metadata to matchSee also #2011 for changing the PyPI package name (which is easier).
So let me play devil's advocate: why is this a good use of our time?
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".
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.
#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.
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.
There's a subset of this issue about "distribution names" that is somewhat separate from python module namespaces. Observe:
Notice that in the pypi namespace (which
pip
searches), there is a collision fortahoe
.Edits: wording, layout, formatting.
FWIW my preferences for names are the following from most preferred to least:
lafs
, python modulelafs
tahoelafs
, python moduletahoelafs
(I prefertahoe-lafs
but I prefer consistency more.)tahoe-lafs
, python moduletahoelafs
tahoe-lafs
, python moduletahoe_lafs
I prefer the name "lafs" without "tahoe" because:
lafs
package in pypi.lafs
package in debian 6.lafs
package in Ubuntu: http://packages.ubuntu.com/search?keywords=lafs&searchon=names&suite=raring§ion=alllafs.org
is a domain squatter, so presumably that domain could be purchased, and has few pre-existing associations / dead links. See: http://lafs.orglafs.net
is a legitimate organization unrelated to computing. See: http://lafs.netTwo drawbacks:
Replying to nejucomo:
I made #2011 which is a subset of this ticket and only about changing the PyPI name to match all the other names for consistency. It excludes changing python module names.
This was blocked on #1159 which is now fixed.
Another drawback of "lafs" as the package name:
lafs
would make sense as the package name for that, but that's not what the current Tahoe-LAFS is.)If we do this, I vote for
tahoelafs
as the module name.Most recent discussion I've heard in the vicinity of this idea is that instead of simply renaming the package containing the current Python codebase, a new Python package should be started with exposes a more coherent, publicly supported Python API (presumably entirely or primarily on top of the current Python API, all of which is generally considered internal). This would argue against the renaming described here, particularly any renaming to a desirable name which could be used for the package with a publicly supported Python API (where the name is a lot more valuable).