Header files usually contain declarations, not definitions (maybe some typedefs and enums but still not enough to be considered derivative work by RMS).
In general, header files define an API, and APIs aren't covered by GPL.
For unitsync, this means that you can create your copy of the unitsync implementation, by including the unitsync header file.
Only when you link with the existing unitsync implementation or copy the unitsync implementation's code (the .c/.cpp files and .h/.hpp which contain function definitions/macros) your code will be covered by the GPL.
This is assuming that the unitsync header file (I've never looked at it) doesn't contain a lot of inline functions, macros and similar for it to be considered a partial implementation.
What this means for you is that you can copy the header files (probably, check the code first!), and create your own implementation by using those header files, and thus have a guarantee of API compatibility.
Relicense unitsync as LGPL?
Moderator: Moderators
- danil_kalina
- Posts: 505
- Joined: 08 Feb 2010, 22:21
Re: Relicense unitsync as LGPL?
what about "Bionic" library then, mentioned in the article above ?
It governs the Linux kernel sitting at Android's core
It governs the Linux kernel sitting at Android's core
Re: Relicense unitsync as LGPL?
They don't seem to be linking I think (read Linus' post and RMS's stand on that). The whole story is about Bionic cleaning up headers and presenting them to user apps, which then may link to whatever implementation is provided.
Well in any case I haven't followed the thing in detail. For more information on the issue suggest you read those linked articles
Well in any case I haven't followed the thing in detail. For more information on the issue suggest you read those linked articles
