[OSM-dev] Start Contribution
emacsen at gmail.com
Wed Oct 9 16:01:56 UTC 2013
It's a bit more complicated than that- and this really should be
better documented (or if it- easier to find).
You can think of OSM as a series of components which fit in together
and then each have their own purpose.
At the bottom, the lowest level, there is the Postgis database, with
the API schema.
Then on top of that is the website, sometimes called "the rails port".
It's written in Ruby on Rails and handles all the user action on
osm.org and has code for all the OSM editing API (commonly just called
>From there, the rest of the systems are more or less decoupled.
cgimap is a program that handles the most performance sensitive API
calls. It's written in C with an eye towards speed (vs the website
itself, which is in rails).
Then there's the render system. That deserves its own email, but
essentially it's a separate database, and a software stack of it own.
Then there's the geocoder, nominatim. It also deserves its own email,
and it is also a separate database and software stack.
Then there's the editors. Some of them, like iD and Potlach, are web
based, so they live in the website, as far as the user is concerned,
but are maintained by different teams of people. Other editors (like
Josm) run on the desktop, or they run on mobile phones. All the
editors talk to the API.
So when you say you want to work on "interaction"- folks are assuming
you mean the website, but they're not sure if you don't mean one of
More information about the dev