I see on github that it is GPL license, so it should not have any restrictions, but I still wanted to confirm. I want to use gibbon to create a project for a client. Is it allowed?
Yes, this is allowed : ) As long as you follow the rules of the GNU GPL, and please don’t remove our copyright information from the footer, you are fine. Ross.
If the client does any code modifications or develops new modules, does he have to make the changes public?
The client isn’t required to publicly share changes they make, but if they do share them, they would need to follow the GNU GPL for sharing those changes keeping the original license intact: https://www.gnu.org/licenses/gpl-3.0.en.html
As a note though, making code modifications for a client would mean that they would not benefit from future updates to Gibbon unless they use version control such as GitHub to fork the Core and then merge in any future versions into their modified codebase.