Law is code, code is law so why not use Github for both

James McCall
9 min readMay 7, 2021
What we need here is a good old fashioned cat herder

Public Comments are Enshrined in Rule Making

Law is code, code is law. But for either to work it takes a community. The community being governed must accept the law, or at least not overtly reject it. Therefore it is a staple of good public rulemaking to solicit public input into rule making. People naturally feel more kinship with a process that they have a meaningful voice in.

Under the Administrative Procedures Act (“APA”) after making a formal rule and posting to the Federal Register, the agency is then required to request comments on that proposal by all members of the public. In matters of public policy that require technical expertise the public comment of “experts” can result in a form of peer review. To work out flaws, and crowdsource a better specification or avoid rules that have fatal flaws.

The APA does not apply to all circumstances, but good rule making and good policy regulators will still seek to solicit comment and build consensus amongst the parties most impacted by the rule or policy.

Github and the Code

This particular experiment in public participation was triggered by this tweet https://twitter.com/HesterPeirce/status/1382096653792972807 from SEC commissioner Hester Peirce and the following token “safe harbor” proposal https://www.sec.gov/news/public-statement/peirce-statement-token-safe-harbor-proposal-2.0.

The fascinating thing is the proposed safe harbor was posted on Github as a repository seeking public comment and input. Github is generally a code hosting platform, that allows coders to version and control, and launch code. Developers of code typically work in teams, or as part of a decentralized open source community to make improvements and update the body of code.

Amusing and Dangerous

What piqued my interest is a SEC commissioner seeking comment and collaboration from the crypto and digital asset community on the proposal for a safe harbor. It is a fascinating use case to bring together lawyers, coders and digital asset aficionados. The potential for Github platform to serve as a canvas for collaboration to open source legal forms, public comment, and to solicit the hive mind to improve and update legal documents. The legal documents can be versioned and updated to reflect improvements or changes in the law. This isn’t new, we have seen awesome lawyer repositories from Gabriel Shapiro and Reuben Branamathan personal token terms of service. Or of course, the LexDAO github and library of DAO and publicly generated commits.

How Do I Github?

So as a member of the public how do I comment on the above repo from Hester Peirce? Well, first go git yourself a github. Github is a versioning repository service, which has a learning curve. Honestly once a lawyer gets the hang of it it is pretty slick. Github, also has underrated social “signalling” aspects. To some a degree github repo is handy proof of work in some circles much more than a LinkedIn account. I now wish violence on Microsoft Word track changes features and am amazed that they seem worse than they were 20 years ago.

https://youtu.be/N9wsjroVlu8

So how to get started on Github? Well go get a github account. Smartly, they exclude lawyering from their UX. We are the others. So once the account is setup, we can personalize it as you wish.

Now that we are legal coders or coder legals, we can go to the repository for the above comment https://github.com/CommissionerPeirce/SafeHarbor2.0

What is going on here. On the top right there are some icons

  • Watch — keeps and eye on it. Can get updates, track changes, etc
  • Star — Is a Like, or retweet, or whatever the social ego boosts and signalling that go with it.
  • Fork — Well this is the favorite of many lawyers. The equivalent of copypasta. It basically creates a copy to your own repository of the above. Obviously, it doesn’t come with the copyright or other legal intellectual property. So one would need to comply with that. But for open source, it is neat as it basically creates a form of the code to iterate from.

So assuming that attorney Dusty Trails, wants to make a comment, fix a typo or suggest changes to the language in the repo, how would the attorney or denizen go about this? Well, there are some different approaches to making these suggestions in github.

ISSUES — For global issues, it appears that the lawyer may just want to open an issue. This basically says that something isn’t working, or tells the lawyer/developer to consider a global issue. Starting an “Issue” looks something like this comment and then a forum for discussing the issue.

PULL REQUESTS — This is where the open source magic can happen. Basically this allows the lawyer/coder/legal engineer to accept version control revisions to the master “the main” branch of the repository. It is here that someone could propose specific changes to a legal document or proposal and the owner/team of the repository can accept the pull request.

As an example of a pull request here is a comment from @paulbarclay. The comment above and the specific change language below highlighted in green. If Hester Peirce “accepts” the pull request then it will get merged into the main document and show as a “commit” to the code or in this case the Safe Harbor Proposal.

Now, let us assume we want to start and make a pull request of our own. First thing, we click on the “fork” button. I am forking to my personal github, because why not use this process to help provide input to the public process. I could also fork over to a repository that I have privileges on. For example, if we wanted to provide comments as a DAO, I could fork to LexDAO.

Now when I look at my repositories I now have a forked copy of the file “code” to provide my own space to make public comments to the safe harbor.

Now we are cooking with gas. I am going to provide a few comments and link to it in this document, but mostly want to push a few areas where blockchains excel, including “living and breathing” transparency that comes native on being part of an open ledger system on Ethereum.

Blockchains are Triple Ledger Accounting

The Securities and Exchange Commission has a “tripartite” mission “to protect investors, maintain fair, orderly, and efficient markets, and facilitate capital formation”. One of the key pieces of the entire regulatory regime is promulgating disclosures that fairly and accurately describe the risks associated with certain investments and facilitate “fairness” through disclosures and accounting to manage the informational asymmetries that occur between “insiders” and lay investors.

The fact that blockchains such as Ethereum are public is both a feature and a bug. Obviously there are privacy concerns, one of which is that once a transaction is posted, the entire blockchain and miners’ are able to attempt to extract the value of the “arbitrage” or “slippage” in the transaction. For more on this check out a great primer on the “Dark Forest” where every transaction is able to be invisibly front run. The fact that each address on the blockchain is public as to the number of tokens and transactions, enables some fascinating features to treat public wallets as living and breathing financial statements. In other words, why wait for quarterly disclosures on institutional or insider holdings and transactions? These positions can be followed in real time.

It is in this vein that my comments to the “Safe Harbor” follow as it seems apparent that as blockchains and token networks raise many novel concerns and issues, they also have the ability to improve on the current regulatory disclosure regime in place.

  1. Initial Development team can just disclose that all the tokens are held in a public “wallet”. That way if they sell, they can be instantly tracked and the sale is disclosed in real time. It is even possible that the team of insiders themselves will get front ran which should deal with the informational asymmetry.
  2. The “Notice of Reliance” might as well, just be stamped into the token as either a “bool” that goes to “reliance” is true. Or they could post to a hash that hosts the reliance. This would enable the quick parsing of protocols that are relying on the safe harbor, improve the ability of regulators and the public to govern the path to decentralization. It is an open question of whether a IPFS hash is a public website and having the rule make this explicit would be better.
  3. Lastly, an additional safe harbor of IP blockage. The United States arguably has the best capital markets and regulatory regime that has been evolved over the past century or more. To the extent that blockchain networks can assist developing markets in capital formation, it seems that there should be the ability of citizens and teams outside the United States to opt out of the regulatory regime. Non US projects and teams should be able to state that they are not marketing to US citizens and block IP addresses. If US citizens cross hazard tape and use VPN then they should not be protected by US securities rules. Maybe this is comment material.

Request Pull Request

The last step is to request a pull request. This action presents the “delta”, the change between the main branch of Hester Peirce’s Safe Harbor proposal, and the forked version with the proposed edits. Here we go to the main branch and request a New Pull Request

This will then bring up a dialog to select the branches. We want to compare the fork that we worked on to the main branch, therefore, we select “compare across forks”. Ours looks like it does below.

And with that Pull # 31 is live you can check it out and let me have it.

Cat herding through repo management

With that, we should all get involved to shape the regulatory regime throughout the public comment period. It really helps guide the process to get those that are intimately familiar with blockchains, tokens and the law (not necessarily lawyers) to provide input as often the industry participants are moving faster than the ability to keep up with the change.

Special thanks to Nick Rishwain for providing comments.

All links provided are for informational purposes only and not meant as recommendations of the people or products. Nothing herein is legal or financial advice and should not be relied upon without reaching out to your own personal attorney. The linked ABA disclaimer is appended to the blog.

LexDAO is a non-profit association of legal engineering professionals that brings the traditional legal settlement layer to code, and coded agreements to the masses. We believe that everyone deserves access to justice provided in a quick and efficient manner. If legal services were easier to use, verify, and enforce, we could live in a fairer world. Blockchain technology offers solutions to many problems in the legal space. Our mission is to research, develop and evangelize first-class legal methods and blockchain protocols that secure rules and promises with code rather than trust. We do this by training LexDAO certified legal engineers and building LexDAO certified blockchain applications. We strive to balance new deterministic tools with the equitable considerations of law to better serve our clients, allies, and ultimately citizens.

--

--

James McCall

Love agriculture, finance, and law Not legal advice. DAO things w/ @lex_dao ; @farmapper working wit @realdao ; views are mine and relatively scenic