And again, another KDE-AppStream post 😉 If you want to know more about AppStream metadata and why adding it to your project is a good idea, you might be interested in this blogpost (and several previous ones I wrote).
Originally, my plan was to directly push metadata to most KDE projects. The problem is that there is no way to reach all maintainers and have them opt-out for getting metadata pushed to their repositories. There is also no technical policy for a KDE project, since “KDE” is really only about the community right now, and there are no technical criteria a project under the KDE umbrella has to fulfill (at least to my knowledge, in theory, even GTK+ projects are perfectly fine within KDE).
Since I feel very uncomfortable in touching other people’s repositories without sending them a note first, I think the best way forward is an opt-in approach.
So, if you want your KDE project to ship metadata, follow these simple steps:
1. Check if there already is metadata for your project
That’s right – we already have some metadata available. Checkout the kde-appstream-metadata-templates repository at Github. You can take the XML file from there, if you want. Just make sure that there are no invalid tags in the description field (no <a/> nodes allowed, for example – the content is not HTML!), check if you have an SPDX-compliant <project_license/> tag, check if the provided public interfaces in the <provides/> tag match your project and also test if the URLs work.
Then you can copy the modified AppStream metadata to your project.
2. Write new metadata
How to write new metadata is described in detail at this TechBase Wiki page. Just follow the instructions.
In case you need help or want me to push the metadata to your project if you don’t have the time, you can also write me an email: matthias [{AT}] tenstral . net – or alternatively file a bug against the Github project linked above.
Don’t forget to have CMake install your shiny new metadata into /usr/share/appdata/.
All metadata you add to your project will automatically get translated by the KDE l10n scripts, no further action is required. So far, projects like Ark, K3b and Calligra are shipping metadata, and the number of AppStream-aware projects in KDE is growing constantly, which greatly improves their visibility in software centers, and will help distributions a lot in organizing installed software.
If you have further questions, please ask! .-)
I just wanted to stop by and say a big THANKS! for the work you’re doing. 🙂
Linux really needs more people like you who think beyond their own favorite desktop.
Thank you very much for the work that you do! KDE- and Gnome-devs (as well as the ones of every other DE) should start behaving like adults and push appstream!
Well, they do! GNOME has an excellent coverage with AppStream data, and KDE is getting there.
At time, only the distributions are a bit behind in supporting it. But on Fedora, support is already excellent, thanks to Richard, and on Debian we have a GSoC project to improve the situation 🙂
Why not create a central KDE AppStream repository, just like translations are treated right now?
All KDE committers can edit their metadata.