Determine a minimum required OpenGL version
Currently, LÖVE's code supports everything down to OpenGL 1.1 or so (mid-late 90's era graphics) at the expense of having conditional code throughout the graphics module for supporting ancient systems, and having some useful API features not work when LÖVE is run on old systems.
I don't think this is particularly good for LÖVE's codebase or for its API. Lovers shouldn't have to check
love.graphics.isSupported at runtime for every small graphics feature they want to use.
Having a baseline minimum required version of OpenGL will help with that, especially in the future once it becomes more feasible to drop support of systems which don't have shader or canvas support.
Here are some stats on GPU/driver support for OpenGL versions: http://feedback.wildfiregames.com/report/opengl/feature/GL_VERSION
Here are some potential minimum versions:
OpenGL 1.3 or 1.4: supported by all nvidia and ATI/AMD video cards from the past decade+, and supported by nearly every integrated Intel GPU. I think a couple of the truly awful Intel GMAs don't support OpenGL 1.4 on Windows. This is probably a good baseline for right now, as it prevents almost no one from running LÖVE.
OpenGL 1.5: the same as above for nvidia and ATI/AMD, but a couple more truly awful Intel GMAs don't support this. The benefit of requiring OpenGL 1.5 is that Vertex Buffer Objects (which are very useful in LÖVE's codebase) have guaranteed support, so conditional fallback code doesn't need to be written for them.
OpenGL 2.1: This is the minimum version LÖVE currently requires for shader support. It also guarantees NPOT textures support. Guaranteeing shader support for every system which can run LÖVE would be nice eventually. It's supported by the nvidia GeForce 6xxx series (2004) and above, ATI Radeon 9xxx series or so, and Intel GMA X3xxx+ GPUs (or lower, depending on the OS) and newer.
OpenGL 2.1 plus Framebuffer Objects (canvases): Framebuffer Objects are just an extension in OpenGL 2.x, but they have
nearlyubiquitous support on those systems, so it might beis reasonable to require them as well if GL 2.1 is required. [UPDATE: I did some digging and it does appear that all drivers which support GL 2.x also support FBOs.]
OpenGL 3.1 or 3.2+: Supported by nvidia GeForce 8xxx (2006) and newer, ATI/AMD HD 2xxx (2006) and newer, and Intel HD 2/3xxx (2011). This is impractical to require right now for a few reasons, one being that the shader language for Core Profile OpenGL 3.x+ is slightly different from the one used in OpenGL ES 2.0.
In terms of OpenGL ES (mobile) support, according to Google 99.8% of Android devices support OpenGL ES 2.0 or newer. It's safe to assume the number is higher on iOS devices. In terms of features, OpenGL ES 2.0 without extensions is roughly equivalent to OpenGL 2.1 plus Framebuffer Objects (canvases.)