<?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/">
<!--
  =======================================================================

   Copyright (c) 2006 The Apache Software Foundation.  
   All rights reserved.

  =======================================================================
-->
  <Project rdf:about="http://tcl.apache.org/rivet/">
    <created>2010-11-03</created>
    <license rdf:resource="http://usefulinc.com/doap/licenses/asl20" />
    <name>Apache Rivet</name>
    <homepage rdf:resource="http://tcl.apache.org/rivet/" />
    <asfext:pmc rdf:resource="http://tcl.apache.org" />
    <shortdesc>Server-side Tcl programming system combining ease of use and power</shortdesc>
    <description>Apache Rivet is a system for creating dynamic web content via the Tcl programming language integrated with Apache Web Server. It is designed to be fast, powerful and extensible, consume few system resources, be easy to learn, and to provide the user with a platform that can also be used for other programming tasks outside the web (GUI's, system administration tasks, text processing, database manipulation, XML, and so on). In order to meet these goals Tcl programming language was chosen to combine with the Apache HTTP Server.
</description>
    <bug-database rdf:resource="https://issues.apache.org/bugzilla/buglist.cgi?quicksearch=Rivet" />
    <mailing-list rdf:resource="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/" />
    <download-page rdf:resource="http://www.apache.org/dyn/closer.cgi/tcl/rivet" />
    <programming-language>Tcl</programming-language>
    <category rdf:resource="http://projects.apache.org/category/web-framework" />
    <release>
      <Version>
        <name>rivet-2.3</name>
        <created>2017-11-11</created>
        <revision>2.3.5</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>rivet-3.0</name>
        <created>2018-07-07</created>
        <revision>3.0.2</revision>
      </Version>
    </release>
    <repository>
      <SVNRepository>
        <location rdf:resource="http://svn.apache.org/repos/asf/tcl/rivet/" />
        <browse rdf:resource="http://svn.apache.org/repos/asf/tcl/rivet/" />
      </SVNRepository>
    </repository>
    <maintainer>
      <foaf:Person>
        <foaf:name>Massimo Manghi</foaf:name>
          <foaf:mbox rdf:resource="mailto:mxmanghi@apache.org" />
      </foaf:Person>
    </maintainer>
  </Project>
</rdf:RDF>
