I just began working for a religious non-profit organization. As with most non-profits, the organization is resource-poor and has no IT department to speak of. In my two months here I've received 20 requests for websites, apps, and internal automation. Many of these 20 requests have merit and would benefit the organization.

I'm a .net web developer and as such the open source community is relatively foreign to me...

Question

For the sake of this question, lets say I'm talking about building a single, large, website.

Does software (web based, hopefully) exist that would allow me to post requirements and assets (graphics and CSS) for a site, and then invite programmers to participate in the sites development?

As a simple example, I could post the requirements and data for the about us page and an individual would indicate that they could/would fulfill the requirement. Upon completion, they could upload the new source code to the shared repository (github).

@superM, this is simply a corporate website. As far as I'm concerned, there are no requirements worth stealing.
–
James HillSep 25 '12 at 13:56

@superM, it's an open source project. You WANT people to use your documentation, design, and code. The more people using it, the more work will be applied to it, the better it will be. Them using your tools makes your tools sharper. So, say, one of these requests is for a... transgression tracker to help measure their tithe this week (for old-school Catholics?). If some random guy decides to use this GPL'd doc and make his own, and realizes it could easily be expanded to include... stuff dealing with Kabbalah?... anything he published would likewise be GPL'd, and free for James to use.
–
PhilipSep 25 '12 at 15:39

3 Answers
3

You might consider using GitHub itself as the tool for this. The requirements could be posted as individual "Issues" and you could have a special folder in the repository for "Requirements Assets" to place the assets associated with each issue/requirement. Then other developers could fork the repository and pick up the issues to work on and post them as pull requests. And once they become trusted contributors just assign them to the project directly to post submissions.

You could use your existing website to request contributors, linking to the issues page and the repository page at the Github site.

Consider having style guidelines and a preferred site structure in place prior to soliciting help. This will make it easier for developers to come and go but still be able to understand how a given change blends in with the rest of the site.

Prioritize the requests, as difficult as that may be. A large list of tasks to work on can be overwhelming. Providing guidance to the contributors helps them understand where the organization's needs are really at.

In addition to the provided answers to host this project using GitHub, you may also get local developer support to help you with your initiative.

Depending on where are you located there is a GiveCamp event - a weekend long marathon where IT professionals donate their time and skills for charities. You may also get inspired developers from that communities to help you.

Last year, I have attended the one in Baltimore, MD. It was a great feeling to help the non-profits that were doing wonderful job to the communities in need. This year, i am also planning to attend and give back to the non-profits that support needy communities.