If you allow it, patrons can register for their own accounts via the OPAC. If you have the PatronSelfRegistration preference set to 'Allow' then patrons will see a link to register below the log in box on the right of the main OPAC page.
When the patron clicks the 'Register here' link they will be brough to a registration page. The options on the registration page can be conrolled by editing the PatronSelfRegistrationBorrowerMandatoryField and the PatronSelfRegistrationBorrowerUnwantedField preferences.
Once the patron has confirmed submitted their registration they will either be sent an email to confirm their account (if you have the PatronSelfRegistrationVerifyByEmail preference to require this) or presented with their new username and password.
Patrons registered in this way will not have a cardnumber until assigned one by the library, but will have access to all OPAC functionality immediately. For this reason it is recommended that you:
set up a provisional patron category for self registered patrons (such as 'Self Registered) instead of using an existing patron category and set that value in the PatronSelfRegistrationDefaultCategory preference
give this patron category minimal circulation privileges in the Circulation and Fine Rules (such as allowing a couple holds, but no check outs)
That way patrons will either have to come in to the library to verify their identity before given a cardnumber and the ability to check items out or the library will have to come up with internal policy on generating cardnumbers before providing them to self registered patrons. Once this is done the library can change the category to one that is more appropriate (be it an adult, resident, non resident, student, etc) and add a cardnumber/barcode.