<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl"?>
<!--
    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.
-->
<rdf:RDF xml:lang="en"
         xmlns="http://usefulinc.com/ns/doap#"
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:owl="http://www.w3.org/2002/07/owl#"
         xmlns:asfext="http://projects.apache.org/ns/asfext#"
         xmlns:foaf="http://xmlns.com/foaf/0.1/">

  <Project rdf:about="https://freemarker.apache.org/">
    <name>Apache FreeMarker</name>
    <homepage rdf:resource="https://freemarker.apache.org" />
    <created>2015-09-02</created><!-- When FreeMaker entered ASF, this must be later changed to real data of "TLPisation" -->
    <shortdesc xml:lang="en">FreeMarker is a template engine, i.e. a generic tool to generate text output based on templates. FreeMarker is implemented in Java as a class library for programmers.</shortdesc>
    <description>
          Apache FreeMarker is a template engine: a Java library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data.
          Templates are written in the FreeMarker Template Language (FTL), which is a simple, specialized language (not a full-blown programming language).
          Usually, a general-purpose programming language (like Java) is used to prepare the data (issue database queries, do business calculations). Then, Apache FreeMarker displays
          that prepared data using templates. In the template you are focusing on how to present the data, and outside the template you are focusing on what data to present.
    </description>

    <programming-language>Java</programming-language>
    <category rdf:resource="http://projects.apache.org/category/Java" /><!-- Categories are possibly to be modified -->
    <category rdf:resource="http://projects.apache.org/category/html" />
    <category rdf:resource="http://projects.apache.org/category/templating" />
    <category rdf:resource="http://projects.apache.org/category/content" />

    <license rdf:resource="https://www.apache.org/licenses/LICENSE-2.0" />
    <asfext:pmc rdf:resource="http://freemarker.apache.org" />

    <bug-database rdf:resource="https://issues.apache.org/jira/browse/FREEMARKER" />
    <mailing-list rdf:resource="https://freemarker.apache.org/mailing-lists.html" />
    <download-page rdf:resource="https://freemarker.apache.org/freemarkerdownload.html" />

    <repository>
      <GitRepository><!-- not sure about the GitRepository tag -->
        <location rdf:resource="git://git.apache.org/freemarker.git"/>
        <browse rdf:resource="https://github.com/apache/freemarker"/>
      </GitRepository>
    </repository>

    <developer>
      <foaf:Person>
        <foaf:name>Dániel Dékány</foaf:name>
        <foaf:nick>ddekany</foaf:nick>
        <foaf:mbox rdf:resource="mailto:ddekany@apache.org"/>
      </foaf:Person>
    </developer>
    <developer>
      <foaf:Person>
        <foaf:name>Nan Lei</foaf:name>
        <foaf:nick>nanlei</foaf:nick>
        <foaf:mbox rdf:resource="mailto:nanlei@apache.org"/>
      </foaf:Person>
    </developer>
    <developer>
      <foaf:Person>
        <foaf:name>Woonsan Ko</foaf:name>
        <foaf:nick>woonsan</foaf:nick>
        <foaf:mbox rdf:resource="mailto:woonsan@apache.org"/>
      </foaf:Person>
    </developer>
    <developer>
      <foaf:Person>
        <foaf:name>Jacopo Cappellato</foaf:name>
        <foaf:nick>jacopoc</foaf:nick>
        <foaf:mbox rdf:resource="mailto:jacopoc@apache.org"/>
      </foaf:Person>
    </developer>
    <developer>
      <foaf:Person>
        <foaf:name>David E. Jones</foaf:name>
        <foaf:nick>jonesde</foaf:nick>
        <foaf:mbox rdf:resource="mailto:jonesde@apache.org"/>
      </foaf:Person>
    </developer>
    <developer>
      <foaf:Person>
        <foaf:name>Sergio Fernández</foaf:name>
        <foaf:nick>wikier</foaf:nick>
        <foaf:mbox rdf:resource="mailto:wikier@apache.org"/>
        <foaf:homepage rdf:resource="https://www.wikier.org"/>
        <owl:sameAs rdf:resource="http://www.wikier.org/foaf#wikier" />
      </foaf:Person>
    </developer>
    <developer>
      <foaf:Person>
        <foaf:name>Jacques Le Roux</foaf:name>
        <foaf:nick>jleroux</foaf:nick>
        <foaf:mbox rdf:resource="mailto:jleroux@apache.org"/>
      </foaf:Person>
    </developer>

    <release>
        <Version>
            <name>Apache FreeMarker</name>
            <created>2023-01-14</created>
            <revision>2.3.32</revision>
        </Version>
    </release>
    <release>
        <Version>
            <name>Apache FreeMarker</name>
            <created>2021-02-16</created>
            <revision>2.3.31</revision>
        </Version>
    </release>
    <release>
        <Version>
            <name>Apache FreeMarker</name>
            <created>2020-03-05</created>
            <revision>2.3.30</revision>
        </Version>
    </release>
    <release>
        <Version>
            <name>Apache FreeMarker</name>
            <created>2019-08-17</created>
            <revision>2.3.29</revision>
        </Version>
    </release>
    <release>
        <Version>
            <name>Apache FreeMarker</name>
            <created>2018-04-04</created>
            <revision>2.3.28</revision>
        </Version>
    </release>
    <release>
        <Version>
            <name>Apache FreeMarker</name>
            <created>2017-11-03</created>
            <revision>2.3.27-incubating</revision>
        </Version>
    </release>
    <release>
        <Version>
            <name>Apache FreeMarker</name>
            <created>2017-03-25</created>
            <revision>2.3.26-incubating</revision>
        </Version>
    </release>
    <release>
        <Version>
            <name>Apache FreeMarker</name>
            <created>2016-06-26</created>
            <revision>2.3.25-incubating</revision>
        </Version>
    </release>
    <release>
        <Version>
            <name>Apache FreeMarker</name>
            <created>2016-03-28</created>
            <revision>2.3.24-incubating</revision>
        </Version>
    </release>

  </Project>

</rdf:RDF>
