Is it possible to licence a BlitzMax program under GPL? My first impression is no, because of the way BlitzMax is built. By necessity, you source code links with the proprietary source code of some BlitzMax modules (at least BRL.Blitz), which is not permitted by the GPL, I think.
Is this true? And then how about LGPL?
Just don't use the GPL but a non-viral open source license like the BSD or MIT license.
Otherwise, you will run into a problem the moment you link something non-GPL to your GPL code. Since the GPL works like a Borg mothership, it will assimiliate everything that it touches and forcing you to open source everything linked to your program under the GPL license as well. Since only "compatible" licenses will allow this, you must carefully check whether all linked modules will comply with the GPL requirements.
The LGPL was created for libraries and only is as strict as the GPL in the moment the library is linked statically to your application. As long as it is linked dynamically, you do not have to open source your own code. However, if you write an LGPLed library yourself, the GPL rules apply to your (library) code: You have to make the source code available and if you link something to your library, you also have to obey the GPL and make sure that the linked stuff is compatible with the (L)GPL license.
The GPL is a great tool to create a MySQL AB-like business model. You can open source an application and create a community for it (with basically is just another way of marketing) and sell commercial licenses to those who do not want to open source their mission critical applications. For MySQL AB, this business model works very well, and their "trick" is that the required connector licenses and the communication protocol are licensed under the GPL. So whoever uses their database server will do so through one of their connectors, and therefor must either open source their own software or buy the commercial license.
If you write something like a game or a word processor or whatever, this business model will not work for you. The only place where the GPL will help you here is that any derived work will also have to be open source, so nobody would be able to charge software license fees for a derived work.
The BSD license, for example, only grants all kinds of freedom to the user of the software, but does not create such business models for the author. Which means that you on purpose encourage other users to build an own business with your code, maybe even in the form of closed source applications. The open source modules that have been used to create BlitzMax share this mindset, which is the reason why they do not use the (L)GPL. When you take a look at the Mono framework, for example, you will see that all the libraries are also using BSD or MIT-style licenses to explicitly allow the creation of commercial products. On the framework and the compiler have been GPLed -- guess why.
Yeah, well that's probably what I have to do if it is indeed impossible to use GPL. However, you didn't - quite - answer the question. Although, I think can read 'no' between the lines.
First question: no. It is not possible, don't even bother. Second question, yes. Third question, you cannot license your BMax application under the LGPL due to the fact that it is statically linked with non-LGPL modules and code, and thus would require you to open-source those as well. The only place where the LGPL works is if you want to dynamically link to an LGPL'd library, and in this case your code is not a library nor is it dynamically linked to everything else.
As I thought. Well, I'll just have to use some other licence then.