This is nice, but it would be great to see some more features from VCS applied to laws, e.g. git blame and git log.
It exists. The "commits" to the legal code is published in a government gazette: https://en.wikipedia.org/wiki/Government_gazette The current laws are just the tip of the main branch. In theory you could run a git blame and find out exactly which update inserted which specific words into the code. There is even branches in case of state succession, like the breakup of the USSR.
> The "commits" to the legal code is published in a government gazette ... The current laws are just the tip of the main branch
Unfortunately I think those commits are the laws (depending on the country, of course, speaking for the cases I know). There isn't, except in a few cases, a notion of documents those commits are applied to -the commits are applied to previous commits. It doesn't make a difference functionally, but makes the system incredibly messy, hard to maintain and to navigate.
In the US, the commits (aka bills aka statutes) are the source of truth, but they're regularly compiled and codified into the US code [1] which is analogous to the tip of main. The code is a concise, organized, holistic representation of the statutes, but when people actually get into legal disputes, they have to go back to the original statutes to litigate it.
Funny enough in git a 'commit' actually refers to the full state of the data in the repository (and zero or more pointers to parent commits).
When we do 'git show' we typically look the diff to the parent commit. But in git that's derived data. The 'snapshot' of your files is the fundamental point of view in git, and they are the source of truth (in some sense).
As you they, they make the diffs the source of truth in the US. I think that's how Subversion used to work. I don't know if that's still true, though.
The git model makes diffs between arbitrary commits about equally expensive to produce, no matter how far away in the commit graph they are from each other (if they are even connected at all). It also makes complicated merges conceptually simpler.
That's the primary difference between common law and civil law countries.
In Germany for example, there are regular laws (if you need to know what's legal and what not, these are the ones you read) and change laws (Änderungsgesetze), which usually read like
"Law XYZ, Paragraph 5a, Sentence 3 is changed to read as follows: '...', Sentence 7 is appended with '...', Sentence 8 is removed"
So at any time, you've got a clear set of laws that apply.
> "Law XYZ, Paragraph 5a, Sentence 3 is changed to read as follows: '...', Sentence 7 is appended with '...', Sentence 8 is removed"
That is basically a manual description of a git diff.
With the main difference being that you don't get an actually usable visual diff for free but instead have to buy those from third party vendors to make any use out of the manual diffs.
I've never understood a strong distinction between common law and civil law. Seems like the only difference is that common law is supposed to involve stronger deference to judicial precedent, although clearly it's not absolute.
There are two main sets of differences:
The conceptual differences, and the differences in content.
You are right that the conceptual differences are murkier in practice than in theory:
Even in civil law countries, judges tend to defer to precedent, even though they aren't strictly bound by it. And in common law countries, if you are a judge and you don't like a precedent (even a precedent set by a higher court), you can 'just' find enough differences between the case in front of you and the precedents you don't like, and argue away the differences with the precedents you do like.
Content-wise, there's a big difference in how eg German law sees contracts and how English law sees them. But you could (more or less) embed the English definition of contract in a civil law system, just as much as you could embed the German definition in a common law system.
In practice the main difference between English vs German contracts is in the legal boilerplate and fine print. You can think of the boilerplace text like a 'polyfill' or compatibility layer that gets you closer to what you actually want to implement in the main text of your contract.
As far as I understand it's because in practice there is no one using pure common or pure civil law
Pure common law would be the complete absence of a separate legislature. Everything would be just layers of judicial decisions
Pure civil law systems would have judges always ruling exclusively on the case in front of them based exclusively on the text of the laws. But in practice especially at the higher level of the courts and especially in matters of constitutionality or higher laws you have a certain deference to precedence
The main difference is in the role of the courts when it comes to applying the law; in common law, the judge is essentially the highest authority when it comes to enforcement. Unless another law specifically overrides a judge's interpretation of a law, they can make whatever decision they want and it will become "case law". Case law is a sort of pseudo-law that common law judges create when handling cases: it means that if a similar case is presented to the court, a judge can be required to interpret the law the exact same way. (This is called stare decisis.)
The advantage of this system is mostly that you very quickly end up with a giant body of legal text and any edgecases to your laws get hammered out very quickly and consistently. It allows for a more populist lawmaking system, since all the fine details are sorted out by the courts. It frees up politicians from considering how their laws will actually be enforced, since after a law is passed, the only effect it can have is on their political history. It also works well if you have a colonial empire where laws could take several months to spread across the empire, but you needed decisions to be taken in the here and now - common law moved some of those complexities to the local judges, where unless they'd be curtailed by "up high", they could be more practical enforcers of the law.
The disadvantage of this system is that you get a very large body of legal text fairly quickly. Actually interpreting common law tends to net you a quagmire of legal precedent that can often be more complex than the law itself and because there's a lot of it, you end up with the situation where a case can have multiple kinds of contradicting case law applied to it (in which the most recent version would "win", or the version decided on by the supreme court). It can turn legal arguments less into "interpret the law" and more into "throw enough citations at your opponent to force the judge's hand". A related problem is the risk of setting bad precedent: it's possible to craft "the perfect case" for certain legislation, leading to undesirable precedent being created, even if the law is correctly interpreted for that situation. This happens very often in the US, and is why Americans in my experience have no problem defending actively horrible cases for their one-issue cause, because they're more terrified of the precedent it'd set for the future. (The Internet Archive lawsuit is one such situation, where most Americans were more terrified about the precedent it set for copyright rather than a fair judgement on what IA actually did.)
Civil law on the other hand has no innate concept of stare decisis. Laws are as a rule only interpreted as they are passed. This doesn't mean case law doesn't exist, but it's not capable of forcing a judge's hand if the judge can find an argument to not follow it and the decision of one judge can't have ramifications down the road - you need multiple judges across multiple cases to find similar conclusions before it becomes case law. (This is called jurisprudence constante.)
The main advantage is that the total amount of legal text you need to understand the law is much smaller: if you get a law book, it'll just outright contain the majority of things you need to know about the law. There's still the usual "legal definitions don't always follow the common definition" going on, but that's not nearly to the same degree as happens with common law. It also forces the hands of politicians to consider much more about how the law is going to be applied in the future; a badly written law can have a lot of unwanted side effects, making it an easier target to strike from the books (which also tends to be more important in civil law; common law tends to leave bad laws on the books if case law happens to overturn it, which can lead to problems if the case law overturning the law is overturned). It gives "administrator" style politicians more leeway, since they need to actually interact with the bureaucracies that are going to enforce the law to make it work. There's also no "perfect case" situation of creating undesirable jurisprudence on accident. Judges don't have to consider the broader ramifications their decisions can have in those cases either, since they aren't writing new laws by deciding on those cases.
The disadvantage is that what you gain in comprehensibility, you lose in consistency. A judge can just outright decide to interpret the law in a different way from what's written and the recourse you have is pretty much to appeal it, demanding a retrial. This gives greater flexibility on "edge cases" where the law isn't super clear (without a worry for the greater ramifications that deciding on an edge case can cause), but can also lead to what should be an open and shut case getting a weird judgement (although the impact is fairly small ultimately - this is for example why the Hamburg Regional Court can keep farting out the most braindead copyright decisions that go directly against other laws and legal interpretations, but there's basically no downstream effect). Lawmakers try to prevent this by including "recitals", which are basically written addenda that try to clarify what each section of legal text is trying to address. This leads to the weird situation where the effective total body of law is smaller, the legal texts themselves tend to be much larger once you take recitals into account.
Personally, I prefer civil law over common law because of the lessened impact a bad decision can have.
I understand all that, but overturning precedent is pretty much always an option for common law judges (and even when they don't want to call it overturning precedent, they can just find enough "substantive differences" to call it unrelated), and jurisprudence constante sounds an awful lot like stare decisis with extra steps.
That's why I say there's no strong distinction. They're just like slightly different flavors of the same basic principles.
Yeah, but at least in Germany they are a textual description of a diff, not something I can use in a standard diff viewer.