[openspending-dev] Evolution of a Tech Lead

Tryggvi Björgvinsson tryggvi.bjorgvinsson at okfn.org
Wed Apr 15 08:52:05 UTC 2015

Hi all,

When I took over as OpenSpending Tech Lead beginning of 2013 I started
taking the project into a new direction. I might not have shared this
direction explicitly but I've alluded to it, and actively worked towards
it; ranging from small things like inflation adjustments, to non
technical things like the budget data standardisation effort, to (most
recently) the underlying structure with the shift to a "microservices"

What I want OpenSpending to become is less of a stovepipe system[1] for
budget visualisations and more of a canonical repository of budget data.
I think we're all tired of the OpenStreetMap analogy so I'm not going to
use that one. The analogy I'll use instead is that I'd like OpenSpending
to become something like Wikidata[2] for budgets. The best source of
budget data, and the data can be used in various different projects.

Wikidata is a central data repository that feeds into other Wikimedia
projects (and perhaps other projects outside the Wikimedia family as
well). Each entry in Wikidata is *the* entry for a specific entity,
object etc. It can be updated but it's still going to be the single
source of information. An entry about a specific person might begin by
only having the date of birth, but later on someone might add the date
of death. That will then be picked up by services that rely on Wikidata
and the entry on that person updated accordingly.

Budgets are a specific entity. They don't change but more information
can be added to them. So a proposed budget of 2015 for some country
won't change, but someone might later on add a functional classification
to each entry in the budget.

So that's where I want OpenSpending to go. I want it to be this central
repository of budget data, that can be amended and added to and used in
multiple different projects. These multiple different projects will be a
part of the OpenSpending ecosystem, and run by different individuals and
teams. That's the opportunity of the micro-service approach. We can all
develop independent budget services and connect them together -- we'll
probably not end up with 450+ micro-services like Netflix or the other
big micro-service platforms ;-)

As such the OpenSpending project will be more about how to connect these
different services and projects and less about building a central
platform. One solution would be distributed, federated systems, but that
doesn't help us ensure we have a single representative budget (and
that's why we need to settle on the central repository) -- we could do
it but I don't think it's worth the effort at this moment.

I have already seen a lot of interest in providing independent but
connected services, e.g. from groups in Brazil and Israel. I had a great
discussion with flecha on our IRC channel the other day about how to
connect the repository to a budget visualisation frontend with
editing/uploading features. There are groups ready to start contributing
on their own but as part of a bigger development community.

So where does that leave me as the OpenSpending tech lead? Should I
decide on how different, independent services interoperate or integrate?
Should I decide how a particular service should work or what it should
do? Do I have any authority over independent budget services? The answer
is no. This is something that everyone who runs a budget service should
participate in. We should just all talk and work together.

Therefore I will have to step down as OpenSpending Tech Lead and hand it
over to a group of people, a self-organised group based on the budget
services in the OpenSpending ecosystem. It will start out small, but it
will grow as more budget services connect with the OpenSpending ecosystem.

In fact, there are OpenSpending related projects I have been project
managing as part of my work for Open Knowledge and these projects have
the potential to just place me in the same spot as I was up until now.
As a single person making decisions and by doing that, not really
changing anything. That's the last thing I want. I want this to be an
opportunity for everyone to participate, take lead on budget service
they care about, and feel empowered to do so. It's a conflict of
interest to me.

That's why I'm stepping down immediately and in the absence of a clear
group of people to mediate discussions around services I'm handing that
responsibility over to Rufus Pollock, who has throughout the years been
in contact with many people interested in budgets and providing budget
services. I trust him to take on the responsibility of putting together
this group of technical leaders. This is an interim solution because of
the position I am currently in and we should definitely act quickly to
form a group of people that share the responsibility of ensuring

I will still be around in the community, have opinions about other
solutions than only those I work on and opinions about how things should
operate. But I will, from now on, approach those discussions not from an
authoritative point, but as a peer community member, interested in
connecting lots of different services together. I am willing to continue
to be a member of the technical leader group when that gets formed, if I
am trusted with that, but that will have to be a decision that's made
when the group is established.

I hope you will all join me in taking OpenSpending into a new era (ok...
it's not really that dramatic -- it's not a new era -- but it's a big
change in focus) and together we'll build a connected system of
independent budget services.


[1] https://en.wikipedia.org/wiki/Stovepipe_system
[2] https://wikidata.org

More information about the openspending-dev mailing list