un logiciel, c´est une suite de 0 et de 1 ( du binaire), or, amuse toi pour prgrammer en binaire, pour ca, on a inventé les langages de programmation qui vont permettre une programmation plus aisé, tel que le BASIC , le C, php etc...
pour qu´un programme fonctionne, il y a deux solution:
soit il est interprété ( comme le html par exemple, il est interprété par ton navigateur) par un autre programme
soit il est compilé, c´est a dire transformé par un compilateur en une suite de 0 et de 1...
si tu récupère la source, tu peux tout modifier dans un programme ( principe de la license GPL utilisé par la plupart des produits LINUX°