Software Licensing Agreement: Understanding Terms, Types, and Importance