Ook al hoef je geen licentiekosten te betalen, dat wil nog niet zeggen dat Open Source Software helemaal gratis is. Om te bepalen hoeveel het kost om, al dan niet Open Source, software te kopen en te gebruiken, kun je de Total Cost of Ownership (TCO) berekenen. De term TCO klopt eigenlijk niet voor de meeste software. Als je software koopt, word je namelijk niet de eigenaar, je krijgt alleen maar toestemming om de software te gebruiken onder bepaalde voorwaarden. Software kopen is dus eigenlijk een soort huren of leasen van software.
De TCO is opgebouwd uit een aantal elementen:
- De aanschafkosten van Open Source Software zijn meestal nihil, bij closed source software moeten bijna altijd licentiekosten worden betaald
- Hardwarekosten. Soms vereist nieuwe software ook (gedeeltelijk) nieuwe hardware. Aanschaf, onderhoud en afschrijving van die extra hardware moet ook worden meegenomen in de berekening. Volgens Wheeler (2007) draait veel Open Source Software efficiënter dan closed source software en werkt dan ook vaak nog goed op oudere hardware.
- Installatiekosten. Software installeren kost tijd, en dus geld. Of je zelf kunt installeren of dat moet laten doen (wat meestal duurder is) hangt onder andere af van de aanwezigheid van voldoende documentatie om zelf te installeren, de expertise van de eigen medewerkers, of er gegevens moeten worden geconverteerd en hoeveel tijd dat kost, en de beschikbare tijd van de eigen medewerkers.
- Trainingskosten. Gebruikers en beheerders van nieuwe software moeten worden opgeleid. Is er voldoende expertise in huis voor de training of moet die ingehuurd worden, en hoeveel kost het om later nieuwe medewerkers te trainen. Voor de medewerkers kan de overstap naar een nieuwere versie van een bekend programma (van bijv. Word 2003 met Word 2007) een veel grotere schok zijn (en dus veel meer training kosten) dan de overstap naar een ander programma dat veel lijkt op het al bekende programma (zoals van Word 2003 naar OpenOffice.org Writer).

- Onderhoudskosten. Dit kunnen zijn jaarlijkse onderhoudskosten, supportkosten, kosten van upgrades en servicekosten. Het is meestal niet nodig om bij elke nieuwe versie te upgraden, maar security patches (om veiligheidslekken te dichten) moeten natuurlijk wel geïnstalleerd worden. Het maakt dan natuurlijk nogal wat uit als je per gebruiker moet betalen en het programma maar een keer geïnstalleerd is of dat er tientallen gebruikers zijn. De meeste Open Source Software kent geen upgradekosten, je kunt de nieuwste versie gratis downloaden en installeren. Ook kan het voor supportkosten veel uitmaken of er daarvoor voldoende mensen in huis zijn of dat je die moet inhuren, en ook hoeveel support er eigenlijk nodig is. Dat hangt weer af van o.a. de betrouwbaarheid, veiligheid en complexiteit van de software waardoor je meer mensen of hoger opgeleide mensen nodig hebt. Bij proprietary software ben je voor support vaak afhankelijk van de leverancier. Bij Open Source Software is er meestal een hele community rondom de software en kun je dus terecht bij de leveranciers, de ontwikkelaars, documentatiemakers en medegebruikers. Als meerdere bedrijven support bieden ontstaat vaak prijsconcurrentie waardoor de supportkosten lager kunnen worden.
- Administratiekosten. Licentievoorwaarden van proprietary software zijn vaak heel uitgebreid en ingewikkeld waardoor er een goede administratie moet worden bijgehouden van de verschillende licenties zodat je geen hoge boete hoeft te betalen als bij controle blijkt dat je een kopie meer gebruikte dan waar de licentie recht op gaf.
- Maatwerkkosten. Met behulp van parameters kan software tot op zekere hoogte worden aangepast aan de behoeftes van een organisatie. Om aan alle eisen te voldoen moet de broncode soms nog aangepast worden, en dat kan relatief veel geld kosten.
Sommige van deze kosten zijn eenmalig, andere kosten kunnen, al dan niet regelmatig, terugkeren. De TCO wordt daarom berekend over een periode van een aantal jaren. Je kunt dan voor een periode van bijvoorbeeld vijf jaar vergelijken hoeveel het gebruik van product A kost in vergelijking met product B.