[OSM-dev] Release openstreetmap-carto v2.25.0

Andy Allan gravitystorm at gmail.com
Thu Dec 11 15:16:09 UTC 2014

On 11 December 2014 at 12:10, Christoph Hormann <chris_hormann at gmx.de> wrote:
> I am somewhat reluctant to bring up this problem since i think the more
> active development is a good thing in total and i don't want to
> badmouth this.

I'm glad that you bring this up, please don't be reluctant! I know
that the development process for openstreetmap-carto could do with
some improvements.

First subject: The merging of changes. My normal process it to go to
the list of pull requests assigned to me, and then work down them from
the top down, i.e. dealing with the newest things first.


I first try to merge anything that's complicated, like a refactoring.
Small changes like changing zoom levels of an icon are easier to redo
later on if there are merge conflicts.
Secondly I merge any small 'no brainers' like fixing text-dy. There's
no need for them to wait.
Then I do other things, starting with stuff where I'm happy with the
fix and they can be merged with no conflicts.
Then I start working through any of the above that now needs manual
conflict resolution.
Then I revisit things that I've passed over - things that take more
thought, or where I'm considering rejecting the pull requests or
asking for modifications.

It seems elaborate perhaps, but it's basically just me trying to get
as many things merged in the limited time that I have available.

>From that it would be a reasonable conclusion to think that I'm being
a bottleneck on the development - well, perhaps I am. But what is
frustrating me most is that I end up spending all my time working on
pull requests that I simply don't think are the most important tasks,
but there are so many of them (and so many calls for me to hurry up
with the reviews) that I never actually work on anything else. The
time I'm not spending reviewing and merging PRs I'm instead spending
wading through all the comments on issues, which are still running at
over 100 a week.

But these are just implementation details. The bigger problem is that
after 2 years of work we're not making much progress on the most
important things.

The style we have now is pretty much the same as it was two years ago.
We've made hundreds of changes and I'm a fan of iterative development,
but I'm not sure that we're iterating in any particular direction. I'd
love to "sort out" the mishmash of colours, but I'm disheartened by
how long it is taking us to sort out just the buildings, and solving
the 'trunk roads in forests' and the hundred other problems like this
seems a long way off. Even when we're changing small things we get
bogged down in endless debates and scrutiny, and unfortunately all the
debating doesn't actually lead to significantly better results.

I don't like reviewing the pull requests. It's not fun. Almost every
one I merge I think that I'd have done something slightly differently
- an extra zoom here, a different colour there, a changed icon etc.
I've deliberately tried not to bikeshed every single pull request and
so ended up merging a lot of stuff that's not quite to my taste or
changes that aren't entirely cohesive. Am I getting this wrong? Should
I be delaying more PRs until I get time to tweak them? Or should I
stop reviewing the PRs entirely and just merge any of them that don't
cause syntax errors?

One thing that I'm still sure of is that we need a *team* of
cartographers. There are too many things in the map, and too many
ideas and discussions for the style for it to be run by just one
person. And the work that we're doing now is 10 times more than I
could do without the help of everyone who is working on it. But I
don't know how best to organize ourselves. And I'm still unsure if
it's possible to have a consistent, coherent, nice and yet detailed
map with dozens of people making iterative changes. I hope it is!

So I pose a question that's most pressing on my mind - should the
other maintainers be merging PRs without me reviewing them first? Will
this lead to a better result?

If anyone has any advice, I'm all ears.


More information about the dev mailing list