Do I need to know the precise polygonal geometries of Los Angeles and the University of Southern California to assert that the latter is within the former? No. My mind contains no such precise geometric model of points and lines, yet I know that USC is in Los Angeles. When humans reason with the real world, they focus on its objects, relations, and processes-rather than starting with geometry-because these are the keys to understanding and explaining 1 Preprint of: Boeing, G. 2020 The widespread disincentivization of academic tool-building produces several negative outcomes. First, most of our tools rely on impoverished representations of geographic theory because our theoreticians have little incentive or training to build tools. Second, most scientific computational workflows exist only as ad hoc scripts to answer a specific research question before being shelved, rather than being generalizable, documented, shared, and accessible. 2 An enormous amount of scholarly effort is wasted as we endlessly reinvent each others' wheels. Third and accordingly, reproducibility and replicability remain an outstanding challenge (Brunsdon, 2016; Kedron et al., 2019; Koster & Rowe, 2020) . This has become a key motivation for the open-source and open-science movements (Rey, 2009; Donoho, 2017) . But as a scientific community we need to go beyond mere reproducibility and replicability to consider the public reusability of our tools and workflows. Otherwise we fail to unlock the broader benefits and spillover effects of tool-building.
These problems plague most geographic disciplines, including the study of cities. Today, a consensus is growing around the importance of harnessing GIScience to the open-source and open-science movements to make urban scientific research more tractable, replicable, theoretical, impactful, and approachable for non-computer scientists. Yet urban science too often lacks open data sources and reusable, accessible, theoretically-sound tools. Incentivizing authors to share their data and computational workflows when submitting journal articles is one nascent step in the right direction. Incentivizing and building reusable, accessible, theoretically-sound tools is another.
Many of these challenges hit close to home for me. A few years ago, I wanted to conduct a nationwide study of US street network form to better understand the fundamental characteristics and outcomes of different urban planning paradigms. How did network structure change as planners reoriented cities around the spatial logic of the automobile? And what do we see in recently-built neighborhoods, considering the rise of neotraditional urban design practice? I was interested in the geometry of these networks, but more important was their topology and the sociospatial dynamics they underlie and organize.
Initially I assumed that some tool must already exist to automatically construct nonplanar directed graph models from ubiquitously available street network topology data. I was wrong on both counts. On the tool side, while some scholars had previously studied similar topics, no one's research software appeared to be publicly available, well-documented for reuse, or sufficiently scalable. Meanwhile, on the data side, mapping platforms like Google Maps did not offer their spatial network data for download. What was ubiquitously available was the US Census Bureau's TIGER/Line roads shapefiles, but they place primacy on geometry and contain insufficient topological information to properly model nonplanar networks (Boeing, 2018) . I eventually turned to OpenStreetMap.
First launched in 2004, OpenStreetMap is a wiki-style worldwide mapping project and geospatial data repository with good coverage and quality (Girres & Touya, 2010; Haklay, 2010; Corcoran et al., 2013; Zielstra et al., 2013; Barron et al., 2014; Maier, 2014; Basiri et al., 2016; Sehra et al., 2019) . To date, over 1 million different users have contributed content including 6 billion nodes (i.e., geospatial points), 600 million ways (i.e., geospatial lines and boundaries), and related descriptive data. It is not a perfect data source: researchers estimate that >95% of OpenStreetMap contributors are male, suggesting the possibility of correlated biases in content creation (Schmidt & Klettner, 2013; Graham et al., 2015) . Nevertheless, OpenStreetMap is public, free, and an Open Source Initiative affiliate. Volunteers provide some editorial oversight of edits, but anyone may edit the map using tools such as ESRI's ArcGIS Editor for OpenStreetMap. OpenStreetMap contains data on streets and highways, transit systems, building footprints, parks and plazas, pedestrian and bicycle infrastructure, political boundaries, and more (though non-road coverage varies around the world). But best of all, unlike a shapefile, OpenStreetMap's data model centers spatial objects and their relations, including both geometric and nonplanar topological information.
Researchers typically access OpenStreetMap data through its Overpass API or by downloading a prepackaged regional extract from third-party organizations like Geofabrik. These offer easily ingested street data, but the spatial networks' topological relationships require substantial processing to generate a useful graph model. Researchers often have to write hundreds or thousands of lines of ad hoc code to process the data into a graph and conduct algorithmic analyses for a one-off study. Dozens of small computational and modeling decisions inevitably go unreported in the subsequent peer-reviewed literature, yet these can drastically impact interpretation and replication when every research team codes its own models and analytics. Would it not be better to collectively contribute to and share a reusable, accessible, theoretically-sound set of scientific tools?
One obstacle limiting this tool landscape is that high barriers to entry exist for all but those fluent in computer science and domain theory. When I first reviewed the urban spatial networks literature, I was struck by how many modeling methodologies made unexplained or even unjustified assumptions about either urban theory or spatial network theory. The landscape lacked tools to handle nonplanar representations of space, which most spatial networks require due to overpasses and underpasses. For simplicity, many studies resorted to undirected graph models, which work fine for studies of form but poorly for studies of flows that obey directionality constraints. The precise handling of common street network features (such as self-loops, parallel edges, or culs-de-sac) often went undocumented. More fundamentally, the Overpass API was cumbersome to work with directly to pipe data into an appropriate model for spatial/network analysis.
In this context I began to develop what eventually became OSMnx. The tool itself is documented 3 in detail elsewhere (Boeing, 2017) , and tutorials and usage examples 4 are available online, but I briefly summarize its functionality here. OSMnx is a Python package for collecting spatial network data from OpenStreetMap then automatically constructing a directed nonplanar graph model. It is built on top of the open-source geospatial Python stack (which I will return to later). OSMnx's key feature is its ease of use. With just one line of code, the researcher can download and model the street network of any study site in the world: cities, towns, neighborhoods, boroughs, counties, states, nations-any spatial boundary that OpenStreetMap has in its database. The researcher can specify the site's drivable, walkable, or bikeable network. OSMnx includes a suite of visualization tools and graph-theoretic analytics (both geometric and topological) for common transportation planning, urban design, and network science research questions. It can also automatically collect and model elevation, building footprint, and points-of-interest data. The code is documented and open-source, so its formal representations of theory are not black-boxes.
This project began as a few lines of Python code in a Jupyter notebook, before being collected into a module, and later refactored into a formal package distributed online. I am not a software engineer per se, but I knew how to code and was conversant in the relevant domain theory. But, in the midst of working on this project for months on end, I realized that the next person interested in similar empirical questions would face the exact same laborious tool-building process I was then struggling through. Accordingly, I found it useful to make OSMnx open-source for three primary reasons. First, it makes empirical work easier to review and reproduce. Second, it allows anyone else to contribute to the tool's ongoing development. As discussed later, other researchers desiring useful extensions to its functionality have been willing to add them to the codebase. Third, it empowers others working in urban science and planning to advance their empirical research on real-world spatial networks with a reusable, accessible, theoretically-sound tool. I discuss these latter outcomes in the following section.
The teleology of tool-building suggests that the real value lies in the end use of the tool, rather than in its origins. The purpose of developing OSMnx was to conduct empirical research on urban form, travel dynamics, and the topological structure of transportation infrastructure. Since its public release three years ago, several such studies have been conducted-by myself and many others-using OSMnx for model generation, indicator calculation and visualization, and trip simulation. To illustrate the downstream benefits of tool-building, this section briefly reviews the recent empirical literature that uses OSMnx.
Across a variety of academic disciplines and study sites, researchers have recently used OSMnx to download data, generate models, and analyze real-world transportation networks. For example, Hofer et al. (2018a,b) model the street network of Graz, Austria to simulate CO 2 emissions and traffic congestion and avoidance behavior using mobility data. Saha et al. (2019) model Mesa, Arizona's streets to generate a synthetic feeder network for electrical distribution. S. Wang, Gao, et al. (2018) model Washington DC's street network to develop a geoprocessing framework for optimizing the meetup locations of multiple people under congested traffic conditions. Liu et al. (2020) model Beijing's walkable street network to explore spatial patterns of residents' daily leisure activities. Natera Orozco et al. (2019) model "as-is" bicycle networks to demonstrate how cities can make small but targeted infrastructure investments to significantly increase their connectivity and directness. Dumedah & Eshun (2020) model Ghanaian street networks to investigate paratransit service coverage through GPS data. Riascos & Mateos (2020) model Manhattan's street network for their study of more than one billion taxi trips in New York.
Studies such as these often investigate the frontier of new transportation and smart cities technologies, including autonomous vehicles, electric vehicles, ride-sharing, and bike-sharing. Beirigo et al. (2018) 
Other studies look for fundamental relationships between topological structure-particularly network centrality and robustness-and travel patterns and land use. M. use OSMnx to model Atlanta's street network to investigate ride-sharing accessibility as a function of network centrality and structure. S. Wang, Xu, & Guo (2018) model Shenzhen's street network to explore the relationship between street centrality and land use intensity. Baumann & Keupp, 2020; Sohouenou et al., 2020) .
Computer scientists and statistical physicists often adopt urban transportation networks as tractable, real-world systems that can be well-represented by graphs. OSMnx has been used accordingly to generate input graphs and feature sets for methodological research in machine learning and network algorithms (Yin et al., 2020; Young & Eccles, 2020) . Ren 
Other researchers have used OSMnx for automated indicator calculation and visualization. Brandily & Rauch (2018) calculate street network indicators in 1,800 towns across sub-Saharan Africa to explore the relationship between street density and population growth. Holub (2017) 
Several morphological studies of urban form, sprawl, and density have used OSMnx as well. Gervasoni et al. (2017) measure urban sprawl and network-constrained destination accessibility. Bristow (2019) compares alternative building density metrics in the context of urban morphology. Abdelkader et al. (2018) and Boeing (2018) measure urban nonplanarity to retheorize how planar assumptions impact street network analyses and to suggest better models. The World Bank collects building footprint data then trains a random forest model to identify OpenStreetMap coverage gaps that can inform future crowd-sourcing efforts and mapping campaigns (Jones, 2019) . Boeing (2020b) explores the growing role of big data in computational urban morphology and visual analytics (Figure 1 ). Boeing (2019b) conducts a cluster analysis of urban street networks around the world to theorize how planners produce different forms of geometric spatial order, illustrated in Figure 2 . Coutrot et al. (2020) build on this theory to explore how spatial order impacts a city's residents' spatial navigation, finding that residents of more grid-like places demonstrate worse ability. 
Finally, several studies have used OSMnx for simulating trips along a network. Waddell et al. (2018) build regional planning models that integrate land use simulation, travel demand modeling, and traffic assignment. Hernández-Hernández et al. (2019) 
The preceding survey of recent studies covers a wide range of spatial topics and disciplines, from urban design to public health to transport engineering to computer science. These research projects investigate various travel modes, from walking to cycling to driving to ridehailing. They study neighborhoods and cities in every inhabited continent. Most importantly, I could not have conducted most of these studies myself as they exceed my knowledge and skill, but by making OSMnx open-source and accessible, it has percolated into others' research designs around the world. Academic tool-building thus entails upstream and downstream benefits for our field's wider endeavor of scientific discovery and theory building.
A couple of years ago, I gave a talk which partly dove into OSMnx development and the benefits of academic tool-building and open science. At dinner that evening a senior faculty member asked if my development work continued. I said yes and listed a few features in development that would unlock exciting new spatial network analytics and research questions. The faculty member pushed back on this and-echoing Rey (2019)'s recollections as a junior scholar-suggested that if I were to continue in academia, that I must give up tool-building. To paraphrase: "You will become known merely as a tool builder rather than a serious scholar. A serious scholar cannot waste time on anything but empirical research and advancing theory."
Must scholars eschew tool-building in order to successfully further their field? I believe, rather, that we impoverish our field if we do not make our otherwise ad hoc, one-off research tools "open, accessible, and modifiable," to return to Poorthuis and Zook's earlier words. In particular, there are three primary benefits of open-source tool-building for academics: 1) unlocking your own empirical research, 2) advancing the collective scientific and theoretical endeavor, and 3) impacting a broader audience.
First, tool-building unlocks your own research. Nearly all of us in the spatial sciences do some tool-building as we create simple macros, scripts, or libraries of code for routinizing mundane data processing tasks or fitting models or generating graphical and tabular output for subsequent publication. In this era of big data and ubiquitous computation, it is inefficient and limiting to rely on point-and-click interfaces to conduct scientific research. Coding skills thus increasingly appear in spatial science curricula as necessary components of any GIS skillset. Fostering such abilities is crucial as data science and coding grow central to spatial analysis. But most importantly, as researchers motivated to ask new questions and develop new methods, we cannot assume that theory-rich tools already exist to answer today's important questions. We must build the right tools to answer the right questions-and doing so can open up new personal research trajectories.
Second, once we have built these tools, they should be open-source and accessible to advance the wider discipline. Fortunately this philosophy already has traction in the GIScience and urban science communities. Efforts are underway today to build a national geospatial software center (Geospatial Software Institute, 2020) and other examples abound. Luc Anselin's GeoDa and GeoDaSpace software for spatial analysis and econometric modeling are free and opensource (Anselin et al., 2006) , as is Serge Rey's Python Spatial Analysis Library (PySAL) (Rey et al., 2015; Rey, 2019) . Paul Waddell's UrbanSim platform, a Python-based software library that supports urban land use and transportation modeling and simulation, is similarly free and open-source (Waddell, 2002) . Beyond this sort of hero model of tool-building, many other community-driven open-source spatial software projects exist in the Python ecosystem and other programming languages (e.g., GDAL, geopandas, leaflet, PostGIS, QGIS, r-spatial, and even OpenStreetMap itself). Such projects often utilize a decentralized many hands model to grow a community around building better tools and collaborating synergistically around shared goals. Regardless of the exact model, academic-led projects can provide a theory-rich scaffolding on which research can be conducted and other tools (like OSMnx) can be built. These tools and their ongoing development are also important for empowering students and scholars who cannot afford expensive proprietary software licenses. We must reduce such barriers to entry.
Academics too often pull up the gangplanks by placing scientific findings behind paywalls, hoarding useful datasets, or concealing their research software. The intertwined open-science, open-data, and open-source movements address these three respectively by publicly sharing scientific findings, data, and software for the good of society. This in turn disseminates knowledge and empowers the wider scientific community. If our goal as academics is to produce empirical research and advance theory, our time should focus on research and writing-but we should also set aside time to build better theory-rich tools to answer difficult questions.
Third, open-source tool-building impacts a broad community with bidirectional effects as the tools we build eventually underpin others' work downstream, while other researchers contribute back to our projects upstream. As two examples of downstream effects, the mobile crowd-sensing platform CrowdSenSim now uses OSMnx to simulate urban environments (Tomasoni et al., 2018; Montori et al., 2019) and the transportation planning company Remix developed its platform-now deployed in hundreds of cities worldwide-initially using OSMnx to model street networks. Reciprocally, regarding the upstream direction, as an open-source project OSMnx has received hundreds of code contributions from other scholars and members of the public. These contributors helped develop its points-of-interest module, its nearest-node and nearest-edge search algorithms, its building footprint functionality, and much more. I have reaped the benefits of dozens of others' contributions that enhanced the tool in ways I subsequently used to answer my own research questions.
Better tools and data models, spearheaded by academics, can help infuse theory into our field's quantitative work. But if we want better tools, we have to build them. It is not ESRI's job to satisfy all the theoretical needs of the spatial sciences. Recent important scholarly critiques have highlighted how today's GIScience tool landscape is inaccessible, atheoretical, and ad hoc (e.g., Gahegan, 2018; Poorthuis & Zook, 2019) . One clear path to better link this academic critique with tangible real-world action is to build and incentivize better tools for praxis. Collectively, we need to spend more time fixing the lack of high-quality accessible tools rather than just writing yet another thinkpiece lamenting their dearth.
Software often feels inevitable because its backstory is often invisible. We click a download link, run an installer, and suddenly have a new tool to use. Yet this conceals years of human decisions, experiences, and constraints shaping software outcomes that are in no way predestined. In many ways, open-source software parallels other public infrastructure such as highways and bridges. Humans plan and engineer infrastructure in specific social, economic, and technological contexts. Like an individual highway's or bridge's broader network of connected roads, any single piece of software represents a complex network of entanglements with many other software projects on which it depends. And like a highway or bridge, software requires years of maintenance, updates, and retrofits after its initial development: although splashy new capital projects often receive funding and adulation, critical routine maintenance work usually receives far less of either.
Tool-building, in all its facets, remains an essential but poorly incentivized pillar of academia today. Computational geographic tools too often impoverish quantitative analytics through poor representations of scientific theory and squander precious time as everyone develops their own ad hoc scripts to solve similar problems. The case of urban street network science illustrated this. Building an open-source, reusable, accessible, theoretically-sound tool as public infrastructure has generated various downstream and upstream benefits. So what can we do to foster a robust tool-building community and collectively reap more of these benefits?
Incentives are key. First, academic tenure, promotion, and annual review guidelines should explicitly reward the scholarly value of open-source research software and open data contributions to better acknowledge their significant value. They should also account for contributions to pre-existing and decentralized projects to encourage collaborative progress and maintenance of the open-source commons. An ideal system would better balance the respective value of research, publication, and tool-building to advancing science and theory. Second, we should train the next generation of practitioners and scholars to be better tool creators and consumers. Curricula should include coding and informatics courses and pedagogy should emphasize hands-on learning, such as using computational notebooks. Third, academic publication must continue its nascent steps toward open science: journal editors should require the submission and publication of datasets and computational workflows alongside quantitative manuscripts. Finally, we should increase funding opportunities for building and maintaining research software to foster the positive externalities and downstream benefits they generate throughout the research community.
The goal of academic tool-building-and the hope of every such tool-builder-is to construct some kind of useful infrastructure for your field. With better scaffolding in place to connect theory, science, and analytics, we can conduct better research to explore important geospatial questions and foreground objects, relations, and processes. OSMnx has not changed the world or reinvented urban science, but it has made empirical street network analysis a little easier and more reproducible for some urban scholars and practitioners. Hopefully it even unlocked a study or two along the way that otherwise could not have been conducted. Finally, there is one key lesson-learned that I would like to share with other budding academic tool-builders: give your tool an easier name to remember and pronounce than OSMnx.
This work was funded in part by a grant from The Public Good Projects. I wish to thank the editors of Transactions in GIS for the opportunity to present this plenary paper and two anonymous reviewers for their helpful suggestions in improving it. I also wish to thank the innumerable other developers of open-source software on which my research and toolbuilding rely. Figure 1 is reprinted with permission from Boeing (2019a) and Figure 2 is reprinted from Boeing (2019b) under the terms of the Creative Commons Attribution 4.0 International License. Notes 1 A simple example of these objects and relations would be: Los Angeles → is a → city; USC → is a → university; USC → is in → Los Angeles 2 The "rule of three" in computer programming states that if similar code will be used in three or more places, it should be extracted for general reuse to avoid duplication. We might consider similar guidelines in making our research tools publicly reusable.
3 OSMnx installation instructions and user documentation are available online at https://osmnx.readthedocs.org/ and the open-source project itself is hosted at https://github.com/gboeing/osmnx 4 OSMnx tutorials and usage examples in Jupyter notebook format are available online at https://github.com/gboeing/osmnxexamples