[gdal-dev] CSharp bindings queued for removal (was Re: GDAL CSharp bindings maintainers/contributors listening... ?)

Rahkonen Jukka jukka.rahkonen at maanmittauslaitos.fi
Fri Jan 31 05:07:36 PST 2025


Hi,

It is always hard to know who are using products and services and software which can be accessed without a contract and a credit card. We have (unintentionally) noticed in our agency that despite the surveys and information campaigns, the feedback from the not-paying users really starts to flow in once we have unplugged the servers.  In this CSharp bindings case it seems that the threat of unplugging was enough to trigger the feedback and obviously the CSharp bindings are worth keeping even they may not be in the best possible shape.

As a comparison, I think that nobody reacted or noticed when the GDAL Perl bindings were removed in GDAL 3.5.0 release. An external alternative appeared and it is still maintained https://gdal.org/en/stable/api/index.html#gdal-ogr-in-other-languages, https://metacpan.org/dist/Geo-GDAL-FFI

-Jukka Rahkonen-

Lähettäjä: gdal-dev <gdal-dev-bounces at lists.osgeo.org> Puolesta Paul Harwood via gdal-dev
Lähetetty: perjantai 31. tammikuuta 2025 14.10
Vastaanottaja: Michael Smith <michael.smith.erdc at gmail.com>
Kopio: gdal-dev at lists.osgeo.org
Aihe: Re: [gdal-dev] CSharp bindings queued for removal (was Re: GDAL CSharp bindings maintainers/contributors listening... ?)

The problem about "moving" the bindings is going to be that all of the SWIG definitions for all bindings are intimately wound together. It would be a lot of work for little gain.

The danger of the "surveys and feedback" driven approach, which I felt like saying at the time of the last survey but in the end thought it would just be ignored, is that the approach, although good and important, is intrinsically biased towards certain channels.

The people who use the CLI are going to be massively over represented - since I am sure they all know what GDAL is and use the website.

However, there are vast swathes of end users of GDAL who have absolutely no idea what GDAL is.

- the vast majority of QGIS users, the archeologists, the data scientists etc etc have no idea what GDAL is,
- I am absolutely sure that none of the users of Google maps knows that (I am sure I heard anecdotally) GDAL is important to the data ingestion for maps,
- I know that very few of the users in R are aware of GDAL - even when they refer to rgdal in their scripts (it is just a name).

And just so, since the Java and C# bindings (and to a lesser extent the Python bindings in Fiona and Rasterio) are bundled to packages (e.g Nuget, npm and UPM) that are (in some cases) bundled into other packages that are bundled in to applications that are distributed - I am absolutely sure that no one does or can know how many end users are using GDAL through these channels but I would be willing to bet that it is orders of magnitude higher than you think it is.

The danger is, of course, that if you based strategy purely on the latest survey then you would say that GDAL should ONLY be a CLI.

If you based strategy on what we know about end user numbers, you would probably say that GDAL should be a dedicated module of QGIS and the CLI should be deprecated!

Or possibly a dedicated batch back end for Google maps.

NONE of these possibilities would be a valid response to our lack of knowledge.

On Thu, 30 Jan 2025 at 18:00, Michael Smith via gdal-dev <gdal-dev at lists.osgeo.org<mailto:gdal-dev at lists.osgeo.org>> wrote:
Maybe the bindings should be moved out if gdal to a separate repo so those interested in the bindings can monitor that specific repo and not gdal in general.

Mike


--
Michael Smith
Remote Sensing/GIS Center
US Army Corps of Engineers


From: gdal-dev <gdal-dev-bounces at lists.osgeo.org<mailto:gdal-dev-bounces at lists.osgeo.org>> on behalf of Tamas Szekeres via gdal-dev <gdal-dev at lists.osgeo.org<mailto:gdal-dev at lists.osgeo.org>>
Reply-To: Tamas Szekeres <szekerest at gmail.com<mailto:szekerest at gmail.com>>
Date: Thursday, January 30, 2025 at 12:41 PM
To: Even Rouault <even.rouault at spatialys.com<mailto:even.rouault at spatialys.com>>
Cc: "gdal-dev at lists.osgeo.org<mailto:gdal-dev at lists.osgeo.org>" <gdal-dev at lists.osgeo.org<mailto:gdal-dev at lists.osgeo.org>>
Subject: Re: [gdal-dev] CSharp bindings queued for removal (was Re: GDAL CSharp bindings maintainers/contributors listening... ?)

Even,

The silence is not necessary because we neglect the C# bindings, just because we are doing our daily work (using the bindings).
I'm personally maintaining the GDAL<https://www.nuget.org/packages/GDAL> and it's related nuget packages based on these bindings for several years and it has 658.1K downloads overall and 147 downloads per day in average. The packages are used by projects such as ArduPilot/MissionPlanner, DotSpatial, SharpMap which are also widely used projects, so we can consider the importance sigificant, and such change (removing the bindings entirely) would involve general dissatisfaction against GDAL I think.
In my opinion, we should also distinguish whether an issue reported against the binding is a blocker or just a nice to have change. In my understanding the implementation of the UTF-8 to unicode conversion at all relevant methods would be beneficial, but not something which would block the overall usage (it has already been done for the most important parts I think). If the required functionality is really important to someone, I think he/she will spend some time to contribute it or pay someone to make it happen.

I also think that the gdal-dev list is not proactively monitored by the GDAL users (or by the indirect users) well enough, so that we can make such decisions to remove a binding or a driver nased on that. Whe should probably find some alternative ways (like surveys or feedback forms at the site or gather some other statistics like doc page loads and downloads) by which the community can express their interest against a specific component and would be sufficient to detect disinterests.

In any case, I'll review and will be trying to to sort out some open issues against csharp in the next few weeks.

Best regards,

Tamas


Even Rouault via gdal-dev <gdal-dev at lists.osgeo.org<mailto:gdal-dev at lists.osgeo.org>> ezt írta (időpont: 2025. jan. 29., Sze, 5:33):

Hearing silence, the only logical conclusion is that there is no interest ==> https://github.com/OSGeo/gdal/pull/11746

Le 27/09/2024 à 20:15, Even Rouault via gdal-dev a écrit :

Hi,

This is your regular remainder that nobody in the core GDAL maintainer team is a CSharp aficionado (we don't have a personal grief against it, just that we are blatantly ignorant, at least speaking for myself !), so related tickets about it will definitely result in no action.

See https://github.com/OSGeo/gdal/issues?q=is%3Aissue+is%3Aopen+label%3A%22csharp+bindings%22

The current trend is that people seem to be annoyed by UTF-8 related issues. The issue is likely that our methods that accept or take a const char* in the SWIG bindings should use a specific typemap to map to CSharp Unicode strings instead of the "C" one or whatever those concepts are called in CSharp. There is an existing "utf8_path" typemap that is used in method that accept filenames, that should probably be renamed to utf8_string and be used more extensively. And probably with a version of the methods to also return a raw C string / bytearray in the cases where drivers don't know the encoding and might return "random" stuff. Cf pull request #10652 where I did something for Java that suffered from that later issue.
Happy pull requests!

Even

--

http://www.spatialys.com<http://www.spatialys.com/>

My software is free, but my time generally not.


_______________________________________________

gdal-dev mailing list

gdal-dev at lists.osgeo.org<mailto:gdal-dev at lists.osgeo.org>

https://lists.osgeo.org/mailman/listinfo/gdal-dev

--

http://www.spatialys.com<http://www.spatialys.com/>

My software is free, but my time generally not.

Grumpy maintainer.

"De l'égo à l'égoût, il n'y a qu'une bouche mal refermée", André Isaac
_______________________________________________
gdal-dev mailing list
gdal-dev at lists.osgeo.org<mailto:gdal-dev at lists.osgeo.org>
https://lists.osgeo.org/mailman/listinfo/gdal-dev
_______________________________________________ gdal-dev mailing list gdal-dev at lists.osgeo.org<mailto:gdal-dev at lists.osgeo.org> https://lists.osgeo.org/mailman/listinfo/gdal-dev
_______________________________________________
gdal-dev mailing list
gdal-dev at lists.osgeo.org<mailto:gdal-dev at lists.osgeo.org>
https://lists.osgeo.org/mailman/listinfo/gdal-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20250131/c56c3f20/attachment-0001.htm>


More information about the gdal-dev mailing list