This article from:
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.
- - 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
-
How the pieces fit together
The code that runs openstreetmap.org is composed of independent components that work together to provide an , , and other bits of functionality.
You don't have to be a guru to get involved. We welcome all sorts of contributions, like documentation, design, testing, and more.
The is the Ruby on Rails application that powers openstreetmap.org; it's where OSM's pages and basic originate. OpenStreetMap's data, "the planet", are stored in with , and rendered into pretty map tiles with . The interface for those tiles — what lets you pan and zoom the map — is powered by .
Internally, and are essential infrastructure for converting to . They work with and other extracts, which let other sites use and distribute OSM data.
Users can add and modify OpenStreetMap data thanks to open-source . chief amongst them and .
Background
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 and 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 for details. There are also mirrors and which help with testing code that interacts with the OSM API.
How to Get Involved
Many of OpenStreetMap's projects use (mirror at ), and so you can simply .
For larger changes, you may want to to do serious testing.
Main Projects
由此可知,OpenStreetMap提供开发者不同开发语言的支持则一目了然。
The OSM website (Ruby)
This does the UI and for the site. The page has plenty of useful information for getting started. Design help is needed here: read for a quickstart guide for designers. New users can also as practice for getting the Rails Port set up. You can also help by .
- Report an issue on or
Desktop map data editor (Java)
JOSM is one of the most popular and powerful OpenStreetMap editors.
New online map data editor (Javascript)
is the newest editor for OpenStreetMap. Users can help by testing & reporting bugs, or tackling issues tagged .
Online map data editor (Actionscript)
Potlatch 2 was the default editor for new OpenStreetMap users. You can also help by .
- Report an issue on or
Desktop map data editor (C++)
The Merkaator project, another great editor for OSM data, is also to support development & travel.
OSM data processing swiss army knife (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 (C)
osm2pgsql a powertool for importing files into databases. Documentation and testing are especially welcome here.
- Report an issue on or
Slippy map library (Javascript)
Provides the general interface. Javascript whizzes can help us make the home page's maps even faster.
Map rendering (C++)
The main backend for the rendering of the maps that are produced from OSM data.