Replies: 4 comments
-
Thanks a lot @idanmiara for bringing up this issue. I totally agree with you on this situation. It is a problem not only limited to shapely, but also to many other open-source projects. I have to think about this one for a bit. Maybe good to plan a video chat about this subject with some contributors. |
Beta Was this translation helpful? Give feedback.
-
Sounds good 👍 feel free to invite me if I can be of further assistance. |
Beta Was this translation helpful? Give feedback.
-
First of all @idanmiara thank you for writing this. I converted this to a discussion because I think we're nowhere near having a plan to do things to make Shapely more sustainable. Me, I'm the original author of Shapely and its primary maintainer for 10+ years until GeoPandas became popular. I've also been a participant in the GDAL community for ~20 years. I don't have all the answers, but I do have a solid perspective and a long history in open source. Let me be clear that I (speaking only for myself) am not maintaining Shapely in my free time. I am fortunate to have a position where I'm paid to work some amount on Shapely (along with Rasterio and Fiona). But I don't get to work 100% on Shapely. I get to work about 20% of the time on applications of Shapely, which is great, but just a few hours a week on the library itself. It's my understanding that other core developers are in the same boat and that among us we don't add up to one full-time maintainer. Because we don't have a full time paid maintainer it is easy to get overwhelmed by issues and PRs as @idanmiara pointed out. And as @caspervdw pointed out, this is normal for open source projects. I think we have two related issues here. Shapely has few resources and is doing a poor job of explaining the situation. I'd like to work on the latter because I'm not optimistic that we can do anything about the former. GDAL/GEOS/PROJ/QGIS only have 1-2 full time maintainers between them (due to fund raising work by Howard Butler and Paul Ramsey) and I seriously doubt there's much money out there for Shapely. Shapely is kind of a victim of its success: high value, low cost, no incentive for people to pay to change things. Shapely needs a contributing doc for starters. How can a developer know that the project cannot handle multiple huge PRs? Shapely doesn't give any guidance about this. A contributing doc that says "Ask first, build consensus, make small PRs" could let people know what kind of contributions are welcome. Shapely needs a Steering Committee, documentation of its governance, and regular PSC meetings with summaries and communication. Without these things, it's very hard for contributors to know what is in scope for future development, what is out of scope, and how to influence the scope. I believe we need these two things first before we start looking for funding. Preventing fruitless PR work helps everybody immediately, as does explaining who decides what work is worthwhile and how they decide it. I also believe that it's completely fine for Shapely to continue to evolve slowly and not make a lot of changes after 2.0. There's no rush. |
Beta Was this translation helpful? Give feedback.
-
Hi! |
Beta Was this translation helpful? Give feedback.
-
Hi,
This issue is to discuss how we can make Shapely support more sustainable, meaning that Issues/PRs will get more promptly support and also that companies/individuals that want some new feature would have easy way to fund it.
As far as I see Shapely was not funded or accept donations, and some dear people are maintaining the project
as volunteers in their free time.
This issue is NOT to complain about anyone - quite the opposite - By first acknowledge and saying thank you for the people who donated their time and effort for supporting this wonderful project. This issue is to discuss how we can make it even better.
A recent quote of @jorisvandenbossche #1668 (comment):
As you might have noticed the last two weeks, the feedback capacity and response time in the project in general is not that great .. Time from maintainers is limited, and I am myself also helping to maintain shapely as a volunteer in my free time. That means that contributions from others are very much appreciated! But that also means that it helps keeping PRs as focused as possible, making it easier to review them, increasing the chance you get a timely review and PRs get merged in a reasonable time (which will also help to ensure contributing to shapely is a rewarding experience also for you)
A side effect of this situation, is that some PRs (sometimes even trivial fixes/enhancements) are standing for weeks or sometimes even months without discussion or just not getting merged after the discussion was concluded positively. Sadly, this might lead to discouragement of future contributions by people who made efforts to improve Shapely and made PRs or even discourage new contributors from getting involved in the first place.
I would like to point out two solutions for a similar issues in GDAL and QGIS.
Please feel free to propose other ideas.
GDAL - Numfocus (dated January-July 2021):
https://gdal.org/development/rfc/rfc80_numfocus_relationship.html
https://gdal.org/development/rfc/rfc83_use_of_project_sponsorship.html
https://numfocus.org/sponsored-projects/affiliated-projects
https://docs.google.com/document/d/1yhMWeI_LgEXPUkngqOitqcKfp7ov6WsS41v5ulz-kd0/edit
https://docs.google.com/document/d/1bc5jdpCe1axdyBHxbJnun7e0DTyDoZI_eFYgJYnOhB8/edit
https://lists.osgeo.org/pipermail/gdal-dev/2021-April/053886.html
https://lists.osgeo.org/pipermail/gdal-dev/2021-January/053303.html
QGIS Commercial support/Grant/crowd-finding:
https://www.qgis.org/en/site/forusers/commercial_support.html
https://blog.qgis.org/2022/01/16/qgis-grants-7-call-for-grant-proposals-2022/
https://plugins.qgis.org/planet/tag/crowdfund/
Thanks again for the maintainers and other supporters who contribute to Shapely on their free time.
Thanks, and happy new year!
Beta Was this translation helpful? Give feedback.
All reactions