<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent">
%BOOK_ENTITIES;
]>

<!-- Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at
    
    http://www.apache.org/licenses/LICENSE-2.0
    
    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.
-->

<section id="sect-source-gettingrelease">
    <title>Getting the release</title>
    <para>
        You can download the latest &PRODUCT; release from the 
        <ulink url="http://cloudstack.apache.org/downloads.html">
        Apache CloudStack project download page</ulink>. 
    </para>
    <para>Prior releases are available via archive.apache.org as well. See the downloads page for more information on archived releases.</para>
    <para>You'll notice several links under the 'Latest release' section. A link to a file ending in <filename>tar.bz2</filename>, as well as a PGP/GPG signature, MD5, and SHA512 file.</para>
    <itemizedlist>
        <listitem><para>The <filename>tar.bz2</filename> file contains the Bzip2-compressed tarball with the source code.</para></listitem>
        <listitem><para>The <filename>.asc</filename> file is a detached cryptographic signature that can be used to help verify the authenticity of the release.</para></listitem>
        <listitem><para>The <filename>.md5</filename> file is an MD5 hash of the release to aid in verify the validity of the release download.</para></listitem>
        <listitem><para>The <filename>.sha</filename> file is a SHA512 hash of the release to aid in verify the validity of the release download.</para></listitem>
    </itemizedlist>
</section>
