[OSM-dev] Odp: Re: Make Nominatim more dev friendly

Mariusz Rogowski cm-sanitas at wp.pl
Thu Feb 2 09:53:35 UTC 2017

Dnia Czwartek, 2 Lutego 2017 00:14 Frederik Ramm <frederik at remote.org> napisaƂ(a)

>    I'm not a Nominatim developer but I've followed Nominatim development
> and issues for a while. One thing that contributes to the impression
> that "pull requests/issues are ignored" is that Nominatim aims to be a
> good, or at least a functioning, geocoder for the whole planet.
> Contributors (understandably - that's how Open Source works) often
> scratch their own itch, they find a problem with Spanish addresses and
> submit a fix - but they don't notice (or care) that it breaks geocoding
> elsewhere (for example https://trac.openstreetmap.org/ticket/4895 where
> someone adds stop words).

That's why it is important to prepare extensive test suite (also enabling some locale parameter for searches would be nice to have). Than just don't allow pull requests which don't pass existing tests. Easy ;)

> You said you're a developer, have you actually tried to participate in
> the Nominatim devlopment?

Not yet. Lack of guide, architere descriptions, mentioned pull requests and lack of knowledge of some kind of big picture is not encouraging.

> > [4] - https://github.com/twain47/Nominatim/issues/467
> Are you the user "sanitas2" from this issue? I've read through it and I
> must say that I find the reaction of the developers absolutely
> understandable. I don't think you have been helpful, respectful, or
> polite in that issue.

I think both sides could have behave better.

> > Anyway, I think the solutions to the problems are quite obvious. How can I convince someone to make the project open and friendly to new collaborators?
> I think this public claim that the current developers ignore "obvious
> solutions" won't do much good to improve their enthusiasm. What is your
> suggestion? Chuck out the "unfriendly" developers and replace them with
> whom? Or force the developers to spend more of their spare time trying
> to understand your issue?

By obvious steps I mean:
1. Make current maintainers stop working on existing issues (if they don't have time). The biggest issue right now is the project is not attractive to new developers. Fix that first. What I mean in details e.g. is: 
 - Close pending (for years) pull requests.
 - Prepare nice project readme which mentions contributors are needed and welcomed.
 - Prepare documentation of existing code base. Things like architecture, languages used, test approach etc.
 - Prepare some contribution guidelines.
 - Prepare some big picture. Project is quite old, I guess technologies and architecture chosen might be quite obsolete. Maybe someone should review the current approach and decide on some bigger targets than fixing single small issues. E.g. sometimes I feel that that putting address data to some search engine could get rid of lots of logic in Nominatim code.

Anyway, make the project as attractive as possible for new people. There are people who want to contribute to open source projects. You could get contributors from Google Summer of Code, Hacktoberfest, Hackathons and Code Retreats. But you need to make project look like it's worth ones time.

2. Ask for help/feedback OSM partners or universities. E.g. mapquest provides Nominatim service. Maybe they won't be able to do any coding, but maybe they might have some thoughts about direction project should go. As of universities, every year hundreds of people are looking for project for master thesis, making them know there is interesting topic available may attract them to Nominatim.

3. Announce the project needs contributors on OSM blog/website.

4. Maybe OSM fundations should consider hiring people to work on OSM projects?

Those are ideas from top of my mind. Maybe not the best ones, but still those are better things to do than complain about being understaffed ;)


More information about the dev mailing list