Skip to content
This repository was archived by the owner on Sep 29, 2025. It is now read-only.
This repository was archived by the owner on Sep 29, 2025. It is now read-only.

Avoiding redundant / overlapping packages #78

Description

@sfirke

I am not sure if there's a solution, much less one that could happen at the unconf. If it's just a lament, we can close this and move on. But the discussion on #69 has this on my mind and maybe someone else will have an idea.

It's vexing as a user to have packages that do almost entirely the same thing, with no intentional differentiator. E.g., seeing "package X does the same things as Y but with tidyverse-style functions" is great. But for instance, compare the very similar packages needs and pacman. Or - and I think fixing this on GitHub-only packages is hopeless - compare https://github.com/jsng/AirtableR and https://github.com/bergant/airtabler, two R interfaces to the Airtable API that even share the same package name.

One approach could be a series of lit reviews of topics like #69, where someone does a deep dive into the state of packages for a certain task/workflow and writes it up - including noting any voids not covered by current packages, so that someone looking to make a package on that topic can focus there. This could be good for users and potential developers.

Or guidance for R package developers establishing the norm that before you write a package, do extensive research to see what's out there (describe how/what this looks like), and if an existing package could be modified to meet your needs, tell the maintainer what you're thinking and see if they are open to contributions or have advice for you. I'm not sure I've seen the step "make sure you're writing something that intentionally adds to what exists" in any of the package dev't tutorials I've read.

Either of these could become blog posts.

I know people have feelings, time, and professional cred wrapped up developing their packages. That suggests that it will be easier to head off collisions early on, rather than after packages are being used in the field.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions