Subject: Re: [netmod] Y45 again

From: Andy Bierman <[email-masked]>
Date: Wed, 1 Apr 2015 20:54:34 -0700

On Tue, Mar 31, 2015 at 12:31 PM, Phil Shafer <[email-masked]> wrote:
> Andy Bierman writes:
>>I am curious -- if import-by-revision is such a great way to manage
>>external dependencies, then why aren't there any programming languages
>>that work this way?
>
> Most systems have to construct a versioning mechanism after the
> fact, via installation tools or library systems.   There are
> approximately one zillion means of doing this, mainly consed up
> from the depths of the installation system programmers' minds.  To
> my mind, the sheer volume of version-based installation tools (and
> the number of times they fail) infers that no one's got it right
> yet.
>

So are you saying that humans reading and writing YANG modules
will do a better job of managing a rats nest of complex dependencies
better than tools?  We will end up so one cannot even read a YANG
module without complex tools.

With the current proposal, an import without revision is tied to a
revision picked
by the server, known only in the advertisement.  The typedef and grouping
drift does not go away at all.

So what does this proposal really fix that just doing nothing
doesn't fix as well?  I would prefer a simple and deterministic
approach:

   * if a server has multiple revisions of any protocol-accessible objects,
      then the most recent revision of these revisions is the one that is
      advertised.

    * the revision used for augment is determined by the augmented module,
      not the augmenting module(s).

> In YANG we're attempting to address this internally.  Doesn't mean
> we're wrong, just that we know we can't depend on an external
> technology to do this for us in a portable, interoperable way.
> Lacking an "install" phase, we can't really count on apt-get, yum,
> pip, gem, ninite, yast, pkg, brew, dpkg, port, fink, pacman, ipkg,
> etc [1] to do the work for us.
>
> Thanks,
>  Phil

Andy

>
> [1] Okay, that's off the top of my head.  I stopped before I reached
> to wikipedia:
>   http://en.wikipedia.org/wiki/List_of_software_package_management_systems
>
> [2] Yes, there's really a "petget", the installer for "Puppy Linux".
> Gag me with a chew toy!
>
> [3] No, I really have no clue how to spell the past tense of "cons".