A better way to encourage contributions to OSS
Currently in the .NET world, most OSS projects are available via a NuGet package. Users have a very easy path towards *using* the project right away.
But let’s say they encounter some isssue (maybe a bug, maybe
a potential improvement) with the library. At this point,
going from user to contributor (of a fix, or a good bug
repro or even a spike for a new feature) is a very steep and
non trivial multi-step process of registering with some open
source hosting site (codeplex, github, bitbucket, etc.),
learning how to grab the latest sources, build the project,
formulate a patch (or fork the code), learn the source
control software they use (mercurial, git, svn, tfs),
install whatever tools are needed for it, read about the
contributors workflow for the project (do you fork &
send pull requests? do you just send a patch file? do you
just send a snippet? a unit test? etc.), and on, and on, and
on. Granted, you may be lucky and already know the source
control system the project uses, but in really, I’d say the
chances are pretty low. I believe most developers *using*
OSS are far from familiar with them, much less with
contributing back to various projects. We OSS devs like to
be on the cutting edge all the time, ya’ know, always
jumping on the new SCC system, the new hosting site, the new
agile way of managing work items, bug tracking, code
reviews, etc. etc. etc.. But most of our OSS users are
largely the “...