The value of a printer is easy to understand. The value of a programmer with no portfolio is not.
Another way would be to create a portfolio. Spend $25/mo or whatever on a web server, build some web apps and put them online for people to see.
Don't work for free.
How do you feel about working on open source projects for free?
You can't do that with proprietary software that may or may not even be running in a year from now.
It makes sense for various tools which we can't guarantee will be supported if the business doesn't survive. I'm much more likely to work with and contribute to code I know will be around independent of a business.