*attrs* is licensed under the [MIT](https://choosealicense.com/licenses/mit/) license.
The full license text can be also found in the [source code repository](https://github.com/python-attrs/attrs/blob/main/LICENSE).
*attrs* is written and maintained by [Hynek Schlawack](https://hynek.me/).
The development is kindly supported by my employer [Variomedia AG](https://www.variomedia.de/), *attrs* [Tidelift subscribers](https://tidelift.com/subscription/pkg/pypi-attrs?utm_source=pypi-attrs&utm_medium=referral&utm_campaign=enterprise&utm_term=repo), and all my amazing [GitHub Sponsors](https://github.com/sponsors/hynek).
A full list of contributors can be found in [GitHub's overview](https://github.com/python-attrs/attrs/graphs/contributors).
It’s the spiritual successor of [characteristic](https://characteristic.readthedocs.io/) and aspires to fix some of it clunkiness and unfortunate decisions.
Both were inspired by Twisted’s [FancyEqMixin](https://docs.twisted.org/en/stable/api/twisted.python.util.FancyEqMixin.html) but both are implemented using class decorators because [subclassing is bad for you](https://www.youtube.com/watch?v=3MNVP9-hglc) (except when doing [strict specialization](https://hynek.me/articles/python-subclassing-redux/)).