elasticsearch had a contributor license agreement in place for about as long as I can think, requiring full copyright assignment for all changes you’d contribute.
It is effectively very similar to copyright assignment as it gives Elastic basically the same rights they would have if they were assigned the copyright. The only difference is the contributor also gets those rights, but in reality the rights they keep are not that useful since the rest of the codebase is owned by others.