Generally speaking if you want to contribute you have two options:
Become a blockchain peer
The Bitcoin network requires the full chain to be available for download. If not enough peers allow the full chain to be downloaded, this is a risk to the network. This isn't CPU intensive but puts a small load on your network IO as a configurable number of peers download the data.
Namely you can run bitcoind and allow inbound access to port 8333. This will allow people to download the blockchain. If you see options to run as a "server" know this runs something different on port 8332 and is considered "sensitive" and should be secured.
I like to visually check on on the process so here is the command I run:
bitcoind -debug -logtimestamps -printtodebugger -printtoconsole
If your computer can handle it, edit the bitcoin.conf file (location is platform specific) to allow more people to simultaneously connect. Edit
maxconnections= to whatever you think is best.
There isn't much use in mining unless you have a FPGA, or ASIC for Bitcoin. These rigs are more specialized and competitive. Take a look at www.butterflylabs.com for an ASIC miner that can plug into your USB port