Patch to help with unhandled exceptions

Oct 26, 2007 at 11:13 PM
Edited Oct 30, 2007 at 7:55 PM
If you use SvnBridge as much as I do, you'll notice that it has a relatively high number of unhandled exceptions. Many of these are due to network connectivity issues or the TFS server becoming unavailable. I've added a patch which helps mitigate these exceptions by handling them and notifying the tray form that an exception occurred, along with the exception message text. You end up getting a notification that there was an exception, at which point you can close whatever TortoiseSVN dialog or svn.exe command you had running and retry the operation.

Get the patch here: http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SvnBridge&DownloadId=20964.

[Update: changed URL to point to corrected patch file]
Oct 31, 2007 at 10:48 PM
Note the above patch works with revision (read: changeset) 12878 of the SvnBridge. If you try it on some later version, you might get conflicts. No problem: just check out revision 12878, patch it, and then update to the head revision, dealing with any merge conflicts in the usual way.
Nov 2, 2007 at 12:06 AM
Thanks codekaizen. I'll look at your patch tonight to see what we might want to pull in.
Nov 2, 2007 at 11:30 PM
Hello codekaizen. I’ve learned that I cannot look at your patch without a contributor agreement, and that’s just not something we want to manage for this project (at least right now). What I’m going to do is add some additional exception handling for network and TFS availability and show the exception messages in the tray icon, as you described above. Once I’ve checked the change in, you can let me know if there are other changes you’d like to see in regard to this. Thanks!
Nov 3, 2007 at 12:38 AM
Actually, you have a contributor agreement - it's built into the (Ms-PL) license. Ask legal.
Nov 3, 2007 at 2:01 AM

codekaizen wrote:
Ask legal.


I did. :-)
Nov 3, 2007 at 2:16 AM
Take a look at Phil Haack's post Who Owns the Copyright for An Open Source Project

Most large open source projects require all contributors sign a copyright assignment agreement which assigns the copyright of their contributions to the project owner. Microsoft has adopted this policy for any open source projects it starts, so that's why we'd have to get a contributor agreement. Copyright assignment isn't covered in the open source license itself.
Nov 3, 2007 at 6:23 AM
From the Ms-PL:

"A "contributor" is any person that distributes its contribution under this license.
...
Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create."

I guess that's why we have lawyers around, since to me, the "grant clause" (above) in the license does just this... grants license. Since it is copyright (and not a contract, which would require a conveyance), my agreement to use the license and subsequently license my rights according to the terms of that license is such a "contributor agreement." It's not like I can take it back. This is supported by case law, apparently. Haacked even points it out:

"For example, suppose Perpetual Motion decides they want to exercise their copyright and make a proprietary version of DotNetNuke. They certainly have the right to do so, but they cannot stop others from freely viewing and distributing the code under the pre-existing license up to the point at which they close the source. At that point, contributors would be free to fork the project and continue development under the original license as if nothing had occured."

So, it seems to me like assignment of the copyright itself, even though I've given you an irrevocable license to the protected work, is overkill, and a legal CYA move. Once I grant you license by my agreement to the existing terms, I have no legal recourse to demand compensation which wasn't permitted under the terms. But I know how legal works... and if they can overkill something, overkilled it shall be.

Is there a legal-sanctioned hatch somewhere through which I can throw the contributed patch and kiss forever goodbye the copyrights to it? Maybe not for this pitiful few lines of code which I threw together, but for any future contribs? Like, how are you guys going to handle the SCSF Contrib or the xUnit Contrib stuff?
Nov 3, 2007 at 7:01 AM
I don't know about SCSF Contrib, since it's another group.

For the xUnit.net Extensions project, we will be using an electronic assignment agreement provided to us for just this purpose.