<?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://brooklyn.apache.org">
    <created>2016-02-23</created>
    <license rdf:resource="http://spdx.org/licenses/Apache-2.0" />
    <name>Apache Brooklyn</name>
    <homepage rdf:resource="http://brooklyn.apache.org" />
    <asfext:pmc rdf:resource="https://svn.apache.org/repos/asf/comdev/projects.apache.org/data/committees/brooklyn.rdf" />
    <shortdesc>Apache Brooklyn is a framework for modeling, monitoring, and managing applications through autonomic blueprints.</shortdesc>
    <description>Brooklyn is about deploying and managing applications: composing a full stack for an application;
        deploying to cloud and non-cloud targets; using monitoring tools to collect key health/performance metrics;
        responding to situations such as a failing node; and adding or removing capacity to match demand.</description>
    <bug-database rdf:resource="https://issues.apache.org/jira/browse/BROOKLYN/" />
    <mailing-list rdf:resource="http://brooklyn.apache.org/community/mailing-lists.html" />
    <download-page rdf:resource="http://brooklyn.apache.org/download/index.html" />
    <programming-language>Java</programming-language>
    <category rdf:resource="http://projects.apache.org/category/cloud" />
    <release>
      <Version>
        <name>0.11.0</name>
        <created>2017-05-18</created>
        <revision>0.11.0</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>0.10.0</name>
        <created>2016-12-26</created>
        <revision>0.10.0</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>0.9.0</name>
        <created>2016-04-18</created>
        <revision>0.9.0</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>0.8.0-incubating</name>
        <created>2015-09-14</created>
        <revision>0.8.0-incubating</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>0.7.0-incubating</name>
        <created>2015-07-15</created>
        <revision>0.7.0-incubating</revision>
      </Version>
    </release>
    <repository>
      <GitRepository>
        <location rdf:resource="https://git-wip-us.apache.org/repos/asf/brooklyn.git"/>
        <browse rdf:resource="https://git-wip-us.apache.org/repos/asf?p=brooklyn.git"/>
      </GitRepository>
    </repository>
    <!-- synchronise with: https://projects.apache.org/committee.html?brooklyn -->
    <maintainer> <foaf:Person> <foaf:name>Aled Sage</foaf:name> <foaf:mbox rdf:resource="mailto:aledsage@apache.org"/> </foaf:Person> </maintainer>
    <maintainer> <foaf:Person> <foaf:name>Andrea Turli</foaf:name> <foaf:mbox rdf:resource="mailto:andreaturli@apache.org"/> </foaf:Person> </maintainer>
    <maintainer> <foaf:Person> <foaf:name>Ciprian Ciubotariu</foaf:name> <foaf:mbox rdf:resource="mailto:cipi@apache.org"/> </foaf:Person> </maintainer>
    <maintainer> <foaf:Person> <foaf:name>Duncan Godwin</foaf:name> <foaf:mbox rdf:resource="mailto:drigodwin@apache.org"/> </foaf:Person> </maintainer>
    <maintainer> <foaf:Person> <foaf:name>Geoff Macartney</foaf:name> <foaf:mbox rdf:resource="mailto:geomacy@apache.org"/> </foaf:Person> </maintainer>
    <maintainer> <foaf:Person> <foaf:name>Andrew Kennedy</foaf:name> <foaf:mbox rdf:resource="mailto:grkvlt@apache.org"/> </foaf:Person> </maintainer>
    <maintainer> <foaf:Person> <foaf:name>Hadrian Zbarcea</foaf:name> <foaf:mbox rdf:resource="mailto:hadrian@apache.org"/> </foaf:Person> </maintainer>
    <maintainer> <foaf:Person> <foaf:name>Alex Heneveld</foaf:name> <foaf:mbox rdf:resource="mailto:heneveld@apache.org"/> </foaf:Person> </maintainer>
    <maintainer> <foaf:Person> <foaf:name>Jean-Baptiste Onofré</foaf:name> <foaf:mbox rdf:resource="mailto:jbonofre@apache.org"/> </foaf:Person> </maintainer>
    <maintainer> <foaf:Person> <foaf:name>Mark McKenna</foaf:name> <foaf:mbox rdf:resource="mailto:m4rkmckenna@apache.org"/> </foaf:Person> </maintainer>
    <maintainer> <foaf:Person> <foaf:name>Olivier Lamy</foaf:name> <foaf:mbox rdf:resource="mailto:olamy@apache.org"/> </foaf:Person> </maintainer>
    <maintainer> <foaf:Person> <foaf:name>Richard Downer</foaf:name> <foaf:mbox rdf:resource="mailto:richard@apache.org"/> </foaf:Person> </maintainer>
    <maintainer> <foaf:Person> <foaf:name>Sam Corbett</foaf:name> <foaf:mbox rdf:resource="mailto:sjcorbett@apache.org"/> </foaf:Person> </maintainer>
    <maintainer> <foaf:Person> <foaf:name>Svetoslav Neykov</foaf:name> <foaf:mbox rdf:resource="mailto:svet@apache.org"/> </foaf:Person> </maintainer>
  </Project>
</rdf:RDF>
