Los componentes de software se pueden clasificar según su operatividad, comercialización y código fuente. Según su operatividad están el software de sistema que controla el hardware, el software de aplicación como herramientas para el usuario, y el software de programación para desarrollar programas. Según su comercialización están el software libre que respeta la libertad del usuario, el shareware que permite una evaluación gratuita, y el no libre con limitaciones. Según su código fuente está el software abierto desarrollado libremente y el cerrado con acceso restringido