Sarah Lawsky Worked on a Tax Law Code That the French Government Deemed Officially “Awesome”


Faculty Faculty Global
A headshot of Sarah Lawsky set against a background of software code

In December 2023, Catala, a program on which Sarah Lawsky, Stanford Clinton Sr. and Zylpha Kilbride Clinton Research Professor of Law collaborated, was officially listed as “awesome” software by the French digital government agency’s open-source program office.

Created by a team led by Denis Merigoux, a French computer scientist based at the National Institute for Research in Digital Science and Technology (Inria), Catala is a tractable and functional approach to coding tax law that offers a more transparent formalization and can potentially hold the government more accountable than the current patchwork of forms and worksheets.

In this case, “awesome” is a phrase the French government ascribes to a list of software maintained by public agents working in different French administrations with various uses for the French government and the general public. This spring, Lawsky was named an Inria International Chair for 2024-2028, which includes plans to work with the Catala team in Paris for several months each year.

Lawsky and Merigoux spoke with Northwestern Pritzker School of Law to talk more about Catala, its applications, and the role of coding in tax law.

What is Catala, and what is it for?

Lawsky: Catala is a programming language, which means it’s the top level of how people communicate with and give instructions to a computer system. There are tons of ways that people can give instructions to a computer system. But just like there are different ways of speaking to people depending on who your audience is, different programming languages can be more or less useful for different things depending on the task at hand and the subsequent things you need to communicate.

Catala is built for writing down certain kinds of statutory law when the law itself is structured in a particular way. It happens that the U.S. and French tax laws have the same structure, which makes Catala useful for both of them.

The programming language is designed so that it’s very easy to write down general rules followed by exceptions right in the programming language. If I say, “I have two rules for you: My first rule is that everything that makes you better off is included in income. My second rule is if you have a gift, the gift is not included in income.” You understand, I understand, anybody who hears that understands that the second rule is an exception to the first rule and that when you have a more specific rule, you follow the specific rule.

But if you say those two rules and don’t have that background structure in your mind, it looks like those two rules are inconsistent. They’re not: we’re just operating with this background knowledge that everybody who reads a statute or even speaks to each other understands that when you have a specific rule, it has more power than the general rule. Catala is built on a logic that lets you write down those two rules just as rules, and then say that the specific rule has more power than the general rule.

Merigoux: Catala is open source, and it’s not developed by a commercial entity that aims to profit from selling it. I think this is an important point for software that the government uses because you don’t want the government to rely on a software company that has a vendor that can take them hostage with evolutions of the software. I hope to maintain the way I set up the project as open-source rather than a commercial thing that would be licensed and sold for profit.

What were you trying to address when you created Catala?

Merigoux: There’s a lot of software running society that is operated by government agencies. These are the software that computes your taxes, social benefits, and eligibility criteria for different things. The problem is that it’s been written and developed using outdated technologies. Now, there’s a huge challenge because nobody knows how these things work anymore, but they still work. The problem becomes replacing obsolete technology with stuff that we know how to operate and evolve because the rules for how these things work should change as the legislation changes.

The problem is that you have to rewrite all those systems, but with those systems, there are the projects of sedimentation of little changes over the years. Because of those changes, it’s impossible for somebody now to just come and understand how the whole thing works. There’s a real challenge in coming up with non-obsolete technology to rewrite those systems and recover the ability for all those government agencies to maintain and evolve their stuff.

This sounds like a boring problem, but it has some consequences when it fails. An example is this infamous article about when New Jersey ran an ad in the newspaper a couple of years ago saying they needed COBOL programmers or else they wouldn’t be able to give unemployment benefits. This is the context in which Catala is trying to bring a solution.

Lawsky: This isn’t artificial intelligence. All this stuff exists in some form, and we’re trying to say that the stuff already happening can be done better. We can do it with existing programming languages. The question is how they can be written in a more modern, more effective way so that people can, for example, keep the code up-to-date more easily.

What do you both foresee or hope about the future paths and opportunities for Catala in France and beyond?

Merigoux: The fact that the French government has picked it up is a sign that we’re seeing adoption inside the French IT government circles. I have a project with the French IRS to rewrite the algorithm that computes the income tax because, unlike the U.S., in France, you don’t have to recompute the income tax yourself: the government does it for you.  Since June 2023, we’ve been rewriting the existing algorithm in Catala starting not from scratch but from only the legal texts underpinning how French income tax should be computed.

In five or six years, we hope that the new thing we’re rewriting will become the official system used to compute all of the French people’s income tax. Also, we are talking with the French benefits agency, the CNAF, to rewrite the algorithm dealing with all the French social benefits.

Lawsky: If we could put the U.S. tax code into computer code, that could serve as the underpinning for forms here. I think it could also be useful when drafting legislation.