I've been working with government entities for document management for 15 years now, writing software that does exactly what we are talking about - versioning, tracking, publishing legislative records both through the authoring and approval cycles and then to the public. I have not worked at the federal level, but with small government - school districts, small towns etc.
Those years tell me 2 things:
1) Yes, absolutely version control for legislation is critical.
2) That doesn't mean Git is the right answer.
Since I don't work at the federal level, I don't know what system they use, but I do know that their workflow is already based on specific changes - they will write up the changes to a document, then apply the changes and publish a new document. Those documents are posted on congress.gov. So they do have a versioning workflow and public accessibility, just not the same style as software devs are used to. I'm sure it could be improved, but I'm not sure forcing them into our working style is the right answer.
The real goal here is not "Use Git". That is an implementation detail, and one that has also been presented and discussed quite a bit in my niche of the industry. Mostly, it is unwanted. Or was unwanted the last time the discussion went around. Git makes sense to software engineers, but not to the general public, and not to any of the document authors I've worked with. Maybe we can add a UX layer to fix that, but that isn't the bigger point...
What we want is to work towards the actual goals: For the tracking to be more detailed, with more transparency including not only authorship of the change, but the source of the change. And presumably, some commentary as to why the change was made. Then all of that should be available to the public.
If git works as a data structure that supports a solution that meets those goals, fine. I'm not anti-git. But when designing solutions, we need to start from the goals of the system, not the data layer. And we need to design solutions that the document authors will actually use, not force them to work like us.
Those years tell me 2 things:
1) Yes, absolutely version control for legislation is critical.
2) That doesn't mean Git is the right answer.
Since I don't work at the federal level, I don't know what system they use, but I do know that their workflow is already based on specific changes - they will write up the changes to a document, then apply the changes and publish a new document. Those documents are posted on congress.gov. So they do have a versioning workflow and public accessibility, just not the same style as software devs are used to. I'm sure it could be improved, but I'm not sure forcing them into our working style is the right answer.
The real goal here is not "Use Git". That is an implementation detail, and one that has also been presented and discussed quite a bit in my niche of the industry. Mostly, it is unwanted. Or was unwanted the last time the discussion went around. Git makes sense to software engineers, but not to the general public, and not to any of the document authors I've worked with. Maybe we can add a UX layer to fix that, but that isn't the bigger point...
What we want is to work towards the actual goals: For the tracking to be more detailed, with more transparency including not only authorship of the change, but the source of the change. And presumably, some commentary as to why the change was made. Then all of that should be available to the public.
If git works as a data structure that supports a solution that meets those goals, fine. I'm not anti-git. But when designing solutions, we need to start from the goals of the system, not the data layer. And we need to design solutions that the document authors will actually use, not force them to work like us.