Open source software has caused a quiet revolution in computing since
the creation of the GPL license by Richard Stallman back in
1989. Yet it has been slow
to gain ascendency in many areas, including Civil Engineering. This short post discusses this
issue in the context of the uptake of QGIS and R for spatial analysis work, with reference
to a lecture delivered to undergraduate Civil Engineering students at the University of Leeds
(see slides below and as a stand-alone html page here):
What began as a fringe movement within ‘hacker’ circles has taken over parts of computing the world.
Linux, which provides the backbone of the popular Android smartphone operating system,
is probably the most successful software project ever and owes at least part of its success to its
open source licence. In the world of statistics, there is a clear trend towards open source.
R is outpacing closed source alternatives such as Stata, SPSS and SAS
in academic work and this
trend looks set to continue in the world of commercial data analysis and ‘data science’.
Illustrating this shift in attitude, Hadley Wickham
recently said in response to a question on
whether there was any reason to use SAS or SPSS in the modern world with:
“You have a whole bunch of money you want to get rid of? :)”
Other branches of applied computing have been slower to adopt. Civil Engineering is
one of these areas, in which established products such as
AutoCAD dominating the market.
It is interesting to note that in the Wikipedia page on
Civil engineering software
there is no mention of open source products, rasing the question: where are they?
In the related field of GIS, the dominance of proprietary software has been challenged by
open source products such as QGIS, raising the question:
why has this not happened in Civil Engineering. This was one of the questions
that came up in a lecture I delivered at the University of Leeds to 3rd year
Civil Engineering students. I found that although a majority of students had heard of
and used open source software for their everyday life, its update in an academic context was limited.
From a Transport Engineering perspective, there are already options out there in the areas of
general spatial analysis and modelling transport flows. A recently created add-on to
QGIS, Aequilibrea provides much of the functionality
expected of professional transport planning projects. In addition, an R package I am developing
for transport planning work could be of use to some high-level Transport Engineering applications:
stplanr facilitates the visualisation, analysis and
(via online APIs) network allocation of movement patterns represented by origin-destination
The lack of mainstream software for Civil Engineering creates a huge opportunity for
developers, practitioners and educators in the discipline to be an ‘early adopter’
and guide the way forward for making research more accessible and transparent for all.
The list of Mechanical and Civil Engineering Software
on the code hosting site SourceForge is an indication of the way things could go.
Furthermore, there are indications that the dynamic and fast-growing users communities
in R and Python could help ‘fill the gap’ in free software for Engineering.
The reservoir R package
provides “tools for analysis, design, and operation of water supply storages” while
strupy is a
“structural engineering design python package”.
The advantages of these script-based software solutions is their flexibility: learning
a command-line interface such as R provides the potential for taking existing code and
modifying it to your own needs, a common requirement in enginneering applications
of all types. Batch-processing and reproducibility are additional advantages that
allow one’s solutions to scale.
In summary, open source software such as R are little-used in Civil Engineering
but have huge potential for growth. Insights from the related realm of GIS
suggest that this may change and that the current crop of products could be
the beginning of a ‘phase shift’ in software for Civil Engineering.