Say I'm writing a program I'm going to release under the GPL. I want to use NLog as the logging module, which is released under the BSD (I'm not just concerned specifically with NLog as there are other BSD modules out there I'd love to use). The BSD license is GPL compatible so I can do this. As far as I understand, I have to leave the BSD license there on each file in NLog, but I can add the GPL to the "whole work".
Now let's say I make a change to the NLog code and I want to contribute that back to the NLog project as BSD licensed, and obviously also keep that improvement in my program. I know that I can do this, but I'm really confused about the mechanics of the copyright notices.
Assuming:
- Each NLog file has the original copyright and BSD license text at the top.
- Each file in my application (including the NLog files) has the copying permission for the GPL license at the top, specifying that this file is part of the larger application.
- The GPL license text is included in a text file at the top of my directory tree.
So when I make a change to the NLog code, do I:
- Add a copyright notice to the top of that file (Copyright 2009, Me)?
- Post the change back to NLog's mailing list or something as a file with the GPL reference removed, so it's just BSD?
I would think this is a common task, but I can't find anything online to really help me.