Developers Guide

This page explains how to create a patch, modify the core JOSM application or existing plugins.

At least basic Java programming skills are necessary. See WikiStart how you could improve JOSM without Java skills.

Source code and JOSM builds

Developer guidelines



IntelliJ IDEA

Some developers are using IntelliJ IDEA for development. JetBrains supports open source projects by granting developers free licenses.


add YourKit logo to get free open source license as per JOSM core developers are using the YourKit Java Profiler, as we found other tools lacking required functionality for profiling. YourKit supports open source projects by granting developers free licenses.

To enable the YourKit Java agent, add the following JVM parameter:



VisualVM may be used to find memory leaks or generate heap dumps from a josm instance running concurrently. Heap dumps can be structurally examined. VisualVM organizes the dump data e.g. by number and type of objects, memory used and cpu time consumed in an explorable tree view. Heap dump and garbage collection of the target instance is requestable using button clicks. Be aware that the default configuration of the memory sampler will sample VisualVM generated objects as well, which may be confused as a memory leak. The memory profiler can be set to profile specific classes only, it tracks allocations once started.

If an autonomous instance of josm should be debuggable from within eclipse at the same time, command line parameters must be supplied to open a transport socket that the debugger can connect to:

# run JOSM with remote debug options; connect a debugger to and port 9988
java -agentlib:jdwp=transport=dt_socket,address=,server=y,suspend=n -Xmx1200m -jar josm-latest.jar

This is not necessary if the internals of JOSM are to be explored by VisualVM exclusively.

JOSM core

JOSM plugins



Dirk Stöcker is currently the lead maintainer of JOSM. Developers of JOSM with SVN commit privileges active in the past several months include:

Trac usernameName
Don-vip Vincent Privat
Klumbumbus Stefan Volke
simon04 Simon Legner
stoecker Dirk Stöcker
wiktorn Wiktor Niesiobędzki
Upliner Upliner Mikhalych
GerdP Gerd Petermann

Immanuel Scholz was the original creator of JOSM, and previous maintainers include Frederik Ramm.

For previous developers see CONTRIBUTION.

Many others have contributed through bug reports, patches, translations, and documentation work.

Last modified 2 years ago Last modified on 2021-10-02T22:52:12+02:00

Attachments (2)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.