Most people, even those experimenting with Linux, don't fully understand the distinctions between Linux, GNU/Linux, and the GNU toolchain. But the differences are important when you think about certain kinds of software dependencies.
Linux follows a development chain that began with Unix. As such, much of Linux is designed as Unix code, and may even contain Unix code.
However, GNU was intended by its creator, Richard Stallman, to be a completely free and independent operating system, using none of the same code bases or licensing standards as Unix or Linux. The two are separate projects. Sort of.
The challenge with the GNU project, however, is that the kernel — the core software that communicates with the hardware and coordinates all the other applications — is not yet ready for production. The GNU Hurd kernel, released in pre-production status in 2015, is still not ready for prime time.