Thank you for your inquiry.
1. Those it offer an option to create an affiliate program?
s2Member provides the ability to integrate with an affiliate program in this part of the Dashboard:
Dashboard -› s2Member® -› API / Tracking
Our most popular integration is with iDevAffiliate, but you could really integrate pretty much any affiliate program. s2Member doesn’t track referrals itself.
For the files to download i dont see the necessity of asking people to register in order to access the free files, so this part would be really simple, people would just click on whatever file they wish to download and downloaded.
s2Member protects all downloads from the protects s2member-files directory. If you want to offer downloads to Users that are not logged in, this is possible, but you need to use a file download key, so that it bypasses these protections. s2Member makes that possible with the file downloads shortcode.
Some people are only looking for a single specific file and if they have to enrol in a membership to get it that might drive them away, so the option of purchasing the single file as well as the membership enrolment buttons would be presented to them when they go to the individual file page. Can this be easily done with your plugin?
To accomplish this, you’d want to sell Custom Capabilities for each (or many) files. You can create directories in your s2member-files directory that protect files by custom capability using the information gone over in the Dashboard here:
Dashboard -› s2Member® -› API / Scripting -› Custom Capability and Member Level Files
For instance, if you wanted a file to be protected by the Custom Capability thisfile, you would create this directory in the s2member-files directory:
/access-s2member-ccap-thisfile/
For information on Custom Capabilities, you can check out the first video in this playlist:
Video » s2Member (Custom Capabilities)
And this part of your Dashboard:
Dashboard -› s2Member® -› API / Scripting -› Custom Capabilities