<div dir="ltr"><div>Hi Sean,</div><div><br></div><div>I would also be supportive to formalize the driver submission process.</div><div><br></div><div>Best regards,</div><div><br></div><div>Tamas</div><div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Sean Gillies <<a href="mailto:sean@mapbox.com">sean@mapbox.com</a>> ezt írta (időpont: 2021. jan. 28., Cs, 17:39):<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi Tamas,</div><div><br></div><div>Are you suggesting that a RFC be required for a new driver? I would support this 100%.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jan 27, 2021 at 2:17 PM Tamas Szekeres <<a href="mailto:szekerest@gmail.com" target="_blank">szekerest@gmail.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"><div dir="ltr"><div>David,</div><div><br></div><div>Up to this time the driver writers were highly welcomed to author new drivers for the project and these effort didn't require a separate RFC in terms of the <a href="https://gdal.org/development/rfc/rfc1_pmc.html" target="_blank">Project Management Committee Guidelines</a> document. Adding new drivers hasn't been considered to be substantial changes or something that causes to change the API or brings in backwards incompatibility issues.</div><div>However in a real deployment situation the drivers may cause issues for the developers, end users and package maintainers from several aspects like so:</div><div><br></div><div>1. The drivers may depend on external libraries and we don't want to link against those libraries in all cases.</div><div>2. The external libraries may cause license incompatibilities, ie linking against that may change the license terms of the overall project.</div><div>3. Not all of the drivers are required in a particular solution (that applies to the built in drivers, too). In a real situation the application may use only a limited set of drivers and the existence of the unwanted drivers may cause some performance degradation.</div><div>4. Implementing custom compilations (and omitting unwanted drivers from the build) may be problematic for most of the users or projects utilizing gdal as a sub-project.</div><div><br></div><div>In my opinion, the current solution of incubating new drivers is fairly minimalistic, we might probably want to know what kind of format is being addressed, who is the audience, how amount of user might be of interest, how the licensing of the dependent project is looking like, is the dependent project (if any) maintained well enough and can be compiled to each supported platforms etc.</div><div><br></div><div>But replying to the question, I think you shoud continue the effort, but consider to implement a plugin build for that. There are several existing drivers are compiled as plugins at the moment, so it should not be so difficult.</div><div><br></div><div><br></div><div>Best regards,</div><div><br></div><div>Tamas</div><div><br></div><div><br></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">David Brochart <<a href="mailto:david.brochart@gmail.com" target="_blank">david.brochart@gmail.com</a>> ezt írta (időpont: 2021. jan. 27., Sze, 15:29):<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">I am currently trying to add a Zarr driver to GDAL (see <a href="https://github.com/OSGeo/gdal/pull/3411" target="_blank">https://github.com/OSGeo/gdal/pull/3411</a>), but from what I can see the trend is to remove drivers, so I'm now wondering it I should pursue this effort. I'm relatively new to GDAL, but from my point of view supporting a lot of formats is part of GDAL's success, so maybe the real focus should be on implementing a plugin mechanism that would allow driver development independently from core GDAL. Again, I might not have enough background to give valuable feedback.<div><br></div><div>Regards,</div><div><br></div><div>David.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jan 27, 2021 at 12:34 PM thomas bonfort <<a href="mailto:thomas.bonfort@gmail.com" target="_blank">thomas.bonfort@gmail.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"><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" target="_blank">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></blockquote></div></blockquote></div></div></blockquote></div><div><br></div>-- <br><div dir="ltr"><div dir="ltr">Sean Gillies</div></div></div>
</blockquote></div></div>