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