New Blawx, Rules as Code 2.0 Plenary, SMU Conference Vids Available
TL;DR
There is a new version of Blawx, live online, that allows you to edit legislation in a markdown-like language called Clean.
I will be participating in a conference on Monday on Rules as Code 2.0, looking at how we generate the skilled workforce that rules as code requires. Registration is free and highly recommended.
Videos from the SMU Computational Legal Studies conference are available online.
Blawx Update
I’m working with the Canada School of Public Service on developing Blawx as a platform for learning projects in the Rules as Code space. We have recently been discussing the possibility of working with a department on the drafting of a proposed new regulation from scratch.
Using the previous version of Blawx for that task would have been awkward, because it did not have any convenient way of allowing you to edit the legislative text. The legislative text was entered in Akoma Ntoso, an XML specification for legislative and other legal documents. Akoma Ntoso is sufficiently difficult to edit in a text editor, that I didn’t even bother creating an interface for doing it in the last version of Blawx.
To make Blawx more useful for this project, we needed a convenient way to allow the user to edit the legislative text of the rule they are working on.
A WYSIWYG editor for Akoma Ntoso would be great, but the fact is that most of the WYSIWYG editors I have seen for Akoma Ntoso are not particularly user friendly, and none of them are open source. The next best alternative is a markup language. But the only open source markup language I could find is slaw, which was designed to adhere to an African legislative formatting tradition, and which generates Akoma Ntoso that Blawx didn’t know how to handle.
So I spent some time writing my own minimal markup langauge for encoding legislation in the Canadian legislative drafting style, called “Canadian Legal Enactments in Akoma Ntoso”, or clean.
If you are a Python user, it’s available at pip install clean-law
.
The last step was to redesign Blawx to accept Clean input for the legislation, and allow the user to edit it after it has been created.
That happened last night, and version 1.2.0-alpha is now live.
If you want to input the Rock Paper Scissors Act in the new version Blawx, here’s the Clean code for it:
Rock Paper Scissors Act
Players
1. A game of rock paper scissors has two players.
2. There are three signs:
(a) Rock,
(b) Paper, and
(c) Scissors.
Defeating Relationships
3. The signs are related in the following ways:
(a) Rock beats Scissors,
(b) Scissors beats Paper, and
(c) Paper beats Rock.
Winner
4. The winner of a game is the player who throws
a sign that beats the sign of the other player.
I’m hoping it doesn’t “feel” like code. But it is.
Edit: A video demonstration of v1.2 is now on youtube, linked here
Rules as Code 2.0 Conference - Learning Rules as Code
I’m really excited about participating in the AUCLS plenary, Rules as Code 2.0, on Monday of next week. I’m going to be participating in a panel chaired by legislative drafter extraordinaire Matthew Waddington, who has been a proponent for Rules as Code for many years. Our panel will be addressing the question of how we generate the human resources that a fulsome implementation of Rules as Code would require.
I’m going to argue that the problem is the tools. The ideal tool for Rules as Code, with associated learning resources, will build a community of users at an exponential rate.
For proof, you need look no further than Docassemble, which has taken legal tech by storm, by being free, easier, more law-centric, and better documented than all the alternatives.
The idea Rules as Code tool is:
- open source
- easy to learn
- easy to use
- easy to deploy
- easy to integrate
- easy to maintain, and
- give high value for initial effort
A small part of that is a technological problem. If we choose the wrong technologies, technologies that do not “fit” with how legislation is actually written, it is impossible to make them sufficiently easy, particularly with regard to maintenance.
But in the main, this is a design problem that hasn’t been solved because of the tragedy of expertise and ignorance.
The people that know programming languages don’t need the existing tools to be easier. They don’t feel that pain. So they are unmotivated to solve problems they don’t have.
The people that don’t know programming languages cannot possibly know the benefits they are missing out on, or how valuable the missing tools would be.
I live with one foot in both worlds. I have learned enough to understand what is possible, but for some reason, it has never seemed sufficiently easy. I wrote Blawx primarily as a way of demonstrating what I know is possible to people who cannot possibly be expected to recognize it because we just insist it is so.
SMU Computational Legal Studies Conference
I was delighted to participate in the SMU Computational Legal Studies Conference last week. The videos from the conference have been uploaded to YouTube, and you can check them out here.