Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Background

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).

share|improve this question
    
Aren't you afraid that if you send requirements and assets before the programmer agrees to help you, than someone could just use your documentation without your permission? –  superM Sep 25 '12 at 13:13
1  
Perhaps you can find some resources or direction in the answers and links of this question about coding for charity –  Rachel Sep 25 '12 at 13:19
1  
@superM, this is simply a corporate website. As far as I'm concerned, there are no requirements worth stealing. –  James Hill Sep 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. –  Philip Sep 25 '12 at 15:39
add comment

3 Answers 3

up vote 6 down vote accepted

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.

share|improve this answer
    
+1 for a solid answer. As an additional bonus, using github (or sourceforge or wherever) allows the OP to do QA / QC on the changes prior to pushing to the actual website. –  GlenH7 Sep 25 '12 at 13:28
    
This seems like the best option. As a .net guy, I've never even used github. I guess I have some reading to do. Thanks for your time! –  James Hill Sep 25 '12 at 14:34
    
I HATE when people ask questions in the comments, but here I go: Would the free version of Github allow me to do all that you have suggested? –  James Hill Sep 25 '12 at 14:53
    
Yes, as long as the repository is created as a public repository. –  Turnkey Sep 25 '12 at 16:29
    
One other thing to add, there is a nice Windows client available now called GitHub for Windows that makes publishing to GitHub very easy. windows.github.com –  Turnkey Sep 25 '12 at 17:00
add comment

In addition to Turnkey's answer:

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.

share|improve this answer
add comment

James, you are doing a great job !

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.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.