Next steps
Robert Goldman
rpgoldman at sift.info
Wed Nov 17 17:37:15 UTC 2021
On 17 Nov 2021, at 11:08, Stelian Ionescu wrote:
>> 2. I *desperately* want to add version upper bounds. There is a real
>> problem of having someone change a library under one's system, and
>> *pace* Faré, sometimes one does not have the resources to handle
>> updates to every library in one's build chain.
>
>
> It's part of the social contract of open source that you get things
> for free but you need to stay up-to-date with your dependencies.
That simply does not work for everyone, *definitely* including me. My
company can't afford to pay me to keep every piece of software lying
around updated with all of its dependencies. When a contract is done, I
often can no longer maintain related software. Similarly, I use a lot
of software written at universities as part of some research project
that will eventually end. Other examples abound. There's a *lot* of
software out there that could be useful, but that is not useful enough
to the original author that they are going to maintain it *ad
infinitum*.
In such cases it's better that if we pull this stuff out of mothballs:
(1) we don't have to flail around trying to guess why it doesn't work
any more and (2) we can find an old working configuration.
In the best of all possible worlds, everything would always be
up-to-date, but that is not the world we live in -- or at least not the
one that I live in.
>> 3. I am not that worried that we will end up in the kind of mess
>> that concerns you: right now there are an enormous number of Lisp
>> libraries that don't even have version metadata *at all* . So if
>> people want to use expressive versioning in a sub-region of the lisp
>> development ecosystem, that is unlikely to cause the problems you
>> see, and might help *some* of us manage our dependencies.
>
>
> I am worried because once you make something easy, people will be
> tempted to use that feature. Authors aren't currently adding metadata
> because it's purely decorative and there's no real gain in maintaining
> that.
On the contrary, *minimum* version constraints already exist. So it's
not true that metadata is purely decorative. It's because people are
slobs, or are not aware that the metadata are available.
--
The argument here is the same argument as Faré has made: all software
should always be maintained and kept-up-to-date. But Faré is a
programming superhero. I'm a mere mortal, but I *am* the ASDF
maintainer, and at the end of the day, I have decided that version
constraints like `(:version "my-unstable-library" < 3)` or something
like that *will* go in to ASDF.
The worst that will happen is that someone will put in an
overly-restrictive version constraint. Given the state of the CL
software ecosystem vs., e.g., Python, I think it's quite unlikely that
there will be a lot of overly-tight restrictions out there. And the
ability to have upper bounds meets an actual need that is under-served.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20211117/30c89af7/attachment.html>
More information about the asdf-devel
mailing list