Relasing the code under a GPL / BSD licence means people can fork it, but only if there is a legitimate reason. an eg of this is the x.org fork of XFree, which was started because the x.org people wanted to play with some new features and the XFree people had a pace of development too slow for the x.org people. (I think I am gettting this right, I only read about it after the XFree licence change)
An example of this not happening is Linux itself - after 13 long years Linus is still the keeper of the kernel.
If you have any other queries, perhaps you should look at this :
http://www.fsf.org/licenses/gpl-faq.html
Anyway, the main reason I wanted to post this is a suggestion :
When you write your messenger, write it using the wxwidgets libraries (
http://wxwindows.sourceforge.net/) It will allow you to port with a simple re-compilation, rather than having to re-write your GUI with KDE / GTK / whatever. IIRC, it even has a portable socket library, allowing all your networking code to be platform independant as well.
Otherwise, you have to re-write all your socket code & GUI code for each supported platfrom, which is a pain.
Other than that, have fun