Smart Cities? Public Code!

Workshop Public Code @ Smart City Expo, Barcelona

This workshop took place at November 16 10:00-18:00 in Barcelona

The Smart Cities? Public Code! project aims to explore and develop the concept of public code. Public code is an early stage concept for a type of code developed with the public interest in mind. This means we need to look differently at the software developed for public tasks as compared to software for private tasks. At a minimum, we should guarantee that it is inclusive, usable, adaptive, open and sustainable.

In three international workshops, the context, challenges and opportunities for public code are discussed with various actors in the field. How should we understand public code, what should we expect from it, and how can we create it? What kind of technological and institutional arrangements are needed to shift towards the production of public code?

The first workshop took place in Bucharest, during the conference Heroes of Tech, organized by Code for All, an international network of organizations supporting each other to empower citizens to meaningfully engage in the public sphere and have a positive impact on their communities.

The second workshop took place in Barcelona, during the Smart City World Expo. We gathered a small group of participants from public institutions, NGOs and companies working in the space to build on the findings of the first workshop and consider some further issues.

What are the current problems with digital technology in cities?

As this workshop happened in the shadow of the Smart City Expo, many of the participants were keenly aware of the sales-driven discourses that currently dominate the type of development that we were exploring. The group spoke at length about how the leading network technology companies in this space have sold a story that promises one stop solutions with all-inclusive software packages that come with “low low licensing fees” and proprietary databases.

Often in their initial deployment, these software packages succeed in solving many of the most egregious issues that cities have around the management of infrastructure, resources and information. But fairly quickly into the engagement, municipal governments realise that they are effectively trapped in a system of ever-increasing licensing fees, proprietary data stores to which they have to pay to access their own data, and inflexible solutions that cannot be adapted by their own technology teams to respond effectively to local problems.

Part of the reason cities find themselves in the situation is due to a long-standing mindset about their relationship with technology. For decades, cities have treated the adoption of technology, and ICT in general, as an exotic technical task, far separated from the core activity of governance and policy production. Many key decision makers around technological deployment in municipal governments have little or no literacy about the implications of various architectural choices involving the deployment of SaaS solutions, etc. Customization work is often outsourced to contractors who have no long term relationship with municipalities, and thus, the knowledge is lost between engagements and municipal actors are left at the mercy of the high cost consulting rates of the initial software providers.


  • Wizardry of technology
  • Knowledge often external when using contractors
  • Outdated legislation
  • Not a lot of qualitative data about solutions with people at the core
  • Data ownership often with companies


  • Cities don’t employ people with the necessary skills to evolve tech implementations
  • We need to understand the physical constraints of digital technologies (power, cables, etc) in new urban project work
  • Many cities lack a single point of contact for digital transformation, cross-cutting departments and fostering collaboration


  • People have heard of the domain only through smart city hype
  • Smart cities are not inclusive by nature
  • Solutions do not account for cultural, political and physical differences in cities

What can we do about these problems? And who can?

Almost any solution to this problem begins with cultural transformation and education within the body of civil servants that make up the core of municipal function. The key issue is that policy makers realize that their work will slowly become a directly digital process, and that the fundamental work of municipal government will involve the production of software in support of policy implementation. From this perspective, the process of producing software becomes a core activity of the municipality.

Much of our discussion here centred around the creation of new roles and discourses bringing stakeholders within government up to speed on their new responsibilities as codebase custodians. The idea of reforming general education and education within government to include public digital literacy was put forward. Also among workshop participants, much concern was expressed that the general public would also need to be kept informed of the changing relationship between government and software. This is where the workshop really began to delve into the concept of public code as a resource that would address many of the concerns that the general public have about the use of technology in government, in that public code is transparent, inclusive and adaptive to the needs of local citizens.

  • Culture of collaboration for problem solvers
  • Defining real needs across cities
  • Mandatory tech classes for all ‘officials’
  • Reform of education to include public digital literacy
  • Deconstructing the smart city
  • Techno-legal framework for privacy protection and data-extraction prevention
  • Make public-private collaborations more attractive. New revenue models?
  • Celebrate risk-taking
  • Provide outreach from municipalities to non-tech industries about how they can benefit and participate
  • Shared vocabulary
  • Modeling and simulation of public processes
  • Understanding of data vs process/code
  • Produce marketing materials around the language and concept of public code
  • Create ‘data steward’ role within municipalities
  • Move discourse from ‘solutions’ to ‘tools’
  • Create a manifesto for cities with different starting points for various stakeholders
  • Pessimistic: ‘revolution by disaster’
  • Optimistic: create poetry and metaphors
  • Create think and do tank
  • Multidisciplinary team to develop communications campaign targeting various stakeholders
  • Develop communities of practice
  • Create online resource with clear and concise definitions and processes around use and collaborative production of public code

What is stopping us from doing this?

The workshop participants agreed that the number one block to this type of transformation was almost entirely a lack of effective communication about the drawbacks of commercial software licensing as it currently stands, and the opportunity for municipalities to collaborate in public code development and maintenance. Problems range from the inability to quantify the economic advantages of public collaboration, to the inability to communicate the real changes necessary in technological infrastructure in a tactical way, rather than as an abstract appeal to high-level principles. Larger issues in general software development, such as making code and its processes legible and starting from user concerns in the design process, also play a role in gaining early positive feedback and momentum in public coding projects.

In general the consensus was that civil servants are naturally risk-averse and fairly conservative in changes to their process. Most participants considered this a good thing, as it provides continuity in the face of rapidly changing politics on the higher levels of municipal government. Thus, the case that one must make to induce an appetite for digital transformation to public code development processes across the board needs to be grounded in very sound economic and policy arguments, as well as providing evidence that the agency of the civil servants themselves will not be eroded by the arrival of new digital tools.

  • Lack of literacy in digital rights of policy makers
  • Lack of understanding of the need for this by stakeholders
  • Hard to quantify economic advantages
  • Difficult for involved professional actors to envision their continued empowerment
  • Different cultural backgrounds
  • Strategic and visionary, but not tactical
  • Legislation: current legal framework does not take into account new ways of working
  • Middle manager civil servants resist change
  • Articulating long term goals for short term budgets is hard
  • Over-reliance on good will/intention
  • Lack of professional service level and delivery.
  • Not starting from user need/working reality of disinterested stakeholders
  • Lack of clear ownership of transformation across city departments and unclear roles
  • Too many options or things to understand
  • Lack of transparency in establishing new procedures
  • Little tooling for making proposed tech legible
  • Little vocabulary overlap


As with the first workshop, most of the participants expressed a high level of enthusiasm and anticipation for the development of processes, tools and institutions around the concept of public code. In this group, there was a particular hyper awareness of the growing targeting of municipal governments by incumbent software providers and their SaaS/database entrapments. With GDPR as a recent precedent and the Cambridge Analytica/Facebook debacle still fresh in everyone’s mind, the idea of building systems that guarantee the transparency of decision-making in software driven governmental systems seemed a quite urgent thing to support. Our meetup at this workshop seems as though it might serve as the first of many gatherings in the shadow of the ultra commercial smart City World Expo to strategize about building an alternative stack of tools to enable public administrations to retain agency and begin to evolve into a new form that marries the code of software and the code of policy in an organisation that is citizen centric, open, inclusive and adaptive for the future.