Dovolím si přidat jeden možný úhel pohledu na problematiku názvosloví a raději i za použití příkladu.
Vezměmež něco, čemu se běžně říká operační systém (aby to bylo názornější, tak budeme uvažovat operační systém s grafickým rozhranním) GNU/Linux + Gnome. Ovšem ve své podstatě se jedná o program. Ano ... operační systém je jenom program.
Uživatel si nainstaluje OpenOffice a spustí ho. Co se stane. Program, který už běží v počítači do paměti natáhne další program a spustí ho. Čili program spouští další program, nebo možná podprogram. Myslím, že o OpenOfficech můžeme klidně mluvit jako o podprogramu, protože na počítači bez programu, který názýváme operačním systémem prostě a jednoduše nepoběží.
Tudíž podle mého názoru je jedno, jestli se mluví o samostatných programech (které ve spoustě případů ani samostatné nejsou, protože právě bez jiného programu už přítomného v paměti se vám je nepodaří spustit), nebo o funkcích operačního systému.