Repository navigation
Plotly is retiring its R documentation #2456
Description
Activity
Some thoughts for a potential path forward:
A great deal of the complexity in this project arises from the fantastic work of @cpsievert to map between two API's - ggplot2 and plotly.js. The value of this to the R community cannot be understated! Like many other users, my first introduction to plotly was via
ggplotly(), and this functionality contributes greatly to the widespread usage of plotly in the R community. Since then, I have transitioned to exclusively using theplot_ly()method to generate plots because using the "native" interface opens up more granular formatting tweaks and broader capabilities (i.e 3D visualizations).When I look at the issue backlog, the many issues are related to either feature requests for new ggplot2 geoms or features (i.e. #2425, #2438, #2451), or bug reports related to breaking changes in ggplot2. (i.e. #2455, #2358, #2212). I can see how this situation might be undesirable to the Plotly organization. Instead of simply maintaining the R package to support ongoing development to the plotly.js, the scope now implicitly includes supporting a fairly fast-paced stream of new features and occasional breaking changes of a third party dependency.
In addition, the current bundled version of plotly.js is v2.11.1, which was released in March, 2022. I would speculate that the extensive integration and test coverage to support
ggplotly()contributes significantly to the effort required to bump the plotly.js version, though integrations with Shiny, Rmarkdown, Quarto, HtmlWidgets, may also be a source of friction. Regardless of cause, I see how the Plotly organization might see falling more than 3 years behind upstream plotly.js development has put this library in an untenable state.In short, the the R plotly package is in an awkward position, forced to make updates between two upstream sources maintained by different parties, with no official development resources to support.
Perhaps the Plotly organization would be willing to continue treating R as a "Tier-1" supported language with official documentation if we made the following changes:
- Create an R "plotly core" package that decouples from
ggplot2and acts as a thin wrapper of the plotly.js API (I took a first stab at such an effort in this branch and validated thatggplot2can be removed as a dependency and plots show up as expected after updating to the latest release of plotly.js) - Garner community support to keep that R package reasonably up to date with the latest plotly.js releases
- Explore implementing scripts to machine-generate R functions in a similar manner to how the R Figure Reference is machine-generated from the schema specification to streamline R support of new features.
A new ggplotly focused package (or, optionally, this existing package for the sake of continuity to end-users) could then import functionality from the "plotly core" package and support continued feature development for new geoms and keep up-to-date with ggplot2 changes, with acknowledgement that such efforts are outside the scope supported by the Plotly organization.
P.S. @tdhock I noticed you were a substantial contributor to this project early in it's lifecycle. I've been very impressed with your leadership in reviving development of the data.table package as a community effort when it came time for the original maintainer to move on, I am curious if you have any thoughts on what the best path forward in this situation might be!
Reacted by splendiduser, Bernhard Klingenberg, Sounkou Mahamane Toure, Mkranj, Noah Greifer, Håkon Tjeldnes and waynerroper- Create an R "plotly core" package that decouples from
No concrete news from us, but we are discussing this internally.
I can see the appeal of creating a new core package without support for ggplot2, but our experience doing this sort of extraction in the past is that it's quite a bit more work than you expect, and does increase the overall long-term maintenance burden. I think the ideal outcome would be better support for the existing package.
Reacted by Matt Summersgill, William Gearty, Adam H. Sparks, Sounkou Mahamane Toure, Bob Taylor, Tobias Fellinger, Mikkel Roald-Arbøl, ismirsehregal, Peng Zhang and Sebastian KopfReacted by Lluís Revilla, Liz Roten, Albert Vill and Sebastian KopfFrom the Plotly side -- also no concrete news from Plotly as of today, but we've seen the community response and passion about this project and keeping it 🚀 for the future. @hadley, I was chatting with @cpsievert over email and I'll add you as well to chat about what we can do between Plotly and Posit to help keep the project moving forward.
Reacted by Lluís Revilla, Bob Taylor, Bernhard Klingenberg, Mikkel Roald-Arbøl, said and Peng ZhangReacted by Matt Summersgill, ismirsehregal, said and Sebastian KopfHi everyone, long time maintainer of the R package here.
Posit (my employer) will be funding a contractor to help me migrate the plotly docs to a new location. We'll also be coordinating with Plotly so that plotly.com/r will continue to be available until that work is done -- only then will plotly.com/r point you to a new location.
More generally, I want to highlight that Plotly's announcement changes nothing about the state of the R package. I have been (solo) maintaining the R package on a part-time basis at Posit for the last 7 years and will continue doing so. Both Posit and I view Plotly R as a critical piece of the overall R experience, so we won't abandoning it anytime soon.
Relatedly, I'd like to keep the discussion here focused on the new plotly.com/r experience. If there are questions or suggestions for future development, please open a new issue.
Reacted by beng-phrasia, Mikkel Roald-Arbøl, struckma, Lluís Revilla, GEN, Michael Liou, Ben Bolker, nnrivera, ismirsehregal, jx8989 and 29 moreReacted by Kar, Edward-Gillian and Yangzhuoran YangReacted by struckma, Gisela Gabernet, Vikesh Ajith, GEN, Michael Liou, nnrivera, Besttd, Thomas Flament, Mads Lund, Matt Summersgill and 25 more
I am opening this issue as a potential avenue for some thoughtful, respectful community discussion about the current state of the plotly R package, it's relationship and support by the Plotly organization, and potential paths forward for community maintenance.
According to this community announcement, the Plotly organization is preparing to retire R documentation in November 2025.
It would be fantastic to see an entity like Posit pick up the torch and host the documentation (or even support more maintenance efforts to get the R plotly documentation back up to date) in a similar manner to how it supported the "tidyverse" - perhaps just wishful thinking on my part though.
In lieu of a knight-in-shining-armor swooping in, what might be the best path to transition documentation to a new hosting location?
Related thread on reddit.