Skip to content

review process for spec changes #619

@ramcq

Description

@ramcq

Hi @ximion - as always - thank you for all you do for open source! Please don't take anything herein as a criticism, I am just exploring ways we could work more closely together in the FLOSS app metadata space to improve user outcomes.

Some changes to Appstream specifications (thinking most recently of moving from developer_name to developername) can cause significant disruption to workflows and tooling, and as a specification which is both written and parsed in many places, some very hard to update, changes to the specification structure - particularly non-additive - need to be made carefully with an eye to impact on tooling and the user experience - perhaps bearing Postel's principle in mind!

It so happens this change triggered a bug in Flatpak's appstream parsing, but it's one which some users (thinking of Flatpak users on LTS distros) might continue to experience for multiple years. It's possible that this change of disambiguating developers with a structured machine-readable IDs could've been achieved in a different way that would've been less disruptive to existing tooling/workflows, and more eyes on the change at review phase might've brought us to a better outcome for users.

I believe in the Wayland community that there is an informal consensus process the involves the larger implementers (KDE, GNOME and the wlroots/tiling gang) acking spec changes before they are accepted as core protocols. Would you be amenable to considering a similar process where we look for 2-3 acks (eg KDE Discover, GNOME Software and Flathub?) for changes to the structure of the XML specification?

If this approach is of interest, I'm not sure the best way to invoke a group of "spec reviewers" but maybe GitHub would allow us to define a group of spec reviewers? I'd be happy to offer my services; thinking perhaps @razzeee @barthalion @aleixpol @Pointedstick @wjt @TingPing @hfiguiere might also be worth considering.

Thanks,
Rob

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions