I like the idea and the language. Being a declarative language, it's like Terraform on steroids (because of inference, but for Auth purposes). It can be put in a Git repo with CI/CD to deploy when changes are made. The only think I disliked is... semicolons :P
> In fact, we could have used Datalog to achieve our data goals — but that would mean we have to build our own Datalog implementation, backing data store, etc. We don’t want to do that.
Surprising that creating a whole new language made more sense then a backend. I wonder if they did a proof of concept with an existing logic system like Souffle¹ or Rel² first.
We did more POCs and implementations than I care to admit. What Sam describes in this post is the result of many, many iterations that came before it. (Oso cofounder/CEO)
I'm a little surprised, too, but I bet there was an element of wanting the full executive control by designing the language from their distributed auth goals that Datalog doesn't intrinsically include.
I think it could be more impressive had it integrated with Hashicorp Vault or smth, I had always felt policy-driven development got inexplicably short legs, and otherwise too clumsy in the ergonomics dept
Seems like a lot of unnecessary complexity for something I could do with some if statements and lookups to a table in Postgres. Cool post, but why would anyone use this?
Side note: I also think that weaving logical inference and llms together into a virtuous cycle is an interesting topic to explore.