Thanks again Dan!
First off let me clarify for the volunteer work he is doing at the college he is not working on any of my software business stuff during that time (he is strictly working on the college stuff).
The software business stuff I gave him separately as something he can try working on at home (kind of like a take home assignment). Fixing a minor bug in the software, adding an additional parameter, etc. And so far this has only been one time, but I did like his work and so I started this thread to see what options I should look into if I wanted to have him work with me officially.
Let me go over Department of Labor test you mentioned and see how that's going (this is strictly for his volunteer work at the college, not the one software business thing I had him do):
1. This one I wouldn't be 100% on, but I am training him throughout the process, most of the things I've given to him are akin to what could be given as a class project. They haven't been any of the major projects that I actually have to worry about, they've been little projects I would have had to say no to (examples include a website for a local veterans group, adding in some email sending functionality to an existing program, creating a web application to make a different automated process I already had in place easier to use).
2. I would definitely say this experience is going to be beneficial for him (right now his issue is not lack of capability, it's lack of experience and a willingness from an employer to "take a chance" on him).
3. The intern isn't displacing any regular employees (I've always been a department of one managing the college's online services, and while I'm not hovering over his shoulder every minute, which wouldn't be good for him, he does work closely with me under my supervision).
4. This one is a little weird, because of the "no immediate advantage" part and I'm not sure how to interpret that. I do know that on the days that he is on campus, since I have to spend a number of hours meeting with him and working with him as he goes about his work that my operations are impeded during that time so I'm not able to do my regular work as quickly.
5. The intern is definitely not entitled to a job at the conclusion of his volunteer work (and he knows that, but our goal is to build up his skills enough so that an employer will have an easier time hiring him).
6. The employer and the intern do understand that he is not entitled to wages for the time spent in the internship.
So aside from #1 and #4 which are a little more open to interpretation, I would say if we're just looking at the work he's doing for the college we're meeting the 1-6 criteria fairly well. Can I say it's 100%, no and that's not my job to worry about at work.
However, this whole discussion was sparked because I've had him try fixing a bug and adding some features to a small, free product I have (probably about an hour or two worth of work) at home and he did a pretty good job so I wanted to ask and see what options I have within my own means to pay him something and he could also help out the business.
I'm not trying to skirt around the legalities of the situation, if we're not in compliance with the law, then maybe we shouldn't have any volunteers (and historically we've only two prior to this that I know of). But I'm in no way trying to keep him as a volunteer forever. Our goal is to get him (and any of the students that attend the college) a job :-).
You seem to have the most experience in this area though, so from your comments I would say I should eliminate having him work on any what would be considered the "software business" on his own time unless some sort of formal relationship was in place in order to have everything completely legal and maybe even stop his ability to volunteer if, after you've clarified the interpretation of #1 and #4, it seems like we're not meeting the Department of Labor test.