Cairo toolchain license

Hi all, I’ve been working on an open source prover in Rust and would like to finish adding support for hints as they are implemented by Starkware (i.e. executing arbitrary Python code). This is straightforward to do by embedding a Python interpreter and importing various classes defined in the Cairo toolchain, but after reading the license for this code it is unclear if this is covered under “developing and compiling” (see line 11 of the license here). Note that I am only using the Cairo toolchain to simulate the effects of hints on program execution, which impact the final execution trace. One could argue that the process of running a Cairo program (and by extension, executing the hints) falls under “developing,” but it would be nice to have this explicitly spelled out in the license. Perhaps the word “executing” or “running” could be added to line 11?

24 Likes

There was a discussion about this very topic in the discord.

11 Likes

Just read through it, thanks for the pointer. I’m still unsure how this use case would be classified. I have a Cairo program that is already compiled, and is no longer under development. However to “run” the program one needs to simulate the hints, which can easily be done using the toolchain. The question remains whether the actual running of a Cairo program using this toolchain is allowed without restriction

11 Likes

Wording of the license is unclear to me. Maybe ask directly @elibensasson. Last time he provided decisive clarifications.

15 Likes

Hi Max,

Saw this only now, will get back to you in the coming days. Terrific that you’re writing a Rust prover!

Eli

11 Likes

Thanks for bringing to my attention, on it.

13 Likes

Hi Max,

The current license does not permit this use. As we progress towards decentralization we will revisit all licenses, including this.

Best
Eli

9 Likes

Thanks, Eli. I’ll avoid using the toolchain in the code for now. Looking forward to more discussions around licensing and decentralization.

17 Likes