Software implementation

Are hardware vendors supposed to write an OpenGL implementation from scratch? Is there an official software implementation? If no, it would be great to have one to be able to test OpenGL programs (very slowly) on platforms with “dumb” hardware or to have access to new OpenGL functionality even if the hardware vendor does not provide new drivers yet. It should work as a “fallback” implementation where each part could be reimplemented in the drivers.

This is being done to some extent, but the cost is to great and everytime you fall back on software you stall the GPU and everything goes superslow.
It’s better to force programmers to write the fallbacks themselfs in case some features are not supported.

Are hardware vendors supposed to write an OpenGL implementation from scratch?
Before, no. SGI helped vendors
Now, GL is beeing run by the ARB and I don’t know what they do exactly. There is some code sharing like 3DLabs had their sample GLSL compiler which ATI is also using.

Is there an official software implementation?
No, there is no official soft impl.
There is Mesa, which does GL 1.5 and supports many vendor specific extensions. It is quite fast.