A few people were discussing a post talking about monkeypatching over at Coding Horror. The article touched on the aspect of how much things should be dictated by the so called experts and how much power the masses should have.
I see two different cultures at clash here: the open-source-minded one, where experimenting and randomly writing code that does cool things is good, and the corporate goal-oriented one, where experimenting and randomly writing code that does cool things will likely blow up the budget of the project.
I think both sides have perfectly valid arguments: on a higher level, you want innovation, and giving all developers free reign over your language helps them quickly express what they want the program to do, and just like in the infinite-monkeys-on-infinite-typewriters experiment, something good is bound to come out. But when you consider monetization, especially as projects require more people, you need to take into consideration that doing things unusually will almost always cause a lot of (not-necessarily-brilliant) people to waste their time trying to figure out what was done, when it comes to maintainance, testing, bug fixing, whatever other cycle.
So where is the middle point of all this? I suppose it's talking to your team.