I'm betting it's only a matter of time before Microsoft drops Java and switches Minecraft over to C# or some other CLR language (or puts resources into a sequel of sorts that does the same). With that will probably come a visible source (though not necessarily open source unless the world is really lucky) development model.
When Microsoft first acquired Minecraft, I made this prediction rather fearfully, but if Microsoft's embracing of open-source continues (without the extending and extinguishing, preferably), this might end up being a good thing. Kerbal Space Program has proven to be a pretty good example of a Minecraft-scale modding community around a game built heavily on C# (by way of Unity3D), and would be a pretty good case study for this sort of thing.
This might put a damper in existing modding efforts, though (but on the other hand, there are projects like IKVM.NET that implement Java on the .NET CLR, so it's at least hypothetically possible to support existing mods on a hypothetical Minecraft#).
The objective was to protect Mojang's IP on the (probably mistaken) idea that if they release the source code it means they lose control over it.
Added to that, my own speculation is that members of the modding community want to keep the barrier to entry for writing mods relatively high, for some reason or another. Some modders, including the brilliant Eloraam (maker of RedPower), want to maintain their own mods as proprietary and obfuscated.
When I looked at the Minecraft mod scene a few years ago mods were generally monetized through distribution, generally only available for download through ad-laden 'locker' sites. Also, I think that many developers aware of software licensing issues stayed away due to the murky legal issues surrounding Minecraft modding.
I don't even think they need go that far: only the bits that would form some sort of stable API would need to not be obfuscated. They could still do whatever with anything internal.
* Microsoft are releasing a game.
* Where they obfuscate the code so people can't read it
* And mod tools
* Built on community scripts
* Which decompile the code and rename the obfuscated variables to give readable names
At what stage does it make more sense for MS to tell Mojang to drop the obfuscation and move to a "visible source" model?