"As an example, a software manufacturer might develop a software library that includes functions to interface to hardware such as a digital camera or a printer." . . . . .