Típicamente, lo que generalmente llamamos un Sistema Operativo, es una combinación de software que involucra un kernel , cuyo trabajo es administrar los recursos de la máquina y algunas aplicaciones que se ejecutan en la parte superior del kernel, llamado userland (que contiene navegadores, compiladores, lectores de pdf, cualquier cosa que no sea el núcleo, o un controlador, o tal vez un hipervisor vm).
El resto de esta pregunta no puede responderse sin algún contexto histórico. Richard Stallman anunció el Proyecto GNU el 27 de septiembre de 1983. El objetivo era proporcionar el software necesario para desarrollar un sistema operativo similar a UNIX (y el país de usuario que lo acompaña) como software libre . Para 1992, el Proyecto GNU había completado casi todas las piezas esenciales para su software, excepto una: el núcleo. Al mismo tiempo, Linus Torvalds lanzó su kernel Linux (versión 0.12) como software libre, bajo licencia GPL . Entonces, por primera vez, podría ser posible ejecutar una computadora compuesta (casi) completamente de software libre.
Linux (como se mencionó) es un núcleo y, aunque es la base definitiva del software que le permite usar su computadora, no es de mucha utilidad por sí sola. Debe emparejarlo con algún tipo de aplicaciones (userland) para que se ejecute. Eso es lo que hacen las distribuciones de GNU / Linux como Debian o Ubuntu y similares.
Vale la pena mencionar que un kernel es importante y sin importancia al mismo tiempo. Permíteme explicarte. La mayoría de las personas que usan una computadora están acostumbradas al país de usuario en lugar del núcleo. El núcleo es en su mayoría transparente, y la mayoría de las personas usaría otro núcleo con el mismo país de usuario y tal vez ni siquiera noten la diferencia (a menos, por supuesto, que dependan de una función proporcionada por un núcleo en particular).
Por lo tanto, cuando usa Linux , realmente está utilizando una realización del sistema operativo GNU; ese es el kernel de Linux y la tierra de usuarios de GNU (GNOME, GNU Compiler Collection, GNU depurador, GNU Coreutils, GNU binutils, etc.). Es por eso que la FSF insiste en llamarlo GNU / Linux (en mi opinión, una solicitud justa).
Por supuesto, puede usar Linux sin la tierra de usuario de GNU (pista: Android, Busybox ) y, por supuesto, usar la tierra de usuario de GNU sobre otros núcleos (kfreebsd, hurd, etc.).
En cuanto a Unix es de código abierto y similares, esa es una pregunta que puede implicar un poco de discusión. Sin embargo, puede encontrar información útil aquí