<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
   <TITLE></TITLE>
   <META NAME="Author" CONTENT="">
   <META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (Win95; I) [Netscape]">
</HEAD>
<BODY bgcolor="#ffffdd">

<P><FONT SIZE=+2>Glimpse/Webglimpse Software Licensing Agreement </FONT></P>

<P>THIS SOFTWARE LICENSING AND ROYALTY AGREEMENT (this &quot;Agreement&quot;)
is made by and between Internet WorkShop (hereinafter &quot;Licensor&quot;),
as per resale license granted by The Arizona Board of Regents for The University
of Arizona, and &quot;Licensee&quot;, a company or individual who has purchased
the SOFTWARE from Internet Workshop.</P>

<P>WITNESSETH:</P>

<P>WHEREAS, Licensor is the author of, or has acquired the rights to, certain
computer software programs, documentation, and related written materials
(collectively &quot;Software&quot;) specifically Glimpse and Webglimpse,
and Licensee desires to acquire a right and license to use Licensor's Software
under the terms and conditions set forth herein.</P>

<P>NOW, THEREFORE, in consideration of the mutual covenants and premises
herein contained, the Parties hereto agree as follows:</P>

<P>I. LICENSE </P>

<P>1.1 Scope of License Grant. In consideration of the agreement of Licensee
to pay royalties hereunder, Licensor hereby grants to Licensee the nonexclusive,
nontransferable right and license to use Licensor's Software subject to
the terms and conditions of this agreement. The Software is licensed for
use solely for Licensee's internal applications in the normal course of
Licensee's business. No rights to sublicense or market the Software or
Documentation are granted. All rights not specifically granted to Licensee
by this license shall remain in Licensor.</P>

<P>1.4 Right to Copy. Licensee shall not copy the Software, in whole or
in part, except as expressly provided in this section. The Software may
be copied in whole or in part, in printed or machine-readable form, for
archival storage or emergency restart purposes, or to replace a worn copy.</P>

<P>1.5 If Licensee obtains source code under this agreement, Licensee agrees
it will not use the source code or any associated Licensor proprietary
information for any purpose other than Licensee's internal needs and in
particular not for the purpose of development or distribution of any product
or program similar to, or competitive with, the Software. </P>

<P>II. WARRANTY</P>

<P>2.1 LICENSOR MAKES NO WARRANTIES, EXPRESS OR IMPLIED, AND SPECIFICALLY
DISCLAIMS OTHER WARRANTIES, INCLUDING (WITHOUT LIMITATION) ANY WARRANTY
OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL
LICENSOR BE LIABLE FOR ANY INCIDENTAL, INDIRECT, SPECIAL OR CONSEQUENTIAL
DAMAGES, OR FOR LOST PROFITS, OR FOR LOST DATA OR DOWNTIME, WHETHER OR
NOT LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</P>

<P>2.2 LICENSEE AGREES THAT ITS SOLE REMEDY AGAINST LICENSOR OR ITS REPRESENTATIVES
FOR LOSS OR DAMAGE CAUSED BY ANY DEFECT OR FAILURE OF THE SOFTWARE, REGARDLESS
OF THE FORM OF ACTION, WHETHER IN CONTRACT, TORT, INCLUDING NEGLIGENCE,
STRICT LIABILITY OR OTHERWISE, SHALL BE (I) THE REPAIR OR REPLACEMENT OF
THE SOFTWARE OR (II) IF SUCH REPAIR CANNOT BE MADE OR AN EQUIVALENT REPLACEMENT
CANNOT BE PROVIDED, THE REFUND OF AMOUNTS PREVIOUSLY PAID BY LICENSEE.</P>

<P>III. OPERATING ENVIRONMENT</P>

<P>3.1 This Agreement is a [CPU, Site or per-Seat] license.</P>

<P>3.2 In the event this Agreement pertains to a CPU license:</P>

<P>3.2.1 Licensee shall have the right to use the Software only on a single
designated single central processing unit or mainframe computer and its
associated peripheral units. </P>

<P>If Licensee has purchased a single-domain license, the Software shall
be made accessible via a single IP address and/or domain name. Unlimited
end users may access the Software through the single central processing
unit where it is running. If licensee has purchased a 10-domain or 100-domain
license, up to that number of additional IP addresses or Virtual Domains
may be configured for use with the Software. Other numbers of domains may
be agreed upon separately by the parties.</P>

<P>3.3 In the event this Agreement pertains to a Site license, Licensee
has the right to use the Software on any processor or mainframe computer
and its associated peripheral equipment owned or operated by Licensee at
a single geographic location.</P>

<P>3.4 In the event this Agreement pertains to a per-Seat license, Licensee
has the right for a single user to use the software on a single computer
per Seat purchased. In this case the Software will not be made available
to additional users via Intranet or Internet, but will be used locally
by each licensed user.</P>

<P>IV. ROYALTIES AND PAYMENTS</P>

<P>4.1 This agreement takes effect and is executed only upon receipt of
full Payment by Licensor from Licensee. The amount shall be as according
to the published schedule on the Licensor's website, http://webglimpse.net,
or by separate agreement between Licensor and Licensee.</P>


<P>V. TERM AND TERMINATION</P>

<P>7.1 Discretionary Termination by Licensee. Licensee, at its option,
shall have the right to terminate this Agreement with respect to any license
or right granted herein at any time and from time to time with respect
to any of the Licensor Software. Any such termination shall be made by
written notice to Licensor and shall become effective 90 days after giving
such notice. If such termination is made in writing within 60 days of receiving
access to Software, Licensor shall refund amounts paid by Licensee to purchase
Software. Any amounts paid by Licensee for support or services shall not
be refunded.</P>

<P>7.2 Discretionary Termination by Licensor. Licensor, at its option,
shall have the right to terminate this Agreement within 60 days of execution,
with respect to any license or right granted herein with respect to any
of the Licensor Software. Any such termination shall be made by written
notice to Licensee and shall become effective 90 days after giving such
notice. If such termination is made by Licensor, Licensor shall refund
all amounts paid by Licensee in relation to Software. </P>

<P>VI. GENERAL</P>

<P>5.1 Governing Law and Arbitration. The validity, construction, and performance
of this Agreement shall be governed by the substantive laws of Arizona.
The parties agree that any dispute arising under this agreement shall be
resolved by arbitration pursuant to the Arizona Uniform Rules of Procedure
for Arbitration, and the location of arbitration shall be Tucson, Arizona.
The decision of the arbitrator(s) shall be final.</P>

<P>5.2 Conflict of Interest. This Agreement is subject to the provisions
of A.R.S. 38-511 and the State of Arizona may cancel this Contract if any
person significantly involved in negotiating, drafting, securing or obtaining
this Contract for or on behalf of the Arizona Board of Regents becomes
an employee in any capacity of any other party or a consultant to any other
party with reference to the subject matter of this Contract while the Contract
or any extension hereof is in effect.</P>

<P>5.3 Non-discrimination. The parties agree to be bound by applicable
state and federal rules governing Equal Employment Opportunity and Non-Discrimination.</P>

</BODY>
</HTML>
