skyb.us

Distributed Version Control for Freedom

Short technical note: I've been using Mercurial for my personal projects, but in succumbing to community momentum (and really, a much better submodule/svn:externals story) I'm switching over to Git. For some reason hg2git converters are many and generally broken. I tried a bunch, but few of them built/worked. The one that finally did is Antono's hg2git.

Distributed version control is one of these secret stories going on in the land of programmers that needs to get out into the imagination of the population.

In short, your next 'wiki' for public consumption and benefit, should maybe be hosted at GitHub.

Let's take a good example of a public document which deserves scrutiny and every party would like some changes to it: US Federal Law. Now, there's a process to change the canonical version of this document. It involves a lot of elected officials practicing strange rituals in public and private, and then suddenly there's a different document which the US courts and executive branches recognize as the current document. You can download it from the Intarwebs.

However, what changes is the ACLU keen to change? They write a bunch of public position papers and their lobbyists try to work with lawmakers for certain language. But wouldn't it be cool, to see the EXACT CHANGES that the ACLU would make if they ruled? Maybe it would be boring, but if every lobbying/political group did this, then we might have a pretty cool patchwork of legal frameworks to choose and examine as citizens.

Back to those strange rituals that elected officials do to make the law (and the SCOTUS which is not elected)--the reason this is less interesting than it could be is that the rituals are so strange and non-sensical that the source of law couldn't possibly come from one source. What if we could track WHERE the laws came from? Then we could compare how much Walt Disney Corporation gets to write law compared with PETA or corn farmers.

We'd have a much better understanding of how the US legal system came to be, and citizen-based lobbying groups could rate representatives, not just on votes, but how much law got in to the rules of the land.

Unfortunately, we don't have anything like that. It would be nice if even the Congress did this internally, but....that would make sense.

Fortunately, free computer-dom is different. The basic laws which govern free computers everywhere required just such a system, and that law is called Linux (for an easy start go to Ubuntu). From that first link you can trace the history and who did what and where they worked, etc.

Now just because this is most easily understood as useful for a big document like US Law or the Linux Operating System, doesn't mean it's not useful on a microscale. What about Subletting contracts, or other legal contracts. Mostly we get our lawyers to write them or download an example, and then we change them a bit. The same analysis of who wrote different contracts and details about how well they fared in court and in practice might also be useful. What about seeing the same thing for a news article, as a story develops--what new sources become useful, etc.

How is this different from Wikipedia? Most of it is the same. Wikipedia is based on 30-year-old technology that programmers used to track different versions of software and brought it to the web for encyclopedic topics. The difference is in the decentralization. Why does Conservapedia and Deletionpedia and others have to start from scratch? Once their viewpoint on a particular article becomes useful, then there should be a way to automate bringing in the work done on one site into another. And THAT's what Distributed Version Control is about.

Reply

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <i> <b> <br> <blockquote>
  • Lines and paragraphs break automatically.

More information about formatting options

You can change the default for this field in "Comment follow-up notification settings" on your account edit page.