Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[GeocodeEarth] Update README #1115

Merged
merged 2 commits into from
Mar 13, 2021
Merged

Conversation

missinglink
Copy link
Contributor

This PR updates the GeocodeEarth provider README:

  • add example usage
  • provide more clarity on where to get an API key
  • link to the official docs

note: I haven't written any PHP in like 10 years so please let me know if anything can be improved ;)

I'll likely follow up with some updates to the Pelias and Mapzen providers.

Copy link
Member

@jbelien jbelien left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for your contribution.

Comment on lines 21 to 71
Geocode Earth uses the Pelias Geocoder under the hood. You can view it's [documentation here](https://github.com/pelias/documentation).
The base API endpoint is https://api.geocode.earth.
You can view the complete [API documentation](https://geocode.earth/docs) on their website.
The base API endpoint is `https://api.geocode.earth`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why removing mention to Pelias ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

True, there is some overlap with the documentation we publish for the open-source project at https://github.com/pelias/documentation and the docs we publish for the hosted service.

GeocodeEarth is a hosted distribution of Pelias from the authors of the project, it's not exactly the same as what you get when you download the FOSS software and run it yourself.

The documentation for downloading and installing Pelias is not relevant for users of Geocode Earth and likewise documentation about authentication and rate-limits is not relevant to users cloning the repos.

As the founder/maintainer of both I'd prefer if the correct documentation was linked to for each, although I'm not against cross-linking to https://github.com/geocoder-php/Geocoder/tree/master/src/Provider/Pelias if you think that is beneficial.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, I understand 👍

Since our GeocodeEarth provider is based on our Pelias provider (see below), I would indeed keep a mention to our Pelias provider somewhere in the README.

final class GeocodeEarth extends Pelias implements Provider

PS: I didn't notice you are the founder of Pelias and GeocodeEarth ; thanks a lot for your awesome work ! 🤩

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the kind words.

Here is a matrix of providers and the FOSS software they use to power their commercial business:

Business FOSS Role
Geocode Earth Pelias Maintainer
Mapzen Pelias Previous Maintainer
Open Route Service Pelias
Graphhopper Photon Maintainer
OpenCage Nominatim Maintainer
Mapbox Carmen Maintainer
LocationIQ Nominatim

I would love to see other geocoding businesses providing attribution to the developers who build and maintain the software which powers their commercial business, particularly those which don't contribute back to the project.

I suspect the reason they don't do so is because they don't want users to know that there is a FOSS alternative available to their commercial service.

By providing Pelias for free (and by linking it from our business provider page) we are giving users full control over how they configure and host their geocoder, I think this is in the best interest of developers and the community at-large.

This does however put us at a disadvantage compared to a company like cough LocationIQ cough who do not attribute the authors and maintainers of the FOSS software which powers their platform (these guys go as far as removing attribution from source code after forking repos).

The nett effect of this is that all the costs of developing/maintaining/testing the software fall on the maintainers of the FOSS software while all the finances required to sustain maintenance of the software go to the commercial providers.

I'll go ahead and make that change, I think you're right, it's the best thing for users of this library to have informed choices about whether they would prefer someone hosted it for them (for a fee) or they hosted it themselves.

We have a steady stream of SaaS clones popping up powered by Pelias who compete directly against the authors and maintainers while passing support issues on to us:

Ben Thompson wrote an excellent summary in his piece AWS, MongoDB, and the Economic Realities of Open Source almost two years ago. To summarize his summary: if you give your secret sauce away for free, and it gets popular enough, cloud providers will inevitably spin up competitive services using your very own code against you. They will ruthlessly, unapologetically, shamelessly bludgeon you with a rubber chicken of your own fashioning. They’ll take a dump in your front yard while your lawyer stands over your shoulder whispering, “nothing can be done.”

https://joemorrison.medium.com/death-of-an-open-source-business-model-62bc227a7e9b

Sorry for the rant 😆

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for the rant 😆

Not at all, this is awesome information.
I wasn't aware that Mapzen, Graphhopper, OpenCage, Mapbox, and LocationIQ were based on FOSS software.
That should also allow use to "merge" some of our providers (like we did for Geocode Earth and Open Route Service, both extending the Pelias provider).

I'll also make sure to attribute properly the FOSS software begind the geocoding service in our README files.

Thanks for the link to the article. 👍

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

51p7yz

Thanks!

src/Provider/GeocodeEarth/README.md Outdated Show resolved Hide resolved
@missinglink
Copy link
Contributor Author

I'm not sure why the tests are failing, is that something I did?

@missinglink
Copy link
Contributor Author

I just pushed c9f0b17 to action the feedback.
I'll squash those commits before merging, it's just easier to review like this 😉

@jbelien
Copy link
Member

jbelien commented Mar 13, 2021

I'm not sure why the tests are failing, is that something I did?

haha, no, don't worry.

@jbelien jbelien merged commit 7d2814e into geocoder-php:master Mar 13, 2021
@jbelien
Copy link
Member

jbelien commented Mar 13, 2021

Thanks a lot @missinglink fot his PR full of information. 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants