Um part of the OpenGL spec is that there be a software renderer imlemented for default use in the event that no hardware exists which can handle the OpenGL API calls itself. OpenGL was around before hardware to accelerate it, though it was IRIS GL then. The reason that OpenGL lends itself to being hardware augmented is because of the standard and simple graphics pipeline that it implements. It allows a great deal of access to the different stages of the pipeline, and almost all of them are able to be accelerated in hardware, the most recent stage to be accelerated by consumer hardware is the Transform and Clipping stage.
You'll notice in the "OpenGL Info" application which comes with the Dev tools that there is a "Generic" renderer in addition to any hardware renderer that might be available. That "Generic" renderer is the software renderer for OpenGL. You can even expand it's tree arrow and look at it's particular attributes and capabilities.
In so far as forcing your software to only use the software renderer I know it's possible. What kind of application is it? Are you building it as a Cocoa app with an NSOpenGLView, a Carbon application with the AGL framework, or a cross platform standard GLUT application?
The method to select the renderer on the system you want to use is different for each method.
-Nathan