Well, here's the thing... At the moment, the ability to make custom components (components that look and feel like regular ones and don't expose their code) is possible, but there are no references for doing so. Therefore you have to be either very good at snooping around, or somehow pull that information out of David (which he has done on rare occasions).
The issue of offering comes down to two major sticking points... first, GH is constantly changing. Its face may look the same, but behind the scenes there's a lot that's going on from build to build. This is not very conducive to having custom components. They will constantly be getting busted and be extremely hard to distribute/update. I actually ran into this issue this morning with some stuff David helped me with in Seattle. Second, is supporting the development of components. Right now David is the only one who can answer any of those questions as he's the only one who really knows how this stuff is working. If he's having to spend all his time answering people's questions about what's going on with their components, then he's not spending the time developing GH.
There are other side issues that come along with opening up the GH SDK publically, but as I understand it, those are the two main ones. David from the start has always envisioned GH having an SDK and be as extensible as possible, so it will be down the road. Its just a mater of when's a good time for that to happen.