From: Alex S. <ash...@ya...> - 2004-03-26 19:39:47
|
Hi I saw your announcement of gtkwrapper library in the gtk mailing lists. I think this is a very good library, because you can add it to existing projects without rewriting them (porting to gtkmm or inti would require that) and you don't need any additional runtime linking. The API seems very good too. But the only thing that dislike is it's LGPL license. Don't get me wrong, I love that license, but not for header-only library. The thing is, if the library is not dinamically linkable, it can't be linked with non-GPL/LGPL software, even if the software is LGPL-compatible. The solution is to use the libstdc++-like license (look for headers of files in /usr/include/c++/<gcc_ver>/<any_cpp_include>). The libstdc++ headers are LGPL, but they contain templates and macros that will not be dinamically linkable, so they came up with a solution. As an exception, they allow any kind of linking. These headers contain: // As a special exception, you may use this file as part of a free software // library without restriction. Specifically, if other files instantiate // templates or use macros or inline functions from this file, or you compile // this file and link it with other files to produce an executable, this // file does not by itself cause the resulting executable to be covered by // the GNU General Public License. This exception does not however // invalidate any other reasons why the executable file might be covered by // the GNU General Public License. Note that the headers are still covered LGPL, they just loosened the license a bit. I suggest you look into the matter of licensing, as LGPL for a linkable library is not the same as LGPL for header-only library. Oh, and your .tar.bz2 contains win32 newlines (It's common that the zip file should contain win32 newlines and the tar.gz and tar.bz2 files should contain Unix newlines). You could use dos2unix program to convert them. And the files in tar archives should be chmod 644-ed (you have the executable permissions in your archives). And another thing... Your headers are named like CanvasLine.h. This is a bit annoyance on Unix systems where filesystem is case-sensitive. It's a good practice to name the files lowercase, like canvasline.h or canvas_line.h. Thanks, Alex Shaduri |