Horizontal vs. vertical
Rozdíl mezi vodorovným a svislým směrem, resp. směrem horizontálním a vertikálním dokáže určit snad každý. Ale co si správně představit, když se tyto pojmy vztáhnou k programům, a hovoří se o horizontálním softwaru, resp. o vertikálním softwaru?
Pro odpověď je třeba nejprve zajít na návštěvu k ekonomům, kteří se zabývají otázkami řízení, postavením různých subjektů v rámci výroby či distribuce apod. Přitom si totiž všímají i toho, že různé subjekty v rámci určitých uskupení či různé části větších celků se mohou nacházet ve stejném postavení či na stejném stupínku určité hierarchie, anebo naopak v nestejném postavení či na různých stupních hierarchie. A právě k rozlišení těchto dvou případů se používají přívlastky "horizontální" a "vertikální": horizontální má zdůraznit stejné postavení, zatímco vertikální postavení nestejné.
Rozdíl mezi oběma případy dobře vyplívá z rozdílu mezi horizontálním a vertikálním trhem. Pokud například někdo vyrábí zdravotnické potřeby, bude je zřejmě nabízet pouze zdravotnickým institucím (do jednotlivých ordinací, ambulancí, na lůžková oddělení, na celé kliniky apod.) - a tedy na vertikálním trhu. Naopak když někdo vyrábí přípravky na mytí nádobí, bude je zřejmě nabízet jen kuchyním, ovšem bez ohledu na to, zda jde o kuchyň zdravotnického zařízení, ministerstva, školy apod. - tedy na horizontálním trhu.
A podobně je tomu i s horizontálním a vertikálním softwarem: horizontální programy jsou ty, které jsou určeny pro horizontální trh, a vertikální naopak ty, které jsou určeny pro vertikální trh.
Například textové editory jsou typickým příkladem horizontálních programů - využívají se pro psaní textů snad ve všech možných institucích. Podobně například spreadsheety, grafické programy pro práci s obrázky apod. Naproti tomu různé programy pro bankovnictví zřejmě nebudou nikdy provozovány jinde než právě v bankovní sféře; programy pro stomatology jen v ordinacích zubařů, informační systémy pro cestovní kanceláře jen v těchto kancelářích apod. - tyto programy jsou tedy typickými příklady vertikálních programů.
Rozdělování programů na horizontální a vertikální ovšem nemusí být vždy jednoznačné a bezproblémové. Kam například zařadit takový operační systém a další nezbytné "systémové náležitosti" typu ovladačů, fontů apod.? Ty neslouží jen k jedné specifické činnosti ve více různých oblastech (jako horizontální programy), ani ke všemu, co je zapotřebí v jedné konkrétní oblasti (jako programy vertikální). Zřejmě nejjednodušší bude smířit se s tím, že svět není jen černobílý a že "horizontální" a "vertikální" jsou jen opačné konce celé široké škály.