Currently, Laurent is pretty much the only SFML developer (with Marco doing OS X stuff). This is nice because there's a good level of consistency and sanity maintained in the codebase. However, we also only get
a handful of commits each month, meaning things move quite slowly.
I've worked a little bit on other open source projects, like FFmpeg, and while FFmpeg has a much greater learning curve, I feel like it's easier to contribute to it. There are a number of people who have said "X would be a good idea/feature" and Laurent will say "Yeah, but it will require a decent amount of changes to SFML so don't do it; I will do it to make sure it's designed like I want it to be," which means users end up waiting on Laurent rather than being able to contribute.
This isn't necessarily a bad thing, as I've said, as it helps with a consistent and clean API in SFML, but I feel like SFML could really benefit from more community contributions and I'm wondering how that can be stimulated while still keeping full control in Laurent's hands.
There are, of course, a list of bugs the community can work on fixing (and hopefully I'll get to contribute to this during this summer), but there are other features that I know people are itching to have (like Android/iOS and OpenGL|ES 2.0 support) or other road blockers (like documentation/web stuff for the 2.0 release) that I think people would love to contribute to.
What would help encourage the community to contribute? Here are some of my thoughts, and I'm hoping others can contribute ideas/suggestions/comments:
More road maps or architecturing. Particularly, for things where Laurent says "Don't work on this, I'll do it so I make sure it's done how I want it," what if instead a skeleton/architecture was designed so that either Laurent can fill in the skeleton/architecture himself or someone else can implement it and send a pull request. That way the API and design will stay how Laurent envisions it, but eager users can contribute instead of wait.
A web page for contributing. There's some instructions at the end of SFML's README, but they're quite minimal and nowhere on the website. I think if there was a "Contribute" tab on the website that talks about contributing and helps users get involved in contributing to SFML, that would help.
Prioritized issues. If I want to contribute to something, I'd like to know what you'd like me to contribute to. Sure, contributing to any issue is nice, but prioritizing issues (
maybe with tags) will give people a sense of what needs contributing the most.
Mini intro to working with github (and pull requests). I'm more familiar with the mailing-list style patch submission and review, like is done with FFmpeg. I just spent the past while poking around github trying to figure out how pull requests work and if I submitted a patch, how it would be reviewed and (if needed) updated/fixed. I think I understand how it works now, but if the entry barrier can be minimized as much as possible I think people will be more inclined to contribute.
Any other ideas, or any responses to these ideas?