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 thumbs up, 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.
 
Rant
 
 
Phil Waight.
 

_______________________________________ 


Email : [EMAIL PROTECTED]
Web: www.spatialprojects.com.au
Skype: PhilWaight

Attachment: thumbs up.gif
Description: GIF image

_______________________________________________
MapInfo-L mailing list
MapInfo-L@lists.directionsmag.com
http://www.directionsmag.com/mailman/listinfo/mapinfo-l

Reply via email to