How is GPLv3 restrictive for a "class system" whatever a "class system" is.
I would love it if the programming languages I use were GPLv3. As a developer that would give me a lot more freedom.
Also, I believe that by allowing distributors to use your code without forcing them to release their code you don't restrict potential users' freedoms - if a company wanted to use your library in their project and your license is not compatible with it they will just find another project or write a similar one themselves. The result for the user is the same: they will not get access to the code.
As a developer, though, I'd rather have more code I can read and learn from and tweak and borrow than yet another proprietary product that I'll probably ignore - even if you're giving me 10x more of the latter.