Ambas cosas están sujetas a derechos de autor, es como la música, que el compositor tiene derechos sobre la composición, pero luego si son un grupo y la tocan entre 5, todos tienen derechos de interpretación sobre esa actuación en particular.
Si tu escribes el código de una especificación que no es tuya, el autor de la especificación no se convierte en autor del código, y salvo que haya un acuerdo por el cual tu explícitamente le cedes los derechos de ese código (como cuando trabajas para una empresa y te pagan por hacer el código), puedes reclamar tus derechos y evitar que lo use.
Por ese motivo en el código libre la licencia va en todos los archivos de código, y una de las cláusulas es que si derivas algo de ese archivo, no puedes quitar la licencia original.