what3words

From OpenStreetMap Wiki
Jump to navigation Jump to search

what3words (what3words.com) is a commercial service that assigns a three-word identifier to each 3m x 3m square on Earth. As such, what3words is not an addressing system: it does not hand out addresses to individual entities, rather it just encodes coordinates in a textual way.

A closed system

what3words is not an open system for location reference/addressing. This is legally and technically enforced in several ways:

  • The algorithm is patented in several countries, preventing anyone from implementing a compatible algorithm or developing anything like it as a competing standard. Notably the patent is not restricted to schemes which use three words, so a hypothetical "what4words" would potentially also violate the patent.
  • Hand-in-hand with this patent, the wordlist necessary for encoding/decoding what3words locations is copyrighted, and is stored in an encrypted form in the what3words mobile apps (so decrypting the wordlist would likely trigger "anti-circumvention" laws such as DMCA §1201).
  • The name "what3words" is trademarked.
  • The algorithm is deliberately designed to make adjacent addressing blocks use all different words, forcing the users to consult the service and specify all 3 words for every address.
  • The names are localisable, but due to the differences in the word lists and the geocoding table, those 3 word addresses are untranslatable across locales.

What3words has repeatedly demonstrated[1][2] that they will defend their intellectual property vigorously, including by asking Twitter[3] to delete mentions of reverse-engineered implementations.

These types of protection are very common for many software companies of course, and so one might put this down to the old closed-source vs open-source debate. Many in the OpenStreetMap community will favour an open approach to software anyway, but this is a choice we make. However...

what3words is fairly simple from a software point of view, and is really more about attempting establish a standard for location look-ups. It will only succeed through the network effect of persuading many people to adopt and share locations. If it does succeed, then it also succeeds in "locking in" users into the system which they have exclusive monopoly over.

The norm we would expect for any new standard is to specify it openly and release decoding/encoding implementations as open source. This is a lesson tech experts and tech users have learned time and time again, with negative experiences of "lock-in" when private companies succeed in driving adoption of their closed systems. As such, you will tend to find people not only refuse to adopt a closed standard like what3words, but also strongly advise others not to adopt it!

what3words codes in OSM

We don't put what3words coordinates into OpenStreetMap. There are several reasons for this:

  • what3words' Terms & Conditions explicitly forbid copying their textual coordinates.[4] (So we couldn't even if we wanted to.)
  • OpenStreetMap does not support adoption of closed location referencing standards (see above)
  • We avoid putting data into OpenStreetMap which can be derived anyway in some automated way. Because
    1. it's not necessary. If you want this data, you can very easily get it without having it in an osm tag and
    2. We don't want to invite the use of automated processes for dumping in derived data. OpenStreetMap is a primary source of observed data about the world. Secondary derived data does not belong here. This principle can be seen in other areas of tagging discussion.

For more info, see this mailing list discussion from November 2015.

Government adoption

In May 2016, what3words was adopted by the Mongolian postal service as an official addressing system for the country. It also appears to have been adopted by Kiribati and Tuvalu in some official capacity.

Does this mean we're denying the people of these countries the ability to map their addresses? On the one hand we might say, yes. This is a small bit of pain the postal service have inflicted upon their people by choosing a closed system (the more painful lessons will come when what3words starts leveraging their monopoly). On the other hand we're not really denying them anything, since their addresses will be auto-derivable and so they won't need to add them into OSM.

What3Words has also been adopted and endorsed by many emergency services, despite criticism of its usefulness for these purposes.

Criticism

Suitability for emergency use

In spring 2021, Andrew Tierney investigated the What3Words algorithm and found copious evidence that it does not live up their claims that addresses are unambiguous and errors can be easily detected.

Notably, he found many examples of what3words locations which are both confusingly similar and confusingly close to each other, despite What3Words' assertion that errors in transcribing addresses should result in obviously wrong locations. These findings suggest that, as well being a closed system, What3Words is likely to be an actively dangerous method of communicating your location in an emergency.

His full writeup, including a comprehensive description of the what3words algorithm, can be found on his blog. He also wrote another post specifically addressing why What3Words is not suitable for safety critical applications.

Patent Validity

It's possible that prior art exists which would invalidate the What3Words patent, and a StackExchange poster appears to have proof of prior art[5], although they have not yet had any success in getting it invalidated.

Several patent authorities appear to have issues with the what3words patents, some of which are still being examined several years after the original applications. The original patent application in the UK from 2013 was unsuccessful for reasons which are unclear.

As of May 2021, the European Patent is still under examination, and the most recent documents indicate that the examiner "has strong doubts about the technical character of the claims"[6].

Other implementations

A free and open implementation of what3words is not possible without the company's consent, but it doesn't stop people trying.

WhatFreeWords

WhatFreeWords is a reverse-engineered, compatible implementation of What3Words which was released anonymously in September 2019 at whatfreewords.org (now a broken link). What3Words did not like this, and issued copious legal threats.

The site's hosts were issued with a DMCA takedown request, and the site was re-hosted several times. What3Words also caused Twitter to take down several tweets linking to the site[3]. The whatfreewords.org domain was eventually seized in April 2020 through a trademark infringement dispute filed at WIPO[7], which argued that "WhatFreeWords" was an infringement of the "What3Words" trademark.

A statement apparently by the WhatFreeWords author has more info[2].

In spring 2021, a Twitter user received a legal threat from What3Words for privately sending the WhatFreeWords code to others for research[1].

The WhatFreeWords source (in Javascript and Python) can still be found in certain places on the internet (and on some "decentralized web" protocols!), but in order to avoid the boundless ire of the What3Words legal team, it will not be linked from here.

Other attempts

  • User cardinalhood on github published reverse-engineered encoding/decoding code on his github account, but this was rapidly taken down with a DMCA take-down request.
  • User pudo on github set up repo called "open3words" with the intention of creating an open source what3words, however no code appeared there. Only discussion. It now seems to have mysteriously disappeared

Alternatives

Alternative location referencing systems using words

WCodes generically encodes any data as a set of english words, and wcodes.org/location is described as an "app" of this. This is developed by Ujjwal Singh, who is the same person who seems to have prior art[5] on the idea of What3Words. As of 2021, the project appears to be dead, and the idea was not open sourced.

GeohashPhrase is a similar idea, encoding a geohash as a set of words, however QALocate seem to be only showing this behind a sign up and promising to make it open source in the future.

Other location referencing systems

  • OpenStreetMap Shortlink, specifically designed for compact URLs.
  • Xaddress, two random words and a number (designed to look a bit like an address)
  • Geohash on Wikipedia
  • plus.codes (formerly "Open Location Codes") put out by google, fully open source in the public domain
  • mapcode - Letters and numbers like a postcode. Open source. No-for-profit foundation
  • Volksnav
  • Maidenhead Locator System on Wikipedia, used by amateur radio operators to describe their location

Comparison including some of the above options: An Evaluation of Location Encoding Systems

Parodies

what3words has spawned a number of parodies, many of which no longer exist:

what3fucks mischief by User:Ivansanchez (code), spawned several variants:

what2numbers.org - yes, the two numbers are lattitude and longitude!

what3chars - Python package. Convert coordinates to indecipherable combinations of Ls, Is, and 1s!

References