Well, technically you can redistribute anything into anything as long as you have the same L3 protocoll which is IPv4 in this case.
Try a "R(config-router)#redistribute ?" on a Cisco router to get an idea.
However redistribution in most cases means to loose information. This means mutual redistribution f.e. RIP<->OSPF could easily lead to routing loops. So it is a good practice to identify one "core" IP routing protocoll to carry all the information and only to insert a default route into the other protocoll.
In other words: always use filters if you have mutual redistribution and redundant paths.
It is a good idea to choose the more reliable protocoll as the core protocoll.
Having said all this, the above statement hopefully makes more sense ...
regards
Martin