@issa brought up in Disable choosing an image, video or audio the desire for a more formal process for adding on to the ODK XForms specification. I agree that this would be good to do. @Alex_Dorey, Alex Anderson from Medic Mobile and @martijnr started a brief conversation in Slack. Some of the things we should establish are:
- where conversations should happen (here vs. GitHub)
- what standard of approval is needed for the different kinds of changes that may be proposed
- what people/organizations should be involved
Recently, the majority of changes to the spec have been to reflect conversations that came to conclusion but were never formally added (e.g. orx:auto-send and orx:auto-delete) or to introduce missing functionality defined by the XForms 1.0 or XPath specifications (e.g. contains
, starts-with
, ends-with
). The former generally already had pretty significant conversations associated to them and the latter I don't think need as much discussion.
We've also had some high-level discussions on GitHub:
- Document process for proposing changes and/or diverging from the spec
- How desirable is it to stick to the W3C XForms spec?
- How should new custom functionality be namespaced?
- What is the philosophy/policy/spirit of appearances
I think there were a lot of valuable conclusions drawn in those conversations and that it would be great to summarize, codify them and include them in the specification. It might be even more valuable if someone not directly involved in those conversations could take the lead on that. This would help us verify that the ideas were clear and coherent.
Here is a strawman approval process:
- All discussion about changes to the ODK XForms spec must happen on a new Development/ODK-XForms forum category so people can subscribe to it specifically
- All proposals must use a particular template so things like benefits and naming options are carefully considered
- Follow the voting rules outlined in governance
- Additionally, at least N representatives of organizations that implement the spec must agree on the change (vote +0 or +1) (I will throw out 3 as a value for N)
- GitHub issues are filed once the change is agreed on and just needs to be written up formally
Again, this is just a strawman. I'd also be fine with all of this happening in GitHub issues as it has been recently since it's very clearly developer-centric except for appearances which form creators do interact with and I think should be discussed on the forum. I'd be fine with not requiring specifically that different organizations be involved.
@martijnr @Alex_Dorey @abbyad (and by extension Alex but I can't find him!) @Matt_Berg @yanokwa @Tino_Kreutzer @tomsmyth @daveycrockett @Xiphware are people I can think of who would be interested in this discussion off the top of my head!