Despite an obvious need to attract more independent software vendors and more third-party applications to help manage VMware-based virtual infrastructures, VMware is using licensing terms to put both its customers and ISVs at risk of license violations every time they use a piece of software not written by VMware.
Most people don't read the fine print of End User License Agreements [EULA] carefully, and with good reason. License terms tend to be overly restrictive, overly detailed and -- as is often demonstrated when the more extreme versions are tested in court -- unenforceable.
Nevertheless, they do form the basis of the legal agreement both customers and ISVs rely on when they work with VMware.
The problem is that the language in the EULA for VMware's software developers kit (SDK) makes it almost impossible to create for-fee software using any of the SDKs provided by VMware.
That makes it almost impossible for end users to buy applications that don't violate their license agreements and -- worse -- stifles development of the third-party applications that are critical to both customers and to VMware's ability to compete with Microsoft.
Yes, there are quite a few ISVs with commercial products out there, as the show floor at VMworld will attest.
But unless each of those ISVs uses a much more permissive license agreement than the one VMware distributes to most users and developers, both the ISVs and their customers could be in for a surprise.
Now I am not an attorney but these terms are just a little too limiting for me:
You may download and make a reasonable number of copies of the Toolkit contents for your personal use solely for the purpose of creating software that communicates with VMware Software ("Developer Software")
This implies that the VI SDK cannot be used to create third-party software. Or at best, that you cannot ship a copy of the VI SDK with your software. It also implies you can never use the VI SDK within the confines of a business because anything you create has to be for your own personal use. Personal has a cut and dry definition: you, yourself as an entity. It does not necessarily mean "a corporation" or any other entity.
Other restrictions include forbidding use of the toolkit "to design or develop anything other than Developer Software." Which is defined as "personal use."