I am using some code licensed under the GNU GPL, and trying to figure out how exactly the license applies to my software, which has multiple components.
There are two parts: a .dll library, and the main application. I know the library is GPL’d because some of its code is unmodified GPL code to compute output. This library is then linked to may main application, and the method containing GPL code is used to compute a set of output data.

The library is a collection of math helper functions, that could be used for multiple applications, and does not rely on other parts of my software. The main application, as it is currently built, relies on this library to do a few things or else it will not work.

Are these two components considered distinct enough pieces of software? Or should my main application be under GPL as well?
Follow-up: if I add more components in the future…should they all be GPL (due to being part of the same software project), or would that be decided on a module-by-module basis?

New contributor

Unstable Andy is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.