PopCap's addons are obfuscated, Blizzard is OK with that
We've posted about both the Bejeweled and the Peggle addons here lots -- we're big fans of PopCap releasing free versions of their games for us to play in Azeroth. But all might not be well in addon land -- a few authors have come to us to point out that PopCap's addons actually contain obfuscated code in them. Obfuscation is a little hard to define -- it's a coding technique that makes code difficult to be read by other programmers, either for purposes of compression or to deliberately hide the code's function or purpose from anyone reading it. Obfuscation is strictly prohibited by Blizzard's addon policy, and so when addon authors dived into PopCap's code and found it obfuscated, they were concerned that PopCap is dodging Blizzard's rules.We spoke with PopCap about the issue, and they told us that yes, they run a program called luasrcdiet on their code to shrink it down and keep the memory footprint to a minimum. While working on their addons, they were in contact with Blizzard (and showed them the original, non-obfuscated code), and they tell us that Blizzard decided that since the purpose of the obfuscation rule in the policy was to allow the community to police their own addons for bad code (and since Blizzard trusted PopCap, there were no concerns there), then Blizzard was OK with PopCap releasing obfuscated addon code.
So. Has PopCap broken the rules? In the strictest sense, yes -- the rules say no obfuscated code, and PopCap's addons do make things hard to read. But Blizzard, who wrote the rules to begin with, has no problem with making an exception for PopCap, and in doing so, their reasoning seems pretty sound. It doesn't seem fair to make an exception in any case, but we admit, if you're going to make an exception for anyone, you can't go wrong with PopCap. What do you think?
Filed under: Analysis / Opinion, Fan stuff, Blizzard, Patches, Odds and ends






Reader Comments (Page 1 of 4)
Blake May 4th 2009 5:03PM
It's Blizzard's game. Blizzard's ToS. If they say PopCap can obfuscate code, I have no problem with it. Plus, I love Peggle!
Faze May 4th 2009 5:07PM
Agreed
If Blizzard trusts them it's ok and they probaly have a good reason for doing it. Would'nt want anyone copying them or something
offday May 4th 2009 6:04PM
Exactly. And might I add, PopCap rocks.
Matt May 5th 2009 12:04PM
Considering PopCap is releasing free, pretty much full-featured versions (albeit toned down to fit into WoW) of their games, the ones they sell, I don't see how "hiding" the source code for them a bit would be an issue - especially considering it sounds like it helps them run more efficiently.
Craig May 4th 2009 5:11PM
I don't think that Obfuscation is the issue that most people had with the new add-on policy. Maybe people with take issue with it, just cause they don't like the addon policy to begin with. But, I never heard anyone complain about not seeing the code, just whither or not the addon writers could ask for donations or charge for their product.
If Blizzard did, in fact, have access to the Peggle code, and are confidant that there is no funny business with it, I am ok with it being Obfuscated.
Pheraia May 4th 2009 5:12PM
Well, truth be told, any good developer with have an editor/IDE that can reformat the source code into something a little more readable. Granted it'll be a bit tricky keeping variable names straight. But you can obfuscate structure or syntax, a while/if loop while always be in plain text. It's a good practice for people with worth while code who have written their software using an interpreted language to obfuscate the source code.
Nick S May 4th 2009 5:18PM
It may not be "fair" for them to make an exception, but fairness really isn't the goal of their addon rules. Blizzard has seen the code themselves; they have every right to pass judgment, even if that means breaking their own rule.
Burix May 4th 2009 5:23PM
It's not really an exception since they judged it under the current rule and said it was OK.
Exception: When a murder is found guilty and let free because he/she "had sweet tats" and the judge liked him/her.
Burix May 4th 2009 5:24PM
*murderer
Shalina May 4th 2009 5:19PM
as long as they show blizz the unobfuscated code for every release...
ttvp May 4th 2009 5:21PM
Not to mention that Peggle is one of Popcap's IPs. I don't blame them for wanting to hide the code especially when they're releasing it to the public.
As long as they have the direct express permission of Blizzard, I have no problem with obfuscated code and neither should anybody else.
skynes May 4th 2009 5:57PM
That was my first thought. They wouldn't want Peggle's source code being made open like that. Even if Blizz said it's okay to obfuscate just for keeping their source secret, I'd be ok with that.
Kevin May 4th 2009 5:23PM
Not really about obfuscation but the Peggle addons has addresses for Pop cap websites where you buy games. Thats also against the addon policy.
Burix May 4th 2009 5:26PM
I think you're missing the point of the exercise. You're allowed to take money outside of game, not ask for it inside of the game. If I made an addon and added a link that was to a porn site, that would be ok. You're responsible for going to those sites outside of game, not Blizzard.
seanfury May 4th 2009 5:25PM
Blizzard trusts PopCap, so that's perfectly fine, you know? It's like a guy owning a store and having a trusted friend come over to be a cashier for the day. He isn't on the payroll, he isn't an employee, but he can still be trusted.
Okay, crappy analogy, but the point is, if anybody gets all frustrated over it they're just trying to be a pain.
Maxim May 4th 2009 5:31PM
Sure you trust them, but it's not good business practice is it?
How do we know their client code isn't a modified version of their source code if we can't read the source code from the clients?
seanfury May 4th 2009 5:36PM
Or maybe they just want to protect their code so nobody goes around copying their game? It's a perfectly reasonable attitude.
Andrew May 4th 2009 7:40PM
Maxim: What they could do is have blizzard audit the source code themselves (somewhat time consuming), then run it through the obfuscator/compressor. They could then hash the results using something like MD5 or SHA1 and post this result on a "Source Code verified by us" page.
So any user that downloads the supposed code from another site (like curse or whatever) can run the compressed code through the obfuscator and compare the hashes themselves.
This isn't too scalable, but if we're taking the "blizzard endorses this code", the MD5/SHA hash will serve as this certficate anyway.
It's a process that is more for the technically-inclined, but if you don't trust your sources, you'll not find this an issue.
Maxim May 4th 2009 7:36PM
Quite possibly! And if Blizzard is willing to give them the benefit of the doubt, then I have no problem with it.
I'm just saying that making an exception is... inconsistent. That being said, I guess I can't really think up a better solution.
Andrew May 4th 2009 7:42PM
Slight correction to my last comment.
Users will download the obfuscated/compressed version of the code and run THAT through the MD5/SHA1 hash, and compare those results to that of Blizzard's.