I hate to rain on the parade...
Sorry I didn't weigh in earlier, I've been out of town. I
hate to be another one against this project because I would
like to encourage code sharing as well.
BUT, let's look at how Napster works:
When it enocounters a song on your computer, it checks the
database on Napster to see if the song exists. If it does,
then it adds your machine as a possible host for this song.
If the song does not exist, then it is added to the Napster
database with your machine as the only host (thus giving
many multiple entries when titles don't exactly match.)
Now, consider what you're proposing:
You want to share many lines of code, EACH LINE HAVING
INFORMATION THAT COULD BE A POSSIBLE SEARCH KEY. Say for
example you searched for a code snippet on using the
GetDeviceCaps API call. Presumably, you'd want to find
any example which used it, not just ones called
"GetDeviceCaps example" or something similar.
Here's the point:
What you really want to do is a full-text search of the
available code so that the user can not only locate the
string GetDeviceCaps, but can locate it in the proper
context.
So:
If you're going to set up a server which is running a
full-text catalog of all this code on all of our machines,
then it is already housing the full-text of the code! No
need to go look for it on our individual machines to
complete the transaction. (This, of course, is just a
web-based code warehouse).
Still with me?:
Let me make an analogy to Napster, which is where we started
this discussion in the first place. What you're proposing
to do is NOT as similar to Napster as it seems. You're not
just asking "Find a machine with Layla on it"; instead your
asking "Find that cool piano solo in E-flat which is about
two minutes long in a classic rock song". The server could
answer the first one using a catalog. To answer the second,
it would need to have the actual song.
One more thing:
Don't forget, one of the main motivations for the
architecture that Napster used was LEGAL, not technological.
Napster wanted to be sure that music files were not being
passed directly through their servers because that would
clearly be in violation of the artist's copyrights.
If I can help then I'll help, but I think you've got some
serious issues to resolve on this one...
Thanx for listening.
John