Am Freitag, den 07.07.2006, 09:27 +0200 schrieb Ulrich Eckhardt: > On Thursday 06 July 2006 18:20, Aristid Breitkreuz wrote: > > If I understand it correctly, the exception must be bullet-proof (of > > course ;-) ) and in difference to the LGPL allow the following > > use-cases: > > 1. Using all the template stuff (generally code in headers with > > more than 10 lines per functional unit) in libsigc++ from > > application / library code. > > Right. This permission was already given but is not explicitly stated in the > distributed license.
This is the point. > > > 2. Linking libsigc++ statically, at least on Windows or other > > technically restricted platforms (I dislike Windows-DLLs). > > Nope. Even on a theoretical platform where you can't link dynamically (MS > Windows isn't one) you could still ship at least compiled objectfiles to > allow the user to relink their code with a changed libsigC++. The fact that > you dislike win32 DLLs and that they are inferior to Unix shared objects in > some aspects doesn't affect the users' freedoms. What changes are you thinking about? > > You also asked in a different mail why libsigC++ has any non-header parts at > all, and the reason is because it can. There are some background bookkeeping > things that are the exact same for every part of it and as such they can be > compiled into a shared library so it doesn't take up RAM and cachelines in > every program that uses libsigC++. Of course, creating a completely > header-only libsigC++ would be possible, but that would be like enforcing > static linking and might even lead to code bloat on not-so-smart > compilers/linkers. So if a user really wants to link completely statically, he can, at least with the currently proposed exception mechanism (or even without?). He just has to copy all code into headers, maybe make it templates or split into functions of less than 10 lines of length and done he is. What is the point in allowing any user to replace versions of the libsigc++? (This is no rhetoric question.) This is already hardly possible right now because the header parts of the library already are quite major. Please don't take me wrong, I understand if you want to protect some freedoms, I just dare ask why - if I think the taken measures impose disadvantages. On most platforms the generated code bloat cannot even be thought of being relevant. All template stuff is already in the headers and the shared library (libsigc++-2.0.so.0.0.0) is only 24 kilobytes here. > > Uli Aristid _______________________________________________ libsigc-list mailing list libsigc-list@gnome.org http://mail.gnome.org/mailman/listinfo/libsigc-list