Sorry to not reply to this topic sooner. I'm in full support of an image library. I'll leave that up to hailstone. I personally prefer to stay in the GPL-compatible category and keep GAE fully commercially viable without royalties as it has been for some time (i.e., you can currently use the original Glest engine or GAE for a commercial game project without paying any royalties). I don't have much of a problem with LGPL personally, I actually released some code under LGPL in the 90s.
But this brings me to another issue that really bothers me and is probably more of a lack of information/expertise on my behalf: why can't we use static linking and drop the symbols we don't use? In reality, there are a few functions in GAE (and maybe even in GOE (Glest Original Engine?
), but less of them) that aren't actually used but that may get used in the future. Is it possible to feed a list of symbols to drop, or to only include to the linker using gcc and/or ld? If so, we could reduce the GAE's overhead. I know that there are reasons why this can have a minimal impact -- specifically the way that modern operating systems "page in" the pages of an executable that it needs and leaves the rest memory mapped, but not actually read from disk or using any memory (so that a page fault causes it to be loaded when needed), but I still cringe at the prospect of pulling in massive libraries when I only need part of it and, alternatively, passing up more mature libraries strictly on the basis of their size. Finally, I'm aware that by statically linking a library, you circumvent the OS's opportunity to load it as a shared library, that it can indeed *share* with other processes who use the same library. None the less, I often wish I could pick and choose more judiciously what gets linked in.
On a related note, when I get more savvy with understanding these things, I may write a table that specifies symbol linking order so that high use functions remain clumped together, improving the chances of processor cache hits -- I'm not that good yet.
Sorry to drift somewhat off topic.