Make the discussion as permeable as possible. This means creating regular breaks in the discussion, through summaries or open questions, where newcomers might find a space for themselves. Provide a place where newcomers can experiment with the software. Always greet newcomers, and encourage other community members to welcome them. While the community owner can largely manage the first three steps, this final step is wholly dependent on the entire community.
People return to places where they find a group of people to talk to.
If your community is not such a place, you will not be able to retain members. No effort on your part, no matter how great, will create a regular participant where there is no community. This means that creating a community involves, in large part, knowing when and how to let go and allow the community to take ownership. After a certain point, efficiency runs contrary to community. Find things you don't do well, and let your members know that you need help in those areas.