From: Jason Weber To: Jamie Cansdale Date: Dec 1, 2005 11:05 PM Subject: TestDriven.Net VSIP Package Hi Jamie, My name is Jason Weber and I’m the lead for the Visual Studio IDE and Visual Studio SDK. I work closely with many of our VSIP partners on their integration, and was pointed toward TestDriven.Net last week. You’ve done a great job with your Visual Studio integration and I was wondering if you had time for a 30 minute conference call next Wednesday. I wanted to better understand your product and strategy. Thanks – Jason Weber From: Jason Weber To: Jamie Cansdale Date: Dec 8, 2005 7:34 AM Subject: Follow-up Information Hi Jamie, Thanks for taking the time to meet with me today. I just downloaded your product and I'm going to play around tonight. I enjoyed our conversation and wanted to send links to the information we discussed today. 1.) The Visual Studio extensibility site can be found here: http://msdn.microsoft.com/vstudio/extend/ 2.) After becoming an Affiliate member you can download the Visual Studio SDKs from here. You will find our new mock objects in the latest CTP. https://affiliate.vsipmembers.com/login.aspx?err=cannot_find_user 3.) You can find information about joining the VSIP program here. Our next developer lab will be in the spring of next year, and all VSIP partners will have the opportunity to attend. http://msdn.microsoft.com/vstudio/partners/ 4.) I've sent your name to Mark Colburn, the program manager who drives our Visual Studio ecosystem team. Mark is looking for Visual Studio Extensibility MVP's, and as we discussed I believe you would be a great addition to the program, and it would be much more applicable than your current ASP.Net MVP involvement. Please look for mail from Mark in the coming months. 5.) Finally I've sent your contact information to the VSTS unit testing team, and you should hear from them shortly after the holidays. They sounded excited to work with you. If they don't contact you please let me know and I'll ping them again. Sorry to spring the bad news about the Express SKU's. I see that you updated your build today. Did you already remove your hack? Man that was quick ;-) Take care, and good luck! - jason From: Jamie Cansdale To: Jason Weber Date: Dec 8, 2005 11:29 PM Subject: Re: Follow-up Information Hi Jason, Thanks for the follow up. I look forward to hearing from Mark and the VSTS unit testing team. I actually already know Noah Coad. I believe he's one of the PMs on that team. > Sorry to spring the bad news about the Express SKU's. I see that you > updated your build today. Did you already remove your hack? Man that was > quick ;-) > I'm quick, but not that quick. ;o) I think you must have been caught out by the time zone. I released something earlier on that day. Is there any chance you could let me know which specific clause in the licence I was contravening? I'm drafting an email to my users and wanted to give them something concrete. I know a lot of people will be disappointed. Thanks, Jamie. From: Jason Weber To: Jamie Cansdale Date: Dec 9, 2005 4:37 AM Subject: RE: Follow-up Information Since I'm not a lawyer I shouldn't comment on the license. However if you read the Express SKU EULA you'll see verbiage around reverse engineering, and if you read the VS SDK license (the license that covers all native API's that you're accessing when you QueryService from your add-in) you'll see additional terms that are relevant to your hack. Sorry that I can't be more specific, but I'm just a developer ;-) Later - jason From: Jason Weber To: Jamie Cansdale Cc: Lorna Williamson, Ben Miller Date: Dec 20, 2005 9:08 PM Hi Jamie, It's been two weeks since we last spoke. I wanted to send a quick mail to see if you've had an opportunity to think through our previous conversation (specifically about further integrating unit testing into VSTS and also about your Express extension). I was hoping that we could schedule a conference call for early January to answer any questions you might have. I've included Lorna and Ben who would like to attend the call. It would be appreciated if you could propose a date and time! Thanks - jason From: Jamie Cansdale To: Jason Weber Cc: Lorna Williamson, Ben Miller Date: Dec 20, 2005 11:50 PM Subject: Re: Follow-up Information Hi Jason, > It's been two weeks since we last spoke. I wanted to send a quick > mail to see if you've had an opportunity to think through our previous > conversation (specifically about further integrating unit testing into > VSTS and also about your Express extension). > I have indeed been thinking about this. Obviously I am concerned about the licence issue. However I think there may have been a misunderstanding as to how my "hack" works. You mentioned my use of QueryService to access the native APIs. I am in fact using the add-in extensibility API and have intentionally not been touching the VSIP interfaces. To be on the safe side, I asked a friend who works as a lawyer in the UK to go through the Express licence with me. In his opinion I'm not in breach of anything as my technique didn't require any reverse engineering or decompilation. As things stand, I am reluctant to remove support for the Express SKU as the reason for doing so is unclear and I would be unable to justify it properly to my users (and to myself). > I was hoping that we could schedule a conference call for early January > to answer any questions you might have. I've included Lorna and Ben who > would like to attend the call. > I would be happy to have another conference call. How does the 4th of Jan sound, say 6PM GMT? Thanks, Jamie. From: Jason Weber To: Jamie Cansdale Cc: Lorna Williamson, Ben Miller Date: Dec 21, 2005 7:21 AM Subject: RE: Follow-up Information We should certainly talk through your integration again Jamie to ensure we're on the same page. As a precursor would it be possible for you to send me the project references that you're linking to? I believe those will expedite our discussions. I would be happy to discuss your integration at the API level and help you understand what API's are licensed under which licenses. The 4th of January at 6PM GMT (10AM PST) works great. I will send a meeting request. I'm officially on vacation until the 4th of January but will occasionally check email. Happy Holidays! - jason From: Jamie Cansdale To: Jason Weber Cc: Lorna Williamson, Ben Miller Date: Jan 3, 2006 2:58 PM Subject: Re: Follow-up Information Hi Jason, > As a precursor would it be possible for you to send me the project references > that you're linking to? I believe those will expedite our discussions. > When compiled with Visual C# Express installed, the following assemblies are referenced: C:\Program Files\Common Files\Microsoft Shared\MSEnv\PublicAssemblies\envdte.dll C:\Program Files\Common Files\Microsoft Shared\MSEnv\PublicAssemblies\extensibility.dll C:\Program Files\Common Files\Microsoft Shared\MSEnv\PublicAssemblies\Microsoft.VisualStudio.CommandBars.dll C:\Program Files\Common Files\Microsoft Shared\MSEnv\PublicAssemblies\stdole.dll C:\Program Files\Common Files\Microsoft Shared\MSEnv\PublicAssemblies\VSLangProj.dll C:\WINDOWS\assembly\GAC\Microsoft.VisualStudio.OLE.Interop\7.1.40304.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.OLE.Interop.dll C:\WINDOWS\assembly\GAC\Microsoft.VisualStudio.Shell.Interop.8.0\18.104.22.168__b03f5f7f11d50a3a\Microsoft.VisualStudio.Shell.Interop.8.0.dll C:\WINDOWS\assembly\GAC\Microsoft.VisualStudio.Shell.Interop\7.1.40304.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Shell.Interop.dll C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Data.dll C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.dll C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Drawing.dll C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Windows.Forms.dll C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Xml.dll I'm also referencing 'office.dll' and 'Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll', which come with Visual Studio .NET 2003 and Visual Studio 2005 Team Suite respectively. > I would be happy to discuss your integration at the API level and help > you understand what API's are licensed under which licenses. > I thought it might help the discussion if we had some concrete code to look at. I've put together an example extension that can be compiled and used with only Visual C# Express installed. In a few places I've added links to information about various APIs (see the TODO comments). You can find the example code here: http://www.mutantdesign.co.uk/downloads/ProjectReferences.zip > The 4th of January at 6PM GMT (10AM PST) works great. I will send a > meeting request. > Any word from Lorna and Ben? > I'm officially on vacation until the 4th of January but will > occasionally check email. > I'm sorry about the delay. I've been away on vacation as well. Happy New Year! Thanks, Jamie. From: Jamie Cansdale To: Jason Weber, Lorna Williamson, Ben Miller Date: Jan 4, 2006 6:27 PM Subject: Re: Discuss TestDrive.Net Hi folks, I thought it might be useful for people to have the licence(s) handy. I've attached the Visual C# Express and Visual Studio SDK licences. I included the following links in the source of my example extension project. Here they are all in one place: Automation Samples for Visual Studio .NET http://msdn.microsoft.com/vstudio/downloads/code/automation2002/ Comparing Automation Add-ins to Visual Studio Packages http://blogs.msdn.com/jim_glass/archive/2005/08/12/450870.aspx How to guess if a VS 2005 project is a test project http://forums.microsoft.com/msdn/showpost.aspx?postid=54530&siteid=1 Thanks, Jamie. From: Jason Weber To: Jamie Cansdale Cc: Lorna Williamson, Ben Miller Date: Jan 6, 2006 9:04 AM Subject: RE: Follow-up Information Jamie, When we spoke yesterday on January 4th you had committed to getting back to us by end-of-day January 5th. I didn't see any communication on the 5th, and was wondering if you have decided how you would like to proceed. Thanks - jason From: Jamie Cansdale To: Jason Weber Cc: Lorna Williamson, Ben Miller Date: Jan 6, 2006 1:03 PM Subject: Re: Discuss TestDrive.Net Jason, I am sorry I was unable to get back to you yesterday. I have given more thought to the issue of TestDriven.NET's integration into the Express SKU. I remain of the opinion that I'm not technically in breach of the licence. However I do not want the shadow of legal action hanging over me, especially as I intend to release a commercial version in the Spring. I have therefore decided to drop support for the Express SKU, provided that we're able to draft an acceptable announcement for my users. This has not been an easy decision to make as I have invested a considerable amount of time into developing and testing this feature (on all of the Express languages). I would appreciate it if you could draft an announcement stating Microsoft's position towards TestDriven.NET and its integration into the various SKUs, including the fact that Microsoft doesn't consider unit testing integration appropriate for the Express SKU target users. I am also keen to reassure my users that Microsoft is fully supportive of TestDriven.NET's future integration with VSTS. Regards, Jamie. From: Jason Weber To: Jamie Cansdale Cc: Lorna Williamson, Ben Miller Date: Jan 6, 2006 11:25 PM Subject: RE: Discuss TestDrive.Net Hi Jamie, Thank you for your careful consideration and decision to remove Express SKU integration. I would be happy to help you craft justification for your customers, and you're welcome to use my name. Microsoft however can't provide you a quote for your website. My recommendation would be something like this... "After speaking with Jason Weber from Microsoft I realized that by adding features to Visual Studio Express I was in breach of the Visual Studio license agreements and copyrights. I have therefore decided to remove support for the Visual Studio Express SKU's from TestDriven.Net. Jason was very supportive of TestDriven.Net's integration into the other Visual Studio 2005 products and I was invited to join the VSIP program. This would allow me to fly to Redmond each quarter and work closely with the Visual Studio development team on deeper integration." If you have other ideas let me know. I would be happy to review your proposed messaging. Thanks - jason From: Jamie Cansdale To: Lorna Williamson Date: Jan 8, 2006 1:47 PM Subject: Reading Office on Tuesday? Hi Lorna, I was wondering if you were going to be in the Microsoft Reading office on Tuesday. There is a chance I'll be in the area and I wondered if it would be convenient to meet up. I'd like to thank you and Ben for sitting in on the marathon tele-conference the other day. I thought it would be good to meet up under more agreeable conditions. Thanks, Jamie. From: Jason Weber To: Jamie Cansdale Cc: Lorna Williamson, Ben Miller Date: Jan 12, 2006 8:22 AM Subject: RE: Discuss TestDrive.Net Hi Jamie, I haven't seen a response to this email or changes to the TestDrive website. Where do things stand? I would appreciate your assistance resolving this problem by end of week. Thank you! - jason From: Ben Miller To: Jamie Cansdale Date: Jan 12, 2006 7:06 PM Subject: Testdriven.NET and Express Jamie, I am following up on the conversation and the email that you sent that you would take down support for the Express SKU’s. I want to make sure that you got the email from Jason Weber, and also that you are going to be able to comply with taking this down by the end of the week. Please reply to me so that I can help avoid any further calls and we can wrap this up ASAP. Thanks. From: Jamie Cansdale To: Ben Miller Date: Jan 12, 2006 7:21 PM Subject: Re: Testdriven.NET and Express Hi Ben, I'm seeking some more advice on the matter tonight. I hope to reply with something more definitive tomorrow. Thanks, Jamie. From: Ben Miller To: Jamie Cansdale Date: Jan 12, 2006 7:22 PM Subject: RE: Testdriven.NET and Express Thanks for the reply. More advice in what way? I thought that you indicated that you were going to remove the support and take it off the site. Are you still considering not taking down the support for Express? Ben J. Miller MVP Lead | ASP.NET, IIS, SQL Server, XML, XML Web Services From: Jamie Cansdale To: Jason Weber Cc: Lorna Williamson, Ben Miller Date: Jan 13, 2006 7:20 PM Subject: Re: Discuss TestDrive.Net Jason, I'm afraid your recommended wording is totally unacceptable. As I mentioned in my previous email, I remain of the opinion that I'm not in breach of the licence. I would like to know if Microsoft is officially requesting that I remove support for the Express SKU and if so on what basis. I do insist on this if there is to be any announcement. Regards, Jamie. From: Jason Weber To: Jamie Cansdale Date: Jan 18, 2006 7:18 AM Subject: RE: Discuss TestDrive.Net Jamie, Yes, we are requesting that you remove your current extensions to the Express SKU. As I explained in both calls, we believe that neither the Express license terms nor the Visual Studio SDK license terms permit you to create and offer these extensions. We can work with you on the wording of the announcement. We don't need you to admit breach of our license agreements or copyright infringement. Instead, we would be comfortable with a statement essentially saying that 'Microsoft does not believe the extensions are permitted under the relevant license terms', and that although you may disagree, you have decided to remove your extensions for the Express products. Please let me know how you would like to proceed, or propose different verbiage for the announcement. Thanks - jason From: Jamie Cansdale To: Jason Weber Cc: Lorna Williamson, Ben Miller Date: Jan 23, 2006 3:48 PM Subject: Re: Discuss TestDrive.Net Jason, In our last conference call you mentioned numerous ways in which you believed I was in breach of the Visual Studio SDK licence agreement. You also said that adding buttons to the Express SKU may be a breach of Microsoft's copyright. The code you believe violates the Visual Studio SDK licence agreement is present in all versions of TestDriven.NET (but is only actually invoked when executing inside a Visual Studio 2005 Team Edition). It is therefore the case that removing support for the Express SKU wouldn't remedy the licence situation. Even if Microsoft chose not to pursue this perceived licence breach, it would still leave any future versions of TestDriven.NET in a vulnerable position. I have therefore decided to remove all references to Visual Studio SDK assemblies. I find this situation regrettable as it does limit integration possibilities. I'm planning to discuss the issues raised and find out how other add-in developers interface with the Visual Studio SDK. I have seen many blog entries that seem to encourage add-in developers to circumvent the PLK mechanism (assuming that is what casting the DTE object to IServiceProvider does). As far as copyright is concerned, I still fail to understand - despite having researched the subject - how extending an application could be construed as a violation. I would appreciate if you could clarify further this issue. Regards, Jamie. [I never received a reply to this email] From: Jason Weber To: Jamie Cansdale Date: Mar 24, 2006 3:57 AM Subject: TestDriven Integration Jamie, It’s been a while since we last connected. Are you available for a conference call next week? Craig Symonds, the General Manager for Visual Studio, would like to meet you and discuss your integration. Thanks - jason From: Jamie Cansdale To: Jason Weber Date: Mar 27, 2006 3:48 PM Subject: Re: TestDriven Integration Jason, I would be available for a call sometime this week. Could you let me know the agenda and who would be joining the call? Thanks, Jamie. From: Jason Weber To: Jamie Cansdale Date: Mar 27, 2006 5:20 PM Subject: RE: TestDriven Integration The agenda is the same as our last two calls, to continue discussions around your extensions to Visual Studio Express. It will be Craig Symonds and myself on our side. Can you please make Thursday 12:00PM-12:30PM PST? I will send you a conference call number. Thanks! - jason From: Jamie Cansdale To: Jason Weber Date: Mar 27, 2006 10:11 PM Subject: Re: TestDriven Integration Jason, If the agenda would be the same as our last two calls, I don't think it would be a productive use of anyone's time. I'm quite confident that I'm not in breach of the Express SKU licence. I am reluctant to spend any more time on this without the possibility of a more constructive outcome. Regards, Jamie. From: Jason Weber To: Jamie Cansdale Date: Mar 27, 2006 11:46 PM Subject: RE: TestDriven Integration Jamie, it's unfortunate to hear that you feel this way. My objective has been to help you understand the technical, business and license implications to your Visual Studio Express hacks. I hope that you feel my assistance has been productive. What would you recommend as next steps to resolving this situation? Thanks! - jason From: Jamie Cansdale To: Jason Weber Date: Mar 28, 2006 11:42 PM Subject: Re: TestDriven Integration Jason, If you are keen to have a tele-conference, I think it would help if Craig Symonds was CCed on the emails. It would be good to make our positions clear and offer any suggestions up front. I'm reluctant to have a fruitless discussion over licences without anything new being added to the mix. Regards, Jamie. From: Jason Weber To: Jamie Cansdale Date: Mar 29, 2006 1:49 AM Subject: RE: TestDriven Integration Our position hasn't changed and we don't have any new suggestions for you. I wanted to provide you one last opportunity to discuss this with the Microsoft executive responsible for the Visual Studio business. It's your decision whether or not you take advantage of that opportunity. If you don't want to discuss this with Craig please recommend next steps toward resolution. Thanks! - jason From: Jamie Cansdale To: Jason Weber Date: Mar 29, 2006 11:27 AM Subject: Re: TestDriven Integration Jason, My recommendation is that you CC Craig on this email. If we are going to have a tele-conference I think that is perfectly reasonable. I would also appreciate it if you could answer my email of Jan 23. Regards, Jamie. From: Jason Weber To: Jamie Cansdale Date: Mar 29, 2006 7:04 PM Subject: RE: TestDriven Integration Craig Symonds runs the entire Visual Studio division (1,000 people) and is a busy Microsoft executive. We're fortunate that we could get 30 minutes with him for a conference call. I will remain your primary contact for these discussions. Including Craig on this email won't add any value to the process. If you have something that you want to provide to Craig you can work through me. As I replied to you on January 23rd Microsoft can't provide you legal advice. You will need to work with your legal council to answer these questions. Please let me know whether or not you would like to meet with Craig tomorrow! Thanks! - jason From: Jamie Cansdale To: Jason Weber Cc: Grant Drake Date: Mar 30, 2006 2:42 AM Subject: Re: TestDriven Integration Jason, I will happily make my position clear to Craig. If you would like to go ahead with the call, Grant Drake will be joining us as well (he is responsible for the code coverage support that comes with TestDriven.NET). Please copy him on any future emails. I would appreciate it if you could sent a UK local conference call number. Regards, Jamie.