******************************* Apache Trafodion **************************

Apache Trafodion is a webscale SQL-on-Hadoop solution enabling transactional or 
operational workloads on Hadoop.  The name "Trafodion" (the Welsh word for 
transactions, pronounced "Tra-vod-eee-on") was chosen specifically to emphasize 
the differentiation that Trafodion provides in closing a critical gap in the 
Hadoop ecosystem. Trafodion builds on the scalability, elasticity, and 
flexibility of Hadoop. Trafodion extends Hadoop to provide guaranteed 
transactional integrity, enabling new kinds of big data applications to run on 
Hadoop.

To get started using Apache Trafodion: 

  - documentation for this release can be viewed on the Apache Trafodion 
    wiki page: 
      http://trafodion.apache.org/documentation.html

  - release notes describing changes for particular releases can be viewed:
      http://trafodion.apache.org/release-notes.html

  - the latest Apache Trafodion can be downloaded from the Apache
    distribution site or accessed from git

    - download site:
      https://dist.apache.org/repos/dist/release/trafodion

    - git site:
      git@github.com:apache/trafodion  

  - To build and try out Apache Trafodion, please following our build 
    instructions as described:
      https://cwiki.apache.org/confluence/display/TRAFODION/Trafodion+Contributor+Guide

=============================
Cryptographic software notice
=============================

This distribution includes cryptographic software. The country in which you 
currently reside may have restrictions on the import, possession, use, and/or 
re-export to another country, of encryption software. BEFORE using any 
encryption software, please check your country's laws, regulations and policies 
concerning the import, possession, or use, and re-export of encryption software, 
to see if this is permitted. See <http://www.wassenaar.org/> for more 
information.  The U.S. Government Department of Commerce, Bureau of Industry and 
Security (BIS), has classified this software as Export Commodity Control Number
(ECCN) 5D002.C.1, which includes information security software using or 
performing cryptographic functions with asymmetric algorithms. The form and 
manner of this Apache Software Foundation distribution makes it eligible for 
export under the License Exception ENC Technology Software Unrestricted (TSU) 
exception (see the BIS Export Administration Regulations, Section 740.13) for 
both object code and source code.

The product links OpenSSL libraries which can be used by the product to 
encode and decode passwords through the connectivity interface.

Apache Trafodion is distributed under the terms of the Apache License, Version 2.0.
