I suppose everyone's got their preconceived notions about what it means to be open sourced. The term so often evokes charged feelings and socio-political debate these days. The fact of the matter is that like most things, it isn't a matter of absolutes. There is a lot more grey than black or white.
For that matter, I have yet to see an open source project that is a total free-for-all. What makes it an open source model open is that anyone can view the source code--that's it. It most emphatically does not mean that everyone and their uncle can write back to the master at will. Open source does not turn a project into a subway wall with every passerby overwriting their own brand of graffiti.
Also, open source does not necessarily mean just the Free Software Foundation's 'utopian' GPL3 vision. The project leadership is free to choose a license that makes sense independent of the development model (provided they don't violate the Mojang license.) If they want to have a clause in the license that says users can only play IndustrialCraft on Thursdays and only if you have an attractive redhead on your lap, then they have the right to release under that license. (If only they'd provide the redheads...) They can have that license and use an open source development model.
Furthermore, they can also prohibit redistribution under their license, or allow it for non-commercial applications, or whatever they see fit. Alblaka can keep essentially the same license he has now if he chooses.
There is no more risk of clones, bad addons, or other such nonsense than there is now. Anyone with even the skill to code a bad addon, or even just an eighth grade reading level, can easily drop IC2 into MCP.
Unfortunately, without access to the reversion control system, that's what a well meaning community member would have to do if they wanted to help out. To non-programmers, that may seem like no big deal, but since that happens outside of a reversion control system, it is a nightmare (or at least a PITA) for the devs to try to merge those changes into the master, especially since they've been coding on a branch too and their current stuff isn't the same as what we can download. That's what reversion control systems are designed for. That in turn makes devs just toss out community contributions because it feels like more work to merge than to just tackle the issue yourself. You lose out on a valuable resource that way. The community can be a great resource in this department if you let it.