Do you want to be in a situation where one instructor can modify a problem and it immediately affects the problem for students in other courses? At least three bad things might happen.
- The instructor could accidentally do something bad to the problem, like changing it in a way such that it no longer compiles for some random seeds.
- The instructor might make a good change to the problem's code, but it's a change that makes the same random seed now make a different version of the problem. A student who was working to solve "2+5" returns to the screen, and now their problem expects "7+3". Or something like that.
- The instructor makes a change that they perceive to be good, but it affects the pedagogy in some way that another instructor objects to. For example an instructor was happy that the problem asks you to solve a quadratic equation and does not provide the quadratic formula. Then another instructor changes the problem so it displays the quadratic formula. The first instructor is upset that their students don't have to memorize the formula now. Or something like that.
For these and other reasons, it is good if there is some sort of approval process before any edits go through that affect the core library. And an approval process like that will need to be managed from the server side.