Bill Thoen wrote:
On Tue, May 30, 2006 at 08:49:47PM -0600, Richard Greenwood wrote:
I would encourage you to share your your documentation of the MBX
format. Freedom of Speech and Freedom of Information are held up as
corner stones of democracy and civil liberties. ...
But where do you stand on the issue of free speech when such speech
endamgers or hurts others? Like shouting "FIRE!" in a crowded theater,
or slandering someone to damage their reputation, or simply lying for
personal gain. Surely those examples are universally recognized as a
reasonable limit on the freedom of speech.
Certainly I agree with Bill's sentiment, there are recognizable limits
to free speech - and for everytime I've been in a darkened theater - no
one has ever yelled "FIRE!" Perhaps it's the innate knowledge the doing
so could cause irreperable harm and injury to another. Again, this is
the "glass half full" approach to life that I've taken - perhaps that's
just me be naive again. I would hope that those in this community
recognize the efforts of some on this list as more than just casual
MapBasic users - some make a living off of providing sound, usable code
for a profit - to steal their code would literally be stealing food off
their table.
The idea of spreading knowledge on how to build a decompiler for MBX
excites and interests the hacker in me, but at the same time that knowledge
in the wrong hands could easily damage my business if any of my programs
were reverse engineered or worse, my clients lost faith in MapBasic
development and stopped offering me contracts.
Certainly, the capacity to build a decompiler and learn the in's and
out's of how it's done would excite the programmer in all of us. Our
company develops applications in MapBasic, and in many instances we have
used native MapBasic as the sole language for our development. In
others, it's painfully clear where MapBasic stumbles - a tree-based
navigation control for example is one area where we have had to use
Delphi to "fill in the gaps" where MapBasic cannot muster the strength.
I'll preface the following comment and say that less than 10% of what we
do is in MapBasic so perhaps I'm not the best person to speak of how it
might impact the revenue stream of our business, but... I can't remember
a time when we've done something truly unique with MapBasic. MapBasic is
significantly limited in a lot of respects - try XML parsing in MapBasic
for example - it's woefully slow and probably a reason why the 8.5
version of MapInfo Pro will expose XML parsing capability in MapBasic.
Up until this point it's been necessary to use outside XML parsers to
get any reasonable amount of speed (and I'm talking in terms of 10
seconds in MB versus 0.5 with MSXMLDOM for example). For the most part,
MB is really nothing more than a bunch of for....next loops,
if-then-else statements, and the occasional spatial operation - I would
argue that for the most part, it's already been done with MapBasic - and
if it hasn't, there's someone on this list who can give you an answer in
about 30 minutes.
However, I think this knowledge should get out eventually -- indeed it
would be naive to think that it won't -- but I'd like some time to get
ready for it. Say, about three to six months. This would give developers
some time to implement some measure of protection for their commercial
MBX applications while not closing the door on the possibilities that a
decompiler could offer.
Now I'll end this counter-point by saying that I really don't have a
vested interest either way. I stand to gain nothing from a decompiler
(except in the rare instance that I forgot where I put the source code),
and if it makes others sleep well at night, then by all means we
shouldn't encourage the release of notes on a decompiler. But, I have to
say that if there's something that the MapInfo development community
does well it's innovate. So what would we all pay for a code obfusctaor:
$20, $100, $500, $2,000?
- Ian Erickson
_______________________________________________
MapInfo-L mailing list
[email protected]
http://www.directionsmag.com/mailman/listinfo/mapinfo-l