<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl"?>
<rdf:RDF xml:lang="en"
         xmlns="http://usefulinc.com/ns/doap#" 
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
         xmlns:asfext="http://projects.apache.org/ns/asfext#"
         xmlns:foaf="http://xmlns.com/foaf/0.1/">
<!--
    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.
-->
  <Project rdf:about="http://vcl.apache.org">
    <created>2012-10-01</created>
    <license rdf:resource="http://usefulinc.com/doap/licenses/asl20" />
    <name>Apache VCL</name>
    <homepage rdf:resource="http://vcl.apache.org" />
    <asfext:pmc rdf:resource="http://vcl.apache.org" />
    <shortdesc>A cloud computing platform for provisioning and brokering access to dedicated remote compute resources.</shortdesc>
    <description>VCL is a modular cloud computing platform which dynamically provisions and brokers remote access to compute resources including virtual machines, bare-metal computers, and resources in other cloud platforms. A self-service web portal is used to request resources and for administration.</description>
    <bug-database rdf:resource="https://issues.apache.org/jira/browse/VCL" />
    <mailing-list rdf:resource="http://vcl.apache.org/comm/index.html#mail-list" />
    <download-page rdf:resource="http://vcl.apache.org/downloads/download.cgi" />
    <programming-language>BASH</programming-language>
    <programming-language>JavaScript</programming-language>
    <programming-language>Perl</programming-language>
    <programming-language>PHP</programming-language>
    <programming-language>SQL</programming-language>
    <category rdf:resource="http://projects.apache.org/category/cloud" />
    <release>
      <Version>
        <name>Apache VCL 2.5</name>
        <created>2017-07-27</created>
        <revision>2.5</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache VCL 2.4.2</name>
        <created>2015-04-16</created>
        <revision>2.4.2</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache VCL 2.3.2</name>
        <created>2013-03-25</created>
        <revision>2.3.2</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache VCL 2.3.1</name>
        <created>2012-12-20</created>
        <revision>2.3.1</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache VCL 2.3</name>
        <created>2012-07-20</created>
        <revision>2.3.0</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache VCL 2.2.1</name>
        <created>2011-04-08</created>
        <revision>2.2.1</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache VCL 2.2</name>
        <created>2010-10-05</created>
        <revision>2.2.0</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache VCL 2.1</name>
        <created>2009-12-04</created>
        <revision>2.1.0</revision>
      </Version>
    </release>
    <repository>
      <GitRepository>
        <location rdf:resource="https://git-wip-us.apache.org/repos/asf/vcl"/>
        <browse rdf:resource="https://git-wip-us.apache.org/repos/asf/vcl"/>
      </GitRepository>
    </repository>
  </Project>
</rdf:RDF>
