<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jan 12, 2021 at 11:36 PM Even Rouault <<a href="mailto:even.rouault@spatialys.com">even.rouault@spatialys.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
The issue with esoteric/legacy drivers is not that much maintenance of the <br>
actual code of the drivers, in the sense of dealing with bug reports, <br>
questions, etc. (pretty sure they are none for the ones I listed). Most of <br>
them must work reasonably well and be feature complete, and most <br>
vulnerabilities have now been fixed. My concern is that this legacy code has <br>
indirect costs on other GDAL developers and users. The psychological cost I <br>
mentionned. Let's say someone want to turn on higher warning levels, and that <br>
this breaks in tens of drivers. Would he have to ping every maintainer and <br>
wait for them to address the issue ? Or maybe he will just give up. Similarly <br>
for breaking changes in the driver API. As Sean mentionned, this is probably a <br>
serious obstacle to growing up the core development team.<br></blockquote><div><br></div><div>Given that we have a relatively easy way to disable individual drivers at compile time, could we expand on this mechanism to mark problematic drivers as "orphaned" in this case? The code would still live in the repo but would be effectively disabled until someone with sufficient interest invests the time/money to update the problematic code and re-enable it.</div><div>This will of course create some overhead to keep track of which drivers have been orphaned from one release to the next, create github issues/labels to list which drivers need work to be re-enabled, etc... But it shifts the burden of maintaining the codebase of 250 drivers from the core team over to the people/companies who actually need them. I'd be willing to contribute the scripts that could ease the process of orphaning/reintegrating a specific driver.</div><div><br></div><div>Regards,</div><div>Thomas</div></div></div>