I was kindly asked by an IBM representative to remove the blog post:
Ulrich – would you please take down this blog post? …
I haven’t had a chance to look at post in the DP forum but have made the dev team aware of the issue.I am not sure what we can do to resolve but would appreciate if we could handle outside of a public venue.Thanks, …
As an ISV disappointed to hear this, but I am not surprised. I hope IBM addresses this since we are moving our back end from Lotusscript to Java. I guess we will have to move to a hold mode on the conversion.
You cannot hide/protect your Java code. When removing the $FileData field (which contains just the source of the Java Files) you can still access the compiled Java classes and decompile them. When adding the Code to an external Jar you can decompile the code too without any problems.
There are some tricks to obfuscate the code (f.e. with a special encrypting/decrypting class loader), but all these workarounds just make it harder to decompile.
Luckily I had a chance to make a copy of your post. Hot stuff.
I hope IBM will find soon a solution, or ask BCC for one… 🙂
Trying to close your Java is a futile task anyway. As Sven observes, decompiling .class or .jar files is trivial. The only reason not to provide your source code along with your object code in Java is because you don’t want someone to see the comments. Everything else is going to be accessible anyway.
On Java: I once had to decompile Java, as the contractor failed to provide my company wikth the source code of a jar-file, and there was an error in it…
Luckily a decompile followed by bug-fix and recompile saved the day!