[Rd] RFC: 'igraph' package update and backward compatibility

Allen S. Rout asr at ufl.edu
Mon Oct 24 16:43:59 CEST 2011

On 10/20/2011 11:57 AM, Hadley Wickham wrote:

> Generally, the absence of versioned dependencies makes it extremely
> difficult to aggressively improve the design of a package.

I think that aggressively varying a given packages' API would be
confusing to most users, and damage acceptance of the package.

No matter how implemented, the semantic work remains: if ggplot2 V0.89
has features I desire, I must re-examine all of my code in light of
all the changes between V0.80 and current.  Ugh.

I think that many folks desire to upgrade because of some process like
"Oh!  I see on the list that Hadley fixed [irritating inconvenience] I
was wrestling with.  I can now use [recent happy thing] on my code I
wrote last January.

Making that a difficult, thought-intensive process would, IMO, hurt more 
people than it would help.  By a lot.

> I can not easily remedy them without breaking large amounts of
> existing code or starting work on ggplot3.

My sense is that your position is unusual: you are doing original
research all up and down the stack of visualization, representation,
analysis...  This means that you have bona-fide new structures, which
would simply demand new APIs, with much greater frequency than many

Maybe the answer is to lower your internal resistance to revising the
package name?  This would accomplish your multiple-versioning cleanly,
and clearly communicate the immiscibility of the Old Code with the New
to your customer base.  You clearly see a large hump of work to be
done before you move to the new version, but you could give yourself
permission to rev it every.. what; year?  Two?

ggplot2012?   :)

- Allen S. Rout

More information about the R-devel mailing list