Why do people contribute to OpenCores?
A strong reason to release a core as open source is to get help with the verification. And since the verification is a major part within a development project today (~80-90%), this provides a win-win partnership between the original designer and the end-users. The open source methodology is the only way we can drive the technology to the next level in a cost efficient way, since we share the huge verification effort with the whole open source community.