SourceForge has a Help Wanted system - you might think about something to do with it.
If you have a specific project, you can start by submitting a patch - basically a set of changes to the project source that solves the problem, and that developers can accept and apply. The project owners then take the patch, evaluate it and decide whether to enable it or not. For some projects, such as the Linux kernel, this is how most contributions come about.
Smaller projects tend to have most of the changes made by people with direct access to the repository. If a small project in the language you are interested in attracts attention, let the developers know and ask if you can help.
To determine what should happen, it really depends on the project. In the short term, most projects have bug trackers containing bugs that need to be fixed and features that need to be implemented. In the longer term, a larger project may have a steering committee and an official roadmap, while a smaller project will likely have a list of things that developers think will be cool.
interfect
source share