If someone develops an ansible role, it can be easily distributed by creating a repo on github that will be available for installation through ansible-galaxy (very clear instructions).
What about modules?
Is there a similar "supporting framework" to release an open source ansible module (e.g., bunch of python files) so that it can be easily installed by users?
EDIT: in 2020, the best way is by creating an Ansible Collection. Collections allow for proper first-class namespacing, documentation, and distribution of all kinds of Ansible content, including roles, modules, and other plugin types.
ORIGINAL 2016 ANSWER:
Currently, the best way to do it is actually via the library
directory in a galaxy role. You can still get the roles (and bundled modules) installed and usable via a requirements file without actually needing to execute anything from the role. We're also looking at ways to make roles more library-esque themselves (eg, variable/empty entry-points, not just hardcoded to tasks/main.yml).