Marc G. Fournier wrote:
Why is it the core developers responsibility to make sure that an
application stays in sync with the main tree?  Personally, that is giving
life to software that could just as easily be unused by anyone, but kept
in the code base because "a commit was made to it less then 6 months ago"
...

Well, in the case of dblink, consider this:


- It is used by a fair number of people -- questions are answered on the
  lists at least once a week with "see contrib/dblink".

- It is dependent on backend code to the extent that it cannot be built
  outside of the contrib folder, unless some backend code is duplicated
  in the external project. It also has no build system of its own.

- dblink-type capability should someday make it into the backend, albeit
  in the form of something compliant to the SQL/MED spec. This is
  standard functionality in many of the RDBMSs that Postgres users
  migrate from, and it is needed by enterprise users.

- The maintenance burden on core developers is pretty minimal. Recent
  examples of where it was touched due to other changes in the backend
  are:

     * Tom - sort_mem to work_mem change
     * me - elog to ereport change
     * Neil - change to tuplestore_begin_heap declaration

   These changes were part of the routine "grep for all the affected
   code for the change I'm making", hence almost free (at least in my
   opinion, I'll let Tom or Neil object if they feel otherwise).

Had dblink been on gborg, they (Tom and Neil) never would have seen that their backend change affected it. It might have been weeks or months before anyone noticed that it no longer worked against cvs tip (possibly during beta for the next release). At that point the effort involved in figuring out why it no longer works, while not huge, is certainly not as small as the change-as-you-go approach we have now. I deal with this very issue for PL/R. I have to pay close attention to commit messages or I get bitten.

These same arguments apply to other things in contrib, and probably could apply to some that currently are not.

In any case, I don't understand what the driver is to kill contrib. I fully agree that it should be maintained (meaning that someone other than core is interested enough to provide patches if non-trivial maintenance is required to keep it compiling), and stuff that is not used or suitably licensed should be removed. The contrib build system ought to be maintained in working order in any case because it makes it far easier to extend Postgres with your own functions.

Anyway, just my 2cents.

Joe

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
   (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to