We want members to sign up and either auto-renew (it's free) or be lifetime members so there is no expiration date. Which is the best approach?
What distinguishes a member from a non-member? Is it basically being on your mailing list? If so, you might consider not using CiviMember at all.
The paradigm of membership in CiviCRM is a dues-paying membership with a term. While there are features to handle variations on that (free memberships and lifetime memberships, for example), there isn't much reason to go through the trouble of setting them up if they're both free and lifetime.
Instead, consider setting up a group. You can have a profile add people to the group, you can search for everyone in the group, and you can mail to the group. There's even the history of when someone was added to the group, if that matters to you.
The word "member" trips users up a lot, and it's common to see people think that CiviMember is the way to handle their free forever memberships in CiviCRM. You can just turn it off by going to Administer > System Settings > Enable CiviCRM Components.