As of the 1.0.0 release, the broom team will be following a set of guidelines that clarify the scope of further development on the package. Given the package's wide use and long history, these guidelines prioritize backward compatibility over internal consistency and completeness.
Of the packages in the tidymodels, broom is the oldest, has one of the largest codebases, and is likely the most widely used. As of the writing of this tidyup, the package has been downloaded over 30 million times, and is directly depended on by over 200 CRAN packages and who-knows-how-many research analyses. The package grew organically over the course of many years---thanks to contributions from hundreds of community members---and now supplies hundreds of methods for summarizing model objects:
library(broom) length(methods("tidy")) length(methods("glance")) length(methods("augment"))
Each of these factors we mention are cause for celebration, and at the same time, mean that maintaining broom with the same approach as other tidymodels packages would lead to significant breaking changes and further scope creep.
In light of these challenges, the broom team will look to the following guidelines in determining the scope of new development on the package:
Note that these guidelines largely reflect our maintenance practice in the years preceding the 1.0.0 version. The introduction of these guidelines isn't a change as much as it is a reflection on our approach to maintaining broom in 2017-2022. Communicating our approach clearly also allows us to more clearly define when an issue is within the scope of the package's development. Some examples of those cases:
If you're not sure whether a change you'd like to see is within the scope of the package's development, please feel free to open up an issue on the broom GitHub repository for further discussion!
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.