As someone who maintains a number of OSS projects, there is no social contract, it's a false dichotomy.
There are many people who ask you to do free work for them (implement feature, review PR, discuss tickets), and asking is fine, but there is no implicit expectation that it would be The Right Thing for you to do it for them.
If you find the work rewarding and have the time, great, you can do it if you so please. If not, the project is open source, they can pick it up and do it themselves.
You haven't wronged anyone by saying "no" when asked to do work for nothing.