I have an open source project which I distribute under BSD license. I would like to include parts of iwlib.c, which is part of iwlib project, and which is released under GNU GPL 2. To my understanding this is not possible unless I also change the license of my project to GPL 2, which seems quite silly. Is this correct? Can I overcome this limitation by, say, changing the code a bit (e.g. by changing variable names, removing comments etc)? Or by asking permission to the author?
You cannot overcome this limitation by changing the code a bit. The GPL specifically protects against this, and, arguably, it is the central idea of the GPL.
Your only options are:
- Change your license,
- Ask the author if they will license their code to you under a different license, or
- Find or create an alternative implementation with a BSD-compatible license.
Note that option #3 may also violate the GPL if you choose to write your own replacement and you don't do it cleanly from the ground-up (thus without looking at the original work as reference or ideas).