README.md
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.**
blocking.md
# Cases of blocking
## [sindresorhus](https://github.com/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.
> https://github.com/sindresorhus/ama/issues/163 / https://archive.is/Siy5q
This file has been truncated. show original
duplication.md
# Cases of duplicated functionality
| duplicator | their package | their package date | duplication type | original package | original package date | seems |
| --- | --- | --- | --- | --- | --- | --- |
| [sindresorhus](https://www.npmjs.com/~sindresorhus) | [is-binary-path](https://www.npmjs.com/package/is-binary-path) | 2015 | subset of | [istextorbinary](https://www.npmjs.com/package/istextorbinary) | 2013 ([2012 when part of bal-util](https://github.com/bevry/istextorbinary/blob/master/HISTORY.md#v100-2013-october-25)) | willful |
| [sindresorhus](https://www.npmjs.com/~sindresorhus) | [is-text-path](https://www.npmjs.com/package/is-text-path) | 2015 | subset of | [istextorbinary](https://www.npmjs.com/package/istextorbinary) | 2013 ([2012 when part of bal-util](https://github.com/bevry/istextorbinary/blob/master/HISTORY.md#v100-2013-october-25)) | willful |
| [sindresorhus](https://www.npmjs.com/~sindresorhus) | [text-extensions](https://www.npmjs.com/package/text-extensions) | 2015 | replica of | [textextensions](https://www.npmjs.com/package/textextensions) | 2013 ([2012 when part of bal-util](https://github.com/bevry/istextorbinary/blob/master/HISTORY.md#v100-2013-october-25)) | willful |
| [sindresorhus](https://www.npmjs.com/~sindresorhus) | [binary-extensions](https://www.npmjs.com/package/binary-extensions) | 2015 | replica of | [binaryextensions](https://www.npmjs.com/package/binaryextensions) | 2013 ([2012 when part of bal-util](https://github.com/bevry/istextorbinary/blob/master/HISTORY.md#v100-2013-october-25)) | willful |
| [sindresorhus](https://www.npmjs.com/~sindresorhus) | [is](https://www.npmjs.com/package/@sindresorhus/is) | 2017 | superset of | [typechecker](https://www.npmjs.com/package/typechecker) | 2013 | willful |
| [sindresorhus](https://www.npmjs.com/~sindresorhus) | [is-fn](http://npmjs.com/package/is-fn) | 2015 | subset of | [typechecker](https://www.npmjs.com/package/typechecker) | 2013 | willful |
This file has been truncated. show original