W dniu 24.10.2011 01:20, Ben Finney pisze:
I would very much like that to change – that programmers should expect a
most application writers, and for applications to declare the library
versions they expect in a standardised, automated way. But I don't know
what to do to get there.
I'd like to throw a few comments here. I speak both as an web
application developer, debian packager (well, packaging my application
for debian-based systems) and deployment/ops engineer.
Asking for this is *highly* unrealistic and will only further alienate
developers from Debian's way of doing things. Current best practice is
to use CDNs that distribute a particular or latest version of a library
(jQuery for example has several such networks available) or to bundle
the library directly.
The reason for this is simple: quality control and portability (across
Another thing to point out is that unlike traditional applications where
linking is explicit and done before actual startup here the linking
happens at another machine, the one of the user of the web application.
The actual library can come from a yet another system. The key issue to
point out here is that this is not really linking the way we think about
it. Here it is not code but data.
Debian-as-a-platform. I would encourage a different approach altogether:
explicit mutli-versioning (ideally for all upstream releases or for all
upstream releases that are known to introduce features and are not
emergency bug/security fixes) and explicit version dependency that
matches upstream. That later requirement may be ignored if uptream is
not responding or the application is known to work correctly with
another version of a library.
This approach will allow web application developers to use Debian in the
way they expect systems to work.
At the end of the day I cannot use Debian's jQuery because I must
control what goes out to ensure quality. Multiply this problem by
co-hosting many applications and you get the answer.
As long what I described above is the prevailing point of view or
libraries will only fill a niche where someone deploys a packaged
wiki/bug tracker/something else for their small team/co workers.
More complicated web applications will be deployed outside the packaging
system, without any reuse of packaged libraries, without any advantages
that Debian brings to the table.
PS: re-sending from subscribed email, if you get a dupe please excuse me.