Skip to content

Instantly share code, notes, and snippets.



Last active Dec 15, 2019
What would you like to do?
Instances of popular open-sourcers duplicating packages and blocking people

It seems some open-sourcers strategies may have been to gain fame from finding existing packages then duplicating them (with the exact same functionality, or a subset or superset) instead of sending PRs or using existing solutions. Package maintainers can want to do this to build up a portfolio of popular packages, to consolidate popularity and power to themselves, and thus gain funding. Willfull ignorance of alternatives at the time of publishing stems from the similar intention. Naivity however may be accidental, in which case consolidation of duplicates can be a desired outcome where possible, as it consolidates maintainership and features for a better user experience. There is valid reason for duplication however, where an original author was not receptive to pull requests.

This gist is to look into such instances. It is not to say whether or a case was accidental or not. Only that such duplication exists, in the hope that it can be noted and hopefully resolved.

Eventually one could do up a programmatic solution for this, to go through the thousands of packages required for a complete listing (including first commit, first changelog entry, first tag, and first npm version, and details of the original versions for direct comparison, as well as download counts). However, until that is done, please add comments of other instances.

Cases of blocking

sindresorhus blocking people

His reasoning for blocking people:

Don't read too much into being blocked. I use the block button generously both here and on Twitter. It just means I for some reason don't want to interact with that person. They might be annoying, sloppy, rude (to me or anyone else), etc. I have to deal with a massive amount of noise on GitHub and this is the biggest reason I've haven't burned out yet. /

Concerns regarding his liberal blocking practice:

  1. His reasons would be better facilitated by the mute button
  2. Blocking someone on GitHub disables someone from interacting with your packages. Considering the popularity of his packages & his blocking strategy, it seems a desire to harm the careers of those he dislikes

People he has blocked:

Cases of duplicated functionality

duplicator their package their package date duplication type original package original package date seems
sindresorhus is-binary-path 2015 subset of istextorbinary 2013 (2012 when part of bal-util) willful
sindresorhus is-text-path 2015 subset of istextorbinary 2013 (2012 when part of bal-util) willful
sindresorhus text-extensions 2015 replica of textextensions 2013 (2012 when part of bal-util) willful
sindresorhus binary-extensions 2015 replica of binaryextensions 2013 (2012 when part of bal-util) willful
sindresorhus is 2017 superset of typechecker 2013 willful
sindresorhus is-fn 2015 subset of typechecker 2013 willful
sindresorhus is-plain-object 2015 subset of typechecker 2013 willful
sindresorhus npm-keyword 2015 subset of getpackages 2013 willful
sindresorhus make-dir 2017 superset of mkdirp 2011 willful yet justified, mkdirp was abandoned
sindresorhus import-fresh 2017 replica of requirefresh 2013 willful
sindresorhus spdx-license-list 2014 replica of spdx-licenses 8 months earlier willful
sindresorhus sort-keys 2014 replica of sortobject 2013 willful
jonschlinkert sort-object 2013 replica of sortobject 6 months earlier willful
jonschlinkert delete 2015 replica of del a week earlier initially incidental
jonschlinkert is-binary-buffer 2017 subset of istextorbinary 2013 (2012 when part of bal-util) willful
gjtorikian isbinaryfile 2012 subset of istextorbinary a month earlier as part of bal-util, 2013 as part of istextorbinary initially incidental

Copies of 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.