Não necessariamente.
Podem contratar serviços de programação, em lugar de contratar o desenvolvimento de
uma solução. Contratando serviços de programação, por exemplo, quem desenvolve
"apenas" contribui com o seu tempo, conhecimento, etc. Ou seja, contratam trabalho e
não produto. Se contratarem uma solução final, já não é líquido que seja apenas o código
compilado, depende muito dos termos do contrato. Ou seja, tem de ficar bem explícito o
que constitui a satisfação do contrato (o que deve ser entregue e aceite para que o contrato
se considere cumprido).
Normalmente, para evitar confusões, um contrato de produção de uma solução de software
começa por definir o que é considerada a solução de software, e consequentemente o
que deverá ser entregue.
Exemplos (serviços e produto - Brasil):
Contrato de Desenvolvimento de Software
http://www.ramosdainformatica.com.br/files/Clientes/modelo_contrato_desenvolvimento.pdf