The GPL is based on the legal concept of a "derived work". If you partition the code, it only isolates the GPL'd code if the two parts are not considered one work. Note that this is a legal interpretation, not a technical one, and depends on your intentions as well as your design. So, if you create some mythical interface between two pieces of co-dependent code for the sole purpose of evading the GPL, you haven't evaded it, because the two pieces of code still need each other to function and thus are not independent.
A suitable API would be something that *is* intended to allow for arbitrary expansion, or if there are GPL equivalents for both sides, such as the Linux syscall ABI or GIMP plugins, or if the API follows some previously published API, such as an i2c bus. _______________________________________________ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user