Why should I share my components?

Because it is fun.

MyFaces and the RI (from Sun) are available at no cost. But people had to invest time and money to create and maintain these implementations. It just seems fair to give back something, doesn't it?

Sharing components is one way to earn "kharma" in the Apache-world. It also can be usefull as a reference while searching for a job.

So I want to share...

Great. Just write an email about your contribution in the MyFaces user-mailing list. The feedback is usefull...

The next step is an email to one (or more) of the project-admins (see projects member page). This email must contain your sourceforge member name. The admins will then add you as project member.

What must I deliver?

must

At least the source for your component.

Put on the user's hat (a fellow developer, so it should not be too difficult ;-) ). What would you like to have, when you want to reuse somebody else's stuff?

nice to have

How about a packaged jar-file?
It saves the user some hassle.
How about some documentation?
Usefull if your component is not trivial.
As MyFaces has switched to Maven2 as its build-tool, it makes sense to prepare the documentation also using on of the supported formats. This site is now also built using Maven2, which enables xdoc and apt-format for the documentation...
How about an example?
Altough we have no servlet-engine running somewhere (not yet?), a ready to run packaged webapp is a nice feature for a user, because he can play around with a working base from which to start...
To save some bandwith, the JSF-jars can also be deleted from the webapp. Just document the exact version you used to test it.

I need more info

Either you come online in the irc-channel (support-page), or ask on the MyFaces mailing list, or write the admins an email.