There are currently 2 common methods of
distributing usable code in the MapBasic world: the MBX or .MB source. The MBX
will be free or for a fee and the accompanying licence will generally indicate
the terms of use. (PS: I have yet to see a program licence saying "please
feel free to reverse engineer this and do with it as you will".)
MapInfo's approach to maximize market back in 1990?
was to provide mapinfo pro/mapbasic on mac, unix and win, but for obvious
reasons (then) without an IDE of any sort, without accompanying "libraries"
(except maybe for auto_lib?), but with some sample applications - the reasons
being (IMO) the relatively large effort to provide an IDE on all platforms
compared to the development cost of getting the "basic" compiler to market. Then
around v4?, mac/unix was dropped and the argument for not providing an IDE for
win probably changed to "we are already selling x000 copies a year , an IDE
wont increase that by much" etc. Also MapX came along for "serious
programming".
Anyway, the significant thing that distinguishes MB
development (from my point of view) from other environments is not the lack of
an IDE , but the fact that whilst there is an equivalent to the
component: ocx/dll, NO ONE uses this as a distribution method. The equivalent is
the MBO with an accompanying include file. This method is pretty much identical
to a developer writing something useful in an MS language, packaging it as
an OCX, providing some doco and selling it. The MS component developer would not
consider distributing source code in general, as he wants to protect his ideas
and make a buck, but he also want to package it so it is most useful to his
target market, being other developers.
There are probably many reasons why the MBO
distribution method is not used. I would think mostly that the usual in-house
development project doesnt budget for some return on the development costs
through distribution of selected pieces of the built code. The other is that it
is not pushed as a "feature" in MapInfo marketing. There is the issue of adding
some sort of registration and copy protection if its not for free use.
But why should MBO+includes be distributed,
compared to source or MBXs? Because well documented function and sub calls in a
tool kit become a huge cost saver for the average development project. Source is
a nuisance, because as soon as it is copied it becomes a maintenance problem. If
source has significant intellectual content, who would want to give that
away? A distributed MBO file on the other hand has documented inputs and
outputs, and must be designed to work as a "black box". There is also an
implication that the author will maintain it and provide updates. An
MBX is not accessible to a developer except for the "Run Menu Command ..."
method.
I shudder to think of the amount of "reinventing
the wheel" that must happen with MapBasic. The curious thing is that although
MapX has been around for nearly as long as MapBasic, there is also little (no?)
packaging of MapX content into sharable modules. MapX objects can be passed to,
for example, an ActiveX exe, with the licence requirements being met by the
calling program.
Cant see anything changing with MapXtreme .Net
unless someone sees that there is benefit/a $ to be made by doing what MI
does.
Phil Waight.
_______________________________________ |
thumbs up.gif
Description: GIF image
_______________________________________________ MapInfo-L mailing list MapInfo-L@lists.directionsmag.com http://www.directionsmag.com/mailman/listinfo/mapinfo-l