{% extends "maposmatic/base.html" %}

{% comment %}
 coding: utf-8

 maposmatic, the web front-end of the MapOSMatic city map generation system
 Copyright (C) 2012  David Decotigny
 Copyright (C) 2012  Frédéric Lehobey
 Copyright (C) 2012  Pierre Mauduit
 Copyright (C) 2012  David Mentré
 Copyright (C) 2012  Maxime Petazzoni
 Copyright (C) 2012  Thomas Petazzoni
 Copyright (C) 2012  Gaël Utard

 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU Affero General Public License as
 published by the Free Software Foundation, either version 3 of the
 License, or any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU Affero General Public License for more details.

 You should have received a copy of the GNU Affero General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
{% endcomment %}
{% load i18n %}
{% load extratags %}

{% block body-class %}about{% endblock %}
{% block menu-about %}active{% endblock %}

{% block title %}{% trans "About" %}{% endblock %}
{% block page %}
<h1>{% trans "About" %}</h1>
<h2>{% trans "History" %}</h2>

<p>
{% blocktrans %}MapOSMatic has been started thanks to an idea of
Gilles Lamiral, an <a
href="http://www.openstreetmap.org">OpenStreetMap</a> and free
software contributor of Rennes area, France. From his idea, a group of
crazy <a
href="http://en.wikipedia.org/wiki/Hacker_(programmer_subculture)">hackers</a>
met together during a one-week <em>Hackfest</em> in August 2009 and
brought the idea of Gilles Lamiral to life by writing the code and
named the project <strong>MapOSMatic</strong>. The group of crazy
hackers would like to thank Gilles for sharing his bright
idea!{% endblocktrans %}
</p>

<p>
{% blocktrans %}Of course, MapOSMatic is fully free software,
licensed under the <a 
href="http://www.fsf.org/licensing/licenses/agpl-3.0.html">AGPLv3</a>.
{% endblocktrans %}
</p>


<h2>{% trans "How does it work?" %}</h2>

<p>
{% blocktrans %}On our server, we run a <a
href="http://www.postgresql.org">PostgreSQL</a> server, with the <a
href="http://postgis.refractions.net">PostGIS</a> extension. In this
PostgreSQL server, we have loaded the <a
href="http://wiki.openstreetmap.org/wiki/Planet.osm">OpenStreetMap
data for the whole world</a> using the <a
href="http://wiki.openstreetmap.org/wiki/Osm2pgsql">osm2pgsql</a>
tool. The same tool is also used to apply <a
href="http://planet.openstreetmap.org/daily/">daily differences</a> of
the database, which allows to keep it up to date with the new
contributions of OpenStreetMap users.{% endblocktrans %}
</p>

<p>
{% blocktrans %}For the map rendering, we use the
famous <a href="http://www.mapnik.org">Mapnik</a> with the OpenStreetMap
stylesheet
available <a href="http://svn.openstreetmap.org/applications/rendering/mapnik">in
OpenStreetMap Subversion repository</a>. Using Mapnik
and <a href="http://cairographics.org/pycairo/">Cairo</a>, we
built <i>OCitySMap</i>, a Python module that:{% endblocktrans %}
</p>

<ul>
  <li>{% blocktrans %}Renders the map using OpenStreetMap data and the
  OpenStreetMap Mapnik stylesheet;{% endblocktrans %}</li>
  <li>{% blocktrans %}Renders on top of the map, using Mapnik, the grid
  of 500 meters squares, the labels of the squares, and a few other
  informations on the map (copyright, scale,
  etc.);{% endblocktrans %}</li>
  <li>{% blocktrans %}Greys out all the area outside the city if we find
  its administrative boundary;{% endblocktrans %}</li>
  <li>{% blocktrans %}Renders an index of the streets, based on
  OpenStreetMap data and the intersection of the streets with the
  squares on the map.{% endblocktrans %}</li>
</ul>

<p>
{% blocktrans %}This Python module can be used through a command-line
tool provided with OCitySMap, so everyone can run its own city-map
rendering suite. However, as the installation of the different
components is quite complicated, a small web service has been created
on top of it so that end-users can easily generate and use
OpenStreetMap city maps.{% endblocktrans %}
</p>

<p>
{% blocktrans %}This web service has been called <i>MapOSMatic</i>,
like <i>map-o-matic</i> but with a reference to OpenStreetMap (OSM). The
web service is written in Python
using <a href="http://www.djangoproject.com">Django</a>. It is
responsible for storing the rendering requests and displaying the result
of these requests. The rendering itself takes place asynchronously
through the <i>maposmaticd</i> daemon. This daemon does only one
rendering at a time, which is very important because of the CPU and I/O
intensive nature of the map rendering process.{% endblocktrans %}
</p>

<p>
{% blocktrans %}For the city search engine, we use the wonderful <a 
href="http://nominatim.openstreetmap.org">Nominatim</a> service. This
service made it really simple to provide a nice search engine that
allows to select between multiple cities of the same name, by
providing informations on the city location.{% endblocktrans %}
</p>


<h2>{% trans "Contributing" %}</h2>

<p>
{% blocktrans %}As stated above, both <i>OCitySMap</i> and
<i>MapOSMatic</i> are fully free software, so you're invited to
contribute. Here are the few starting points to help
us:{% endblocktrans %}
</p>

<ul>
  <li>{% blocktrans %}The
  <a href="http://wiki.maposmatic.org">MapOSMatic Wiki</a>,
  which contains valuable technical information and documents about
  MapOSMatic;{% endblocktrans %}</li>
  <li>{% blocktrans %}The <a
  href="https://savannah.nongnu.org/projects/maposmatic/">project on
  Savannah</a>;{% endblocktrans %}</li>
  <li>{% blocktrans %}The <a
  href="http://lists.nongnu.org/mailman/listinfo/maposmatic-dev">development
  mailing-list</a>;{% endblocktrans %}</li>
  <li>{% blocktrans %}The IRC channel <tt>#maposmatic</tt> on
  Freenode;{% endblocktrans %}</li>
  <li>{% blocktrans %}The <a
  href="http://git.savannah.gnu.org/cgit/maposmatic/ocitysmap.git">OCitySMap
  Git repository</a>, which can be cloned using <tt>git clone
  git://git.sv.gnu.org/maposmatic/ocitysmap.git</tt>;{% endblocktrans %}</li>
  <li>{% blocktrans %}The <a
  href="http://git.savannah.gnu.org/cgit/maposmatic.git">MapOSMatic
  Git repository</a>, which can be cloned using
  <tt>git clone git://git.sv.gnu.org/maposmatic.git</tt>;{% endblocktrans %}</li>
  <li>{% blocktrans %}<a
  href="https://savannah.nongnu.org/task/?group=maposmatic">TODO-list
  and ideas</a>.{% endblocktrans %}</li>
</ul>

<h2>{% trans "Contributors" %}</h2>

<table class="table table-striped table-condensed">
  <thead>
    <tr><th width="25%">{% trans "Core team" %}</th><th></th></tr>
  </thead>
  <tbody>
    <tr><td>David Decotigny</td><td>{% trans "Developer" %}</td></tr>
    <tr><td>Frédéric Lehobey</td><td>{% trans "Developer" %}</td></tr>
    <tr><td>Étienne Loks</td><td>{% trans "Developer" %}</td></tr>
    <tr><td>Pierre Mauduit</td><td>{% trans "Developer and Mapnik stylesheets" %}</td></tr>
    <tr><td>David Mentré</td><td>{% trans "Developer" %}</td></tr>
    <tr><td>Maxime Petazzoni</td><td>{% trans "Developer, system administration, GIS database maintenance and site design" %}</td></tr>
    <tr><td>Thomas Petazzoni</td><td>{% trans "Developer, treasurer" %}</td></tr>
    <tr><td>Gaël Utard</td><td>{% trans "Developer" %}</td></tr>
  </tbody>
</table>

<table class="table table-striped table-condensed">
  <thead>
    <tr><th width="25%">{% trans "Other contributors" %}</th><th></th></tr>
  </thead>
  <tbody>
    <tr><td>Malenki</td><td>{% trans "German translation" %}</td></tr>
    <tr><td>Simone Cortesi</td><td>{% trans "Italian translation" %}</td></tr>
    <tr><td>Joan Montané</td><td>{% trans "Catalan translation" %}</td></tr>
    <tr><td>Konstantin Mochalov</td><td>{% trans "Russian translation" %}</td></tr>
    <tr><td>Bassem Jarkas</td><td>{% trans "Arabic translation" %}</td></tr>
    <tr><td>Arlindo Pereira</td><td>{% trans "Brasilian portuguese translation" %}</td></tr>
    <tr><td>Rodrigo de Avila</td><td>{% trans "Brasilian portuguese translation" %}</td></tr>
    <tr><td>Esben Damgaard</td><td>{% trans "Danish translation" %}</td></tr>
    <tr><td>Jeroen van Rijn</td><td>{% trans "Dutch translation" %}</td></tr>
    <tr><td>Marjan Vrban</td><td>{% trans "Croatian translation" %}</td></tr>
    <tr><td>Łukasz Jernaś</td><td>{% trans "Polish translation" %}</td></tr>
    <tr><td>Jeff Haack</td><td>{% trans "Indonesian translation" %}</td></tr>
    <tr><td>Hans F. Nordhaug</td><td>{% trans "Norwegian bokmål translation" %}</td></tr>
    <tr><td>Guttorm Flatabø</td><td>{% trans "Norwegian bokmål translation" %}, {%trans "Norwegian nynorsk translation" %}</td></tr>
    <tr><td>Hakan Tandogan</td><td>{% trans "Turkish translation" %}, {% trans "Translation automation" %}</td></tr>
    <tr><td>Chingis</td><td>{% trans "Kirgyz translation" %}</td></tr>
    <tr><td>Sylvain Collilieux</td><td>{% trans "Printable stylesheet" %}</td></tr>
  </tbody>
</table>
{% endblock %}
