One of many tutorials with screenshots
I don't know about books specifically about GNUstep.
GNUstep is free software; it source code is indeed open. It is licensed under LGPLv2.
Let's be clear: free and open source software /can/ be sold. It's comes with the freedom. Various licenses do impose some obligations that may reduce the amount of money you might make, but let's be clear: the act of selling is permitted. GPL and LGPL do impose some obligations on what you must let the end user do; namely, you can't prevent them from exercising the freedom in giving the software away.
Whatever summary I put here will be woefully inadequate, but let's extremely oversimplify:
- MIT and BSD-type licenses: Main requirement is that you agree that the authors accept no liability. You're free to reuse the source code in any way. You're not required to ship the source code to either the original code, or for your modifications, or for your combined code. Of course, that's not very nice, but you're allowed to behave like that.
- GPL: Whatever you combine with the GPL-licensed code into a single resulting 'executable'[1] must be licensed under GPL. You are required to provide full source code upon request.
- LGPL: Whatever modifications you make to the LGPL-licensed code must be provided upon request along with the code. If you do not provide source code to the entire product, you need to provide a mechanism for the LGPLed code to be replaced. For example, a Windows .dll can be replaced, so it is okay to ship an LGPLed .dll linked into a closed source product and send the source code upon request. If you ship just a single executable (for example, your OS does not have a dynamic linking mechanism), it is also okay to offer source code for the LGPLed part plus object code for the proprietary part. As long as it can reasonably be linked together into a working executable, it's fine. Please read the license for the finer details of what you actually have to release if you use LGPLed code. But if you take, say, gnustep-base and ship it as a DLL, it would be fine if you, upon request, offered source code just[2] for gnustep-base.
There is nothing that prevents you from taking GPLed or LGPLed software and selling it. GPL'ed software can be sold, and selling proprietary software that includes LGPL'ed components makes sense even for mainstream companies.
I am not a lawyer, and thus this is in no way legal advice. Read the licenses, but don't believe the FUD.
[1]: 'Executable' may or may not be well defined in GPLv2, but the intended meaning is clear. ;-)
[2]: If you ship more LGPL code, then of course you need to offer that code as well.