******************************* Apache Trafodion (incubating) **************************

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.incubator.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 Apache incubator
    distribution site or accessed from git

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

    - git site:
      git@github.com:apache/incubator-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.
