MBEL: The Microsoft Bytecode Engineering Library is a "...tool that allows the user to parse, create, edit, and rewrite .NET files with a convenient object-oriented API." It is "implemented completely in the Java programming language, which facilitates portability across different systems."' It is funded by Microsoft. And it's licensed under the GNU Lesser General Public License. Updated 2041 US EDT
The project's Web site says, "Among the many uses of MBEL are code analysis, optimization, obfuscation, and watermarking."
We tried to call Dr. Collberg and ask him how he managed to obtain this grant in light of Microsoft's well-known antipathy to the GPL, LGPL, and the Free Software Foundation in general, but he wasn't in. If he responds to our email asking how he managed to pull off this coup, we'll update this story ASAP.
Perhaps Microsoft is turning over a new leaf. That would be nice. In any case, kudos to Dr. Collberg and the project's principal programmer, UA computer science student Michael Stepp -- and, of course, to the person at Microsoft who generously approved funding for MBEL.
We just received this note from Dr. Collberg via email...
"Actually, that link got posted a bit prematurely.
We're still working out the license issues with
the lawyers (the university's, not MS's). At worst
it will be copyrighted by the U of Arizona, but still
open source, etc.
"MS gave me $15k to "do something with .NET/obfuscation/watermarking",
which we did. We never told them we were going to use Java and they