Don't know whether the answer lies somewhere in CA1 or, as I stringly suspect, there is no right answer. I'd lean towards voluntary code provided the code is a published and worthwhile one. If a code is in the public domain, then you would need a strong reason to go against it. Often self regulation doesn't have a 'public face' so things go undetected. It can block out the wider world so self-interest takes over and wider thinking goes missing. So am I saying the success of any regulation is down to transparency, robustness and understandability!
I would have gone the other way! Voluntary codes are "voluntary", ie not everyone will adhere to them. Self regulation is not voluntary as far as I can tell. But feel free to correct me if anyone knows different.
Difference of opinion is always healthy! Could this be a great exam qn?! Discuss the pros/cons of the two regimes.