Sure, so one thing would be that CEL looks to be designed for writing expressions inside something else - like configuration files or other kinds of policies. So for example, its used within Firebase security policies, which are a superset of CEL. oso is a standalone policy engine that you add to your application as a library, and supports writing full policies made up of multiple rules and expressions.
Also, CEL is primarily based around protobufs as the core data objects, whereas we built oso to write policies directly over application objects in any language.
Otherwise, we definitely share a similar view on many parts of the language design.
samjs|5 years ago
Sure, so one thing would be that CEL looks to be designed for writing expressions inside something else - like configuration files or other kinds of policies. So for example, its used within Firebase security policies, which are a superset of CEL. oso is a standalone policy engine that you add to your application as a library, and supports writing full policies made up of multiple rules and expressions.
Also, CEL is primarily based around protobufs as the core data objects, whereas we built oso to write policies directly over application objects in any language.
Otherwise, we definitely share a similar view on many parts of the language design.