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

2017-02-02 Thread Tom Hughes

On 02/02/17 09:53, Mariusz Rogowski wrote:


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.


Firstly nobody can "make current maintainers" do anything - that's not 
how open source software works. People work on the things they're 
interested in and maintainers do their best to make some sense of the 
results and construct a coherent result.


More constructively, if you think those things are important then why 
not work on some of them?


It seems like some of them at least are things that would actually be a 
good way for somebody who wanted to get involved could get started - as 
you explore the code and learn about it you can document what you find 
and submit that as a pull request to add new documentation where things 
are lacking?


Likewise anybody could write a nice README encouraging people to get 
involved and I'm sure the maintainers would be happy to merge it.


Or you could draft some contribution guidelines - those might need to go 
round a few cycles of review to fit with the maintainers preferences but 
much of the work of writing them could be done by somebody else and 
offering something (however minimal) is a constructive way of suggesting 
that some guidelines be added that will likely work better than 
complaining that they are missing.


Tom

--
Tom Hughes (t...@compton.nu)
http://compton.nu/

___
dev mailing list
dev@openstreetmap.org
https://lists.openstreetmap.org/listinfo/dev


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

2017-02-02 Thread Mariusz Rogowski
Dnia Czwartek, 2 Lutego 2017 00:14 Frederik Ramm  
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 ;)




 




___
dev mailing list
dev@openstreetmap.org
https://lists.openstreetmap.org/listinfo/dev