UDEVGAME LICENSE
Version 2, June 2001

Copyright (c) 2002, David Rosen All rights reserved.

LIMITED USE SOFTWARE LICENSE AGREEMENT

This Limited Use Software License Agreement (the "Agreement") is a legal agreement between you, idevgames.com, and David Rosen. By downloading or purchasing the software material, which includes source code (the "Source Code"), you are agreeing to be bound by the terms of this Agreement. If you do not agree to the terms of this Agreement, promptly destroy the Software.

1. Grant of License.
Developer grants to you the right to use the Software. You have no ownership or proprietary rights in or to the Software. For purposes of this section, "use" means loading the Software into RAM, as well as installation on a hard disk or other storage device. The Software, together with any archive copy thereof, shall be destroyed when no longer used in accordance with this Agreement, or when the right to use the Software is terminated.

2. Permitted Uses.
You may make any modifications to the Software and recompile the Software for your own private use. For educational purposes only, you, the end-user, may use portions of the Source Code (not to exceed 1000 lines of code), such as particular routines, to develop your own software, but may not duplicate the Source Code in its entirety. The limited right referenced in the preceding sentence is hereinafter referred to as "Educational Use." By so exercising the Educational Use right you shall not obtain any ownership, copyright, proprietary or other interest in or to the Source Code, or any portion of the Source Code.

3. Prohibited Uses.
With the exception of the Educational Use right, you may not otherwise use the Software, or any portion of the Software, which includes the Source Code, for commercial gain.

4. Copyright.
The Developer of this Software retains ownership rights to this Software. "idevgames.com" shall retain exclusive distribution rights to this Software. You may not otherwise reproduce, copy or disclose to others, in whole or in any part, the Software. You may not copy the written materials accompanying the Software. You agree to use your best efforts to see that any user of the Software licensed hereunder complies with this Agreement.

5. No Warranties.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
