ex4 to mq4 decompiling

Saturday, August 9, 2008

OK, the FINAL word on decompiling EX4 files in the U.S.If you want to refute this, please feel free (I would welcome the re-education), but don’t bother to unless you provide a URL or quote that explains a specific statute or law.OK, here goes:A copyright doesn’t forbid decompiling. That’s why most software companies have a EULA (end user lic. agreement) that specifically cover things like reverse engineering, decompilation, etc as well as exactly HOW you can use the software.This is a simple issue - if you decompile something, you aren’t breaking the law (unless you signed a EULA, in which case you are technically in breach of license and can be sued). IF you choose to publish it, sell it, or do anything else with it that falls outside of “fair use” laws, then you are in breach of copyright. This isn’t so different than the whole thing that is going on with music… Saying you can’t decompile a .ex4 file is like saying you can’t rip a song from a CD to an MP3. That’s not illegal (yet).In fact, I personally believe that it would be difficult to enforce a copyright for most EA’s. Why? Several reasons actually.To quote wikipedia:“Copyright law covers only the particular form or manner in which ideas or information have been manifested, the “form of material expression”. It is not designed or intended to cover the actual idea, concepts, facts, styles, or techniques which may be embodied in or represented by the copyright work.”Most styles of trading have been done and are available in one form or another on many forums, so the “system” can’t be copyrighted. MQL4 is a small enough language where just about EVERY way of doing anything with it is also in the public domain at this point, so most likely the “code” itself can’t be copyrighted. That leaves the exact copying of the code in its entirety. WHICH, frankly goes on and is encouraged left and right in most forums and is even done in this group. Everybody puts the “copyright” statement in their code, yet then we post it to groups such as this or to online forums, freely encouraging people to copy it again and breach the copyright we just claimed. How can one breach be distinguished from the “normal” breaches that are encouraged every day? While ignorance of the law is no excuse, there is certainly plenty of precedence to say that the “copyright” statement in an EA isn’t really a “proper” copyright at all. I think what we really mean is more of an Open Source license. Regardless, this just covers source code. We haven’t even talked about a decompile. So, that’s Strike One.Beyond this, an actual decompile wouldn’t decompile comments, and therefor the resulting code wouldn’t even contain the copyright message people are saying would cover it! Strike two.To make matters worse, decompiled code looks nothing like the original code, so you can’t even compare the two and say that it is the same program. You would be saying “that’s my method or my setup or my system”. Well, as stated before, you can’t do that. A perfect example of this fact is Linux and Unix. Linux “copies” Unix is almost every fashion, but since it doesn’t actually use any of the CODE from the original Unix license (now owned by SCO) it is completely legal.So, Strike Three, you are out.Technically the only things that a copyright COULD cover would be published source code with the copyright notice in it (which is tenuous unless you take further steps), and a compiled EX4 file, which is considered a valid “form of material expression”.Neither of these things cover a decompile. Seems wrong, doesn’t it? Not really, its just that a copyright isn’t really whats needed for a software program - a software license is.That said - Your best bet to protect your work is two fold. Register the the source code copyright officially and if you publish it, note that it is a registered copyright with the US government. Heed the following advice from Wikipedia:“While copyright in the United States automatically attaches upon the creation of an original work of authorship, registration with the Copyright Office puts a copyright holder in a better position if litigation arises over the copyright. A copyright holder desiring to register his or her copyright should do the following:1. Obtain and complete appropriate form.2. Prepare clear renditon of material being submitted for copyright3. Send both documents to U.S. Copyright Office in Washington, D.C.”And secondly, (and more importantly) if you want to distribute or sell your EA, your best protection is an End User License Agreement that specifically outlines the rights of the buyer, which would of course forbid copying, decompiling, reselling, etc.As a side note on the EULA, I personally would never agree to a EULA on an EA, as the liability just isn’t worth it.Hopefully that (more) than closes the topic.