|OpenStreetMap isn't just open data - it's also open source, and you can help!|
There are two major areas where you can get involved:
- Developing the OpenStreetMap Platform - this includes the OpenStreetMap.org website and related components and services.
- Using OpenStreetMap - you can use OpenStreetMap data together with software and services from our community to build anything you want.
Get In Touch
If you have questions, ideas or just want to meet fellow developers, you can contact the OpenStreetMap development community by using channels listed below.
- #osm-dev channel on the OFTC network
- Mailing Lists
How the pieces fit together
You don't have to be a guru to get involved. We welcome all sorts of contributions, like documentation, design, testing, and more.
The Rails port is the Ruby on Rails application that powers openstreetmap.org; it's where OSM's pages and basic API originate. OpenStreetMap's data, "the planet", are stored in PostgreSQL with PostGIS, and rendered into pretty map tiles with Mapnik. The Slippy Map interface for those tiles — what lets you pan and zoom the map — is powered by Leaflet.
There's plenty to know about OpenStreetMap's style of storing & modifying geodata that will help you get how things work. Read up on the XML schema and Data Primitives if you want to work on data-related tasks.
Also, OpenStreetMap runs on a relatively small server deployment for its size - see our notes on server hardware for details. There are also API v0.6 mirrors and Dev and Test APIs which help with testing code that interacts with the OSM API.
How to Get Involved
For larger changes, you may want to get an account on a development server to do serious testing.
The OSM website Rails Port (Ruby)
This does the UI and API for the site. The Rails port page has plenty of useful information for getting started. Design help is needed here: read Rails_port/UI for a quickstart guide for designers. New users can also review pull requests as practice for getting the Rails Port set up. You can also help by contributing translations.
Desktop map data editor JOSM (Java)
JOSM is one of the most popular and powerful OpenStreetMap editors.
Online map data editor Potlatch 2 (Actionscript)
Potlatch 2 was the default editor for new OpenStreetMap users. You can also help by contributing translations.
Desktop map data editor Merkaartor (C++)
The Merkaator project, another great editor for OSM data, is also accepting donations to support development & travel.
OSM data processing swiss army knife Osmosis (Java)
Osmosis is our swiss army knife for processing OpenStreetMap data. Documentation and testing are especially welcome here.
OSM data importer for rendering or geocoding osm2pgsql (C)
Map rendering Mapnik (C++)
The main backend for the rendering of the maps that are produced from OSM data.