Hyperlinks to some free libraries/tools for sending/receiving SMS with a PC are listed below. They are for reference only.
http://www.gnokii.org/
A free and open source library. You can use it to send/receive SMS using a PC through a mobile phone/GSM modem. You can also use it to update address book and calendar entires, handle logos, load ring tones, etc. A good-looking gtk2 GUI is available. A lot of Nokia phone models are supported. Although this library is targeted for Nokia phones, phones from other manufacturers may still work under this library. You have to check its website for the list of models supported.
http://www.pxh.de/fs/gsmlib/
Another free, open source library that works under a variety of OSs (e.g. FreeBSD, Linux, MS Windows). You can use it to send/read SMS messages with a PC through a mobile phone/GSM modem. You can also use it to manipulate the phonebooks in the mobile phone/SIM card, or to store/retrieve the contents in the SMS store of a GSM mobile phone. The list of GSM phone and GSM modem supported can be found on its website.
http://www.kannel.org/
A famous, powerful, open source, and free WAP and SMS gateway. You can use it to connect to an operator's SMS center (SMSC), or using a GSM phone/modem as a virtual SMS center. Kannel can handle multiple GSM phones/modems. However, as Kannel is a complex software with lots of functions, it may be hard to use for beginners.
http://jsmsengine.sourceforge.net/
jSMSEngine is a free and open source library written in Java. With jSMSEngine, you can send and receive SMS messages easily with a mobile phone or GSM modem. As it is written in Java, you can use it in all operating systems that support Java, such as Linux, Microsoft Windows, etc. jSMSEngine supports both ASCII and PDU mode. The jSMSEngine package contains a standalone application jSMSServer. You can use it to send/receive SMS messages without writing your own code.
http://javasmslib.sourceforge.net/
This is the website for the Java SMS Library Project. To quote from the website, this project aims to provide "A multi purpose library that sends sms, images, ringtones and OTA provisioning over TCP/IP, modem or direct cable connection to a GSM phone." The library is free and open source. However, the project is not under active development.