@Pointedstick
Copy link

Right now AppStream recommends reverse-DNS-style IDs and supports the full range of rDNS characters, including hyphens anywhere (e.g. com.my-awesome-website.my-awesome-app).

However, DBus does not, and discourages the use of hyphens anywhere but the last element. So to be valid to DBus, that string would have to be com.my_awesome_website.my-awesome-app or com.myawesomewebsite.my-awesome-app.

This has caused a situation where the FileZilla developers adopted an AppStream ID with a hyphen in the middle (org.filezilla-project.FileZilla) that complies with the AppStream spec, but not the DBus spec. When I asked them to change their ID to remove the hyphen, they pointed out quite reasonably that it was a perfectly valid AppStream ID.

We might consider changing the AppStream spec for IDs to match the DBus spec and discourage or prohibit the use of hyphens anywhere but the last element to prevent this kind of confusion.