There is not a single form of software licensing agreement. A software license agreement can vary as much as the software to which it refers, and software and software licensing models are constantly changing and evolving. Despite this fluidity, a checklist of software licensing agreements can be a useful tool for both licensees, licensees and their internal stakeholders, whether negotiating a live agreement or preparing a software licensing agreement. A software license is a contract between the entity that created and provided an application, source code or related product and the end user. The license is a text document designed to protect the intellectual property of the software developer and limit any claims that may result from its use. When licensing software, companies should ensure that the licensee is required to compensate them (to be compensated). Compensation would apply to legal costs or costs incurred in the event of damage caused by a violation of the licensee or by the licensee`s non-compliance with the law. A software provider`s maintenance and software support obligations are generally limited by different exclusions and qualifications. For example, vendors generally limit their maintenance and support obligations to relatively recent versions of licensed software and exclude problems caused by software changes, incompatible or defective technology infrastructure, or the use of the software in violation of the current licensing agreement or documentation. Some software providers also limit their obligations to assist problems that can be replicated in the vendor`s technical environment.