Names of classes stored in executables

So the real problem for you is that we don’t fix the bugs fast enough?

[quote=47623:@Thomas Tempelmann]… and wait months or forever if Xojo decides not to act on it.

(and, of course, the case where I had to patch some function out was indeed reported to RS and never fixed. Go figure!)[/quote]

Case # ?

Thomas, Xojo has done incredible things and you have done great things over the last decade and a half among the community. Put a little faith in what they are doing. I myself have recently encountered show-stoppers… but as always, you can contact Norman or Geoff, or any of the lead developers with a demonstration of the bug; and as always, it does get fixed or a work-around is supplied. It can get frustrating, but we agree to the “no warranties or guarantees implied or…”. Imagine how frustrating it is for the Xojo developers to have 100,000 of us constantly bombarding them with bugs and “opinions”? The best part of this community is that we are “family” and can come to one another, even in frustration. Patience isn’t about waiting, it’s about one’s attitude while waiting… even I remind myself of this now and again. :slight_smile:

[quote=47621:@Thomas Tempelmann]If wonder how Xojo would like it if I removed these “illegally” determined fixes in the next version of my apps such as Find Any File, and told me users that, sorry, I had to undo these fixes because I am not allowed to know how to fix them, and so users should please live with a buggy FAF for now, and not give any second thought towards Xojo enforcing this.
[/quote]

Thomas, there’s a (perhaps English only) concept of “honor among thieves”. The way it works is maybe you get away with a little bit here if you let others get away with a little bit there. And that’s not about stealing stuff, it’s more about what the written arrangement is and what the actual arrangement is. It’s about what each party can stretch and get away with because it imposes no incremental harm on either party or anyone else.

Riffing off Matthew a little bit… When many of us are doing this “honor among thieves” arrangement and someone gets into a confrontation over what’s written down, it does hurt the rest of us, because our informal arrangements end up being brought under scrutiny. Regardless of what you feel about Xojo, perhaps you could do the rest of us the kindness of de-escalating this stuff. It would give you a little more room to operate as well.

So this started about code obfuscation and ended in Tempel-bashing … way off-topic.

No Tempel bashing - he violated the EULA is all we pointed out.

While you can currently change the names of your classes/method/s etc to whatever you want the names - even in obfuscated form - will still show. Part of that is symbols for crash dumps on OS X and part of it is the introspection metadata which you cannot get rid of. So they will still be present in some form (plain text or obfuscated)

You’ll need to keep a “map” of obfuscated name to real name for each release so you can deal with a crash report from an end user.
Since all they will be able to send is a crash with the obfuscated names from that specific version you’ll need to be able to reverse the obfuscation in order to diagnose the problem.
If you generate a lot of versions then this could end up being a LOT of maps you have to retain.

Except that he didn’t. The Xojo license states:

“If you are located in the United States this agreement is subject to the laws of the state of Texas. If you are located outside the United States local law may apply. Some states do not allow the exclusion of warranties, so the above exclusion may not apply to you.”

Thomas lives in Germany.

German copyright law s.69a(2) allows for decompiling under some circumstances such as for interoperability. I’m sure a reasonably creative legal mind could interpret Thomas’s use under such a legal interpretation if push came to shove.

Yes, they seem extra prickly when dealing with Thomas. Unfortunate.

He explicitly stated that he patched code to correct a bug - not to make it be more interoperable with anything.

Repeat offender ?
This is far from the first time we’ve reminded him of the EULA and it’s clauses

This is my last reply on this

And now his program correctly interoperates with the OS.

Me too.

[quote=47678:@Joseph Claeys]German copyright law s.69a(2) allows for decompiling under some circumstances such as for interoperability. I’m sure a reasonably creative legal mind could interpret Thomas’s use under such a legal interpretation if push came to shove.
[/quote]

Again, law versus contract confusion. A prohibition against reverse engineering may very well be unenforceable in his jurisdiction, but even that is immaterial. Xojo extends quite a bit of support and help outside its contractual obligations to all of us, including Thomas. If you’ve paid attention, you also should be aware that Xojo has extended great deal of support to Thomas, again, outside its contractual obligations. A recurring theme is that Thomas is often asked publicly to not do certain things that end up making Xojo’s life difficult with other customers. See just about any discussion on Arbed during a beta cycle. Another recurring theme is that Thomas is often quite abusive to Xojo staff.

It is very difficult to have a flourishing third party ecosystem when the transaction costs of participating and complying are high. That’s why all participants need to look at the written rules (e.g. the EULA), try to understand the spirit behind them and the difficulties caused by breaching them, and try to generally not to step on each other’s feet. I’ve been brushed back a couple times on stuff like this. I’m not angry at all. I figured out what the real concern was and kept that in mind. Thomas would do very well to do the same, and those of you who use Thomas’ stuff should insist on it.

As I think that framework code access may help to improve product and avoid running in reverse engineering discussion, I made a feedback case about framework access:

https://xojo.com/issue/30914

Maybe Geoff will consider it.

Very interesting. The example of DynaPDF is also a good example.

This talk about the Eula get’s on my nerves.

Xojo people: please contact a German lawyer to see which part of your Eula is valid and which is not. Other companies a bit larger (Microsoft for instance) have found that Eulas are just black ink on paper with absolutely no meaning. This is true for all kinds of contracts :slight_smile:

If you want to obfuscate an application why not just use an application packer? Upx is available for Windows and Linux, and there exist Packers for Mac as well (maybe even UPX now has a Mac version? ). Not only do Packers make the final build smaller(by half or more), they make them next-to-impossible to hack away at (nothing is impossible to a seasoned assembler). For Windows, even the framework DLLs can be packed making 60mb pieces of software…20-15MBs (depends on your code really). Arbed could integrate such into the ide rather than re-inventing the wheel… and. … its free, bugs already taken care of. … guaranteed to work.

And no. … Packers do not slow down execution time. There are even command line options for packing compression 0-9 and encryption keys to make ‘hacking’ all the more difficult, etc…

I wouldn’t believe using a packer is against the EULA since it’s the equivalent of Zipping an executable/app… only not requiring any zip files since no ‘un archiving’ is required to execute the program (just execute it as always). It only makes the code obfuscated and smaller by optimizing the machine code and removing unnecessary ‘empty space’ within a program. Also, since it was developed in C/C++ there is no reverse engineering of frameworks or violations of EULA since it works based on standardized machine code without any consideration of Xojo’s proprietary frameworks? Just a thought…

Thought:
Can the EULA just state…

By using this software, you contractually agree to the following terms and conditions in All Countries.

If you choose to breech this contract, and are requested by Xojo, Inc. to terminate use of this software, your right to use this software will be revoked. ?

Opinion and Fact:
Law is tricky since anyone can get around reverse engineering clauses by stating their product is in detriment of interoperabily such as in the case of Bowers vs. BayState Technologies (Federal Law superceding any state laws, including TX). Perhaps the EULA could have a clause stating you wave your right by using Xojo to claim interoperabily detriment? It’s sad the “human readable” EULA doesn’t suffice.

And we were not bashing. We were merely all getting “on the same page.” You must see from all perspectives to have full understanding. Thomas is of great value to the community and as an individual, respected.

I myself, am stuck on both sides of the fence understanding the pros and cons of the EULA and reverse engineering. Although, I value and respect Xojo, Inc., Geoff, Norman, Thom, Joe, Greg, Dana and everyone else (please don’t feel left out for not mentioning names). In that respect, I comply with the rules set forth unless I hear otherwise from them directly (which would apply to everyone).

An aside from Jiminy Cricket:
Imagine how hard debugging Xojo would be if we had 10,000 ‘patched’ versions of the framework floating around all rendering bugs which don’t exist or do, incorrectly? YIKES! There is no honor among thieves, and no respect without honor. When you choose to use software, you must ask yourself, “am I a respectable honorable person?” When you build software and distribute it… you don’t want people altering it, making it “theirs”, and reselling it do you? Perhaps their alterations cause chaos in your software… to the user, you’re responsible, and it makes you look bad. Xojo doesn’t need to look bad because we “selfishly” choose to “do as we please” with what they’re trying to perfect, for us.