# openstreetmap-website

> open-source Ruby on Rails application that powers the website and REST API of OpenStreetMap and similar projects

**Wikidata**: [Q115259353](https://www.wikidata.org/wiki/Q115259353)  
**Source**: https://4ort.xyz/entity/openstreetmap-website

## Summary
openstreetmap-website is an open-source Ruby on Rails application that powers the main website and REST API for OpenStreetMap. Also known as the "Rails port," it serves as the server-side software enabling users to interact with the OpenStreetMap database through a web browser, supporting similar collaborative mapping projects as well.

## Key Facts
- **Inception:** July 28, 2006, created by Steve Coast
- **License:** GNU General Public License, version 2.0 (GPL-2.0)
- **Primary Technology:** Ruby on Rails framework
- **Instance of:** Collaborative software, web application, server software
- **Source Repository:** https://github.com/openstreetmap/openstreetmap-website
- **Aliases:** Rails port, osm-website, OpenStreetMap website
- **Current Maintainer:** Andy Allan
- **Named After:** www.openstreetmap.org (the website it powers, though distinct from the application itself)
- **Dependencies:** Ruby on Rails, Leaflet (since 2012), iD editor, MapLibre GL JS (planned integration July 2025), OpenLayers (deprecated 2012)
- **Copyright Status:** Copyrighted (licensed under GPL-2.0)

## FAQs

### Q: What is the difference between openstreetmap-website and OpenStreetMap?
A: openstreetmap-website (the "Rails port") is the open-source server application that powers www.openstreetmap.org. OpenStreetMap is the broader collaborative mapping project, while openstreetmap-website is specifically the software codebase running the website and API infrastructure.

### Q: Can anyone use openstreetmap-website for their own mapping project?
A: Yes. As open-source software under the GNU General Public License v2.0, openstreetmap-website can be deployed by anyone to create similar collaborative mapping platforms. The application is designed to power OpenStreetMap and similar projects.

### Q: Who maintains openstreetmap-website?
A: Andy Allan is listed as the current maintainer of the project. The original creator is Steve Coast, who founded the project on July 28, 2006.

### Q: Where can developers report issues or contribute to openstreetmap-website?
A: Issues can be reported at https://github.com/openstreetmap/openstreetmap-website/issues/. Developer discussions occur on the rails-dev mailing list (rails-dev@openstreetmap.org) and the IRC channel #osm-dev on irc.oftc.net.

### Q: What mapping libraries does openstreetmap-website use?
A: The application currently depends on Leaflet (integrated November 23, 2012), the iD editor, and Ruby on Rails. MapLibre GL JS integration is planned for July 2025. OpenLayers was previously used but was deprecated on November 23, 2012.

## Why It Matters
openstreetmap-website serves as the foundational software infrastructure for OpenStreetMap, one of the world's largest collaborative mapping projects. As the Rails port, it provides the essential web application and REST API that enables millions of users to contribute geospatial data, edit maps, and access OpenStreetMap's vast geographic database. Its open-source nature under the GPL-2.0 license has enabled the broader mapping community to adopt and adapt the software for similar collaborative mapping initiatives worldwide.

The application represents a critical piece of volunteer-driven geospatial infrastructure, transforming what could have been proprietary mapping technology into a public commons. By providing both a user-facing website and a developer-accessible REST API, openstreetmap-website bridges the gap between casual map contributors and professional developers building location-based services. Its longevity since 2006 and continued active maintenance demonstrate its essential role in the OpenStreetMap ecosystem, while its modular architecture with components like Leaflet and iD editor integration showcases thoughtful software design in the collaborative mapping space.

## Notable For
- **First and Primary OpenStreetMap Server Application:** Created in 2006 by Steve Coast, it has served as the core website infrastructure since OpenStreetMap's early days
- **Dual-Purpose Architecture:** Powers both the public-facing website and the REST API, enabling both human and programmatic access to OpenStreetMap data
- **Reusable Open-Source Platform:** Licensed under GPL-2.0, allowing any organization to deploy their own collaborative mapping platform
- **Long-Term Active Maintenance:** Continuously maintained since 2006 with ongoing updates, including planned 2025 MapLibre GL JS integration
- **Multi-Language Wiki Documentation:** Documented in English, French, Ukrainian, and other languages via the OpenStreetMap wiki

## Body

### History and Development
openstreetmap-website was created by Steve Coast on July 28, 2006, serving as the original web application for the nascent OpenStreetMap project. The application was initially called the "Rails port" (a name still used as an alias) and was specifically designed to run on the Ruby on Rails framework. The project has operated under the GNU General Public License version 2.0 since its inception, ensuring its open-source availability for the mapping community.

### Technical Architecture
Built as a Ruby on Rails application, openstreetmap-website functions as a web application, server software, and collaborative platform. The application uses a browser-based client model, with the web browser serving as the user interface. Key technical components include:

- **Programming Languages:** Ruby (primary, via Rails framework), JavaScript (Q2005)
- **Frontend Mapping Libraries:**
  - Leaflet (active, integrated November 23, 2012)
  - OpenLayers (deprecated November 23, 2012)
  - MapLibre GL JS (integration planned July 22, 2025)
- **Editors:** iD editor integration (preferred component)
- **Map Styling:** Standard OSM style included as a component

### Features and Capabilities
The application provides two primary interfaces:
1. **Web Interface:** Browser-based map viewing and editing for general users
2. **REST API:** Programmatic access for developers and third-party applications

The software is classified as collaborative software, enabling multiple users to contribute to a shared mapping database simultaneously.

### Community and Governance
Development coordination occurs through multiple channels:
- **Source Code:** Hosted on GitHub at https://github.com/openstreetmap/openstreetmap-website
- **Issue Tracking:** GitHub Issues (https://github.com/openstreetmap/openstreetmap-website/issues/)
- **IRC Channel:** #osm-dev on irc.oftc.net
- **Mailing List:** rails-dev@openstreetmap.org (archives at https://lists.openstreetmap.org/listinfo/rails-dev)
- **Translations:** Managed via translatewiki.net

The project employs continuous integration for software quality assurance, with historical CI configuration via Travis CI.

### Documentation and Resources
Comprehensive documentation is maintained on the OpenStreetMap wiki in multiple languages:
- English: https://wiki.openstreetmap.org/wiki/Openstreetmap-website
- French: https://wiki.openstreetmap.org/wiki/FR:Openstreetmap-website
- Ukrainian: https://wiki.openstreetmap.org/wiki/Uk:Openstreetmap-website

## References

1. [Source](https://github.com/openstreetmap/openstreetmap-website/commit/06f3473d1c64d2e0a1ecc6f1a9c4679a52bc4761)
2. [Source](https://github.com/openstreetmap/openstreetmap-website/blob/17e87ab67a88c165a11d67a4a8ecafa9bd7a376f/LICENSE)
3. [GitHub](https://github.com/openstreetmap/openstreetmap-website)
4. [Source](https://github.com/openstreetmap/openstreetmap-website/pull/121#event-30250069)
5. [Source](https://github.com/openstreetmap/openstreetmap-website/pull/6137#event-18757743970)
6. [Source](https://github.com/openstreetmap/openstreetmap-website/commit/293ce4880efcada440634b19966d1c51bf2cee97)