Software allows computers to function by acting as an interface between user input and hardware. Common types of software include word processing, desktop publishing, presentations, photo/video editing, music/sound development, and website development. Software can be categorized as system software, which includes operating systems and utilities, or application software for specific tasks. Operating systems manage access to computer resources and come in various types for different usage scenarios. User interfaces have evolved from command-line to graphical and now include voice-based interaction. Software licensing determines allowed usage and includes options like shareware, freeware, open source, and proprietary licenses.