Slim itself does not pull in or rely on Slim-Psr7 as you can see from the composer.json. Instead we rely on the standard PSR7 interfaces, so that someone can use Slim with any PSR-7 implementation (e.g. Diactoros).
However, a working Slim application needs a PSR-7 implementation, so we provided one in Slim-Psr7. This is an independent component from Slim itself though and you aren’t required to use it. However, I expect most Slim applications use Slim-Psr7 as it’s a reasonable implementation of the PSR-7 standard and it’s provided in the Skeleton application.
The main advantage of Slim relying on the interface is that you are not required to use Slim-Psr7. You can replace it with one that doesn’t very easily as that’s how coding to an interface works. i.e. by using an interface, we have coded to the “D” in the SOLID principles to make our users’ lives easier when they need alternatives to our code.
Unfortunately, we don’t make money directly from Slim downloads. However, feel free to sponsor us via Open Collective or Tidelift!