diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index ae4a1b6fe971ff6aa14b7a7edfa57440d5b328a3..88cf06da69498a02e5ed556e36a4c3e041bffe59 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -10,7 +10,11 @@ order.
 Changed
 ^^^^^^^
 
-
+* The :mod:`fsl` package has been changed from being a `pkgutil-style
+  <https://packaging.python.org/guides/packaging-namespace-packages/#pkgutil-style-namespace-packages>`_
+  namespace package to now being a `native
+  <https://packaging.python.org/guides/packaging-namespace-packages/#native-namespace-packages>`_
+  namespace package.
 * The :class:`.TaskThread` now allows an error handler function to be
   specified, which is run on the :mod:`.idle` loop.
 * The :func:`.bids.loadMetadata` function no long resolves sym-links when
diff --git a/doc/fsl.rst b/doc/fsl.rst
index c92138a86ddb95c109a747fa3a4624d6d74613d5..7f7f231bd27ae1d641bbcd8d1509e6adc3d4114d 100644
--- a/doc/fsl.rst
+++ b/doc/fsl.rst
@@ -11,7 +11,14 @@
    fsl.version
    fsl.wrappers
 
-.. automodule:: fsl
-    :members:
-    :undoc-members:
-    :show-inheritance:
+
+The :mod:`fsl` package provides the top-level Python package namespace for
+``fslpy``, and for other FSL python libaries. It is a `native namespace
+package <https://packaging.python.org/guides/packaging-namespace-packages/>`_,
+which means that there is no ``fsl/__init__.py`` file.
+
+
+Other libraries can use the ``fsl`` package namepace simply by also omitting a
+``fsl/__init__.py`` file, and by ensuring that there are no naming conflicts
+with any sub-packages of ``fslpy`` or any other projects which use the ``fsl``
+package namespace.