You already should have some undertanding about colour spaces, image formats and conversion routines as well as good C coding skills.
+This will be more involved than it first appears. For instance, if float surfaces are to interact seamlessly with currently supported formats then a whole new set of blit loops will need to be added to copy to and from the new format. This will not only affect Surface objects, but also font rendering and array/buffer operations. This is an order N squared increase in code complexity. Until a more streamlined approach is taken to generate blit loops, such as a JIT or a high level loop code generator, such as with Nyquist, adding new formats will just make Pygame, or pgreloaded, code unmanageable.