Express SKU Support

5 views
Skip to first unread message

Jamie Cansdale

unread,
Feb 23, 2007, 7:28:15 AM2/23/07
to TestDri...@googlegroups.com
Dear Users,

If you read my weblog you may have seen a few hints about what
happened to the Express SKU support in TestDriven.NET. I have been
using C# Express as my primary development environment since Beta 1.
As you can imagine I was very reluctant to drop support without a good
reason. If it turned out I was in breach of Microsoft's license I
would have dropped support without question.

You can read the full story here:
http://www.mutantdesign.co.uk/downloads/MicrosoftEmailsChapter1.txt
http://www.mutantdesign.co.uk/downloads/MicrosoftEmailsChapter2.txt

It is long but I think quite an interesting read. It was certainly an
eye opener for me. You will notice that Microsoft never actually tels
me where I'm in breach of their license (or even which license I'm
supposedly in breach of). All I have to go are some things Jason Weber
mentioned in a teleconference with Lorna Williamson and Ben Miller
(from the Microsoft MVP Program).

1) He said that by using Intellisense I may be in breach of the
dissasembly clause in the VS SDK license.
2) He said that by working out how to use an API by looking at the
public type and method names I may be in breach of the reverse
engineering clause in the VS SDK license.
3) He said that by adding a button to the Express SKU interface I may
be in breach of Microsoft's copyright.

A few months later I did relent and disable Express SKU support. This
decision was mainly to make the harassment stop. I also wanted to keep
the option of using the VS SDK open (to deploy them you need a package
load key from Microsoft). However this business has left such a bad
taste in my mouth that all plans to use the VS SDK have been canceled.

I have recently asked Jason to confirm his reasons for believing that
I'm in breach of Microsoft's license. If he doesn't come back with
something concrete that I'm not embarrassed to tell my users then I
plan to re-enable Express SKU support.

Thank you for reading. I appreciate any advice and support you can
give me. It can be pretty lonely being an ISV sometimes. I'm sorry I
didn't talk about this earlier.

Best regards,
Jamie.

--
http://www.testdriven.net
http://weblogs.asp.net/nunitaddin

Message has been deleted

Nick

unread,
Feb 23, 2007, 10:15:46 AM2/23/07
to TestDriven.NET Users
Jamie,

I would certainly use it in the Express SKU. I wouldn't want you to
expose yourself to anything illegal, but I agree with your stance of
"Ask forgiveness, not permission".

Mark Haley

unread,
Feb 23, 2007, 2:12:32 PM2/23/07
to TestDriven.NET Users
I don't work for Microsoft, but after reading the email trail...

My advice is to do what they ask, play nice, and reap any benefits of
being in their good graces.

Having legal cousel tell you that you are not in breach mean exactly
zip. Where you will get hammered hard is having to PROVE that you are
not in breach, and quite frankly, you cannot afford (I do mean
financially) that battle.

Sure, it sucks not to have a pile of money at your disposal, but even
if you did, they have more.
Sure, you'd like to vindicate yourself.
Sure, you feel abused.

But in the end, you need to eat and pay the rent.

That's life.

You have a great product that many have found downright brilliant. If
you try to fight this, you most likely will end up with nothing.

Jamie Cansdale

unread,
Feb 24, 2007, 6:46:53 AM2/24/07
to TestDri...@googlegroups.com
Hi Mark,

If I was based in the US I would be inclined to agree. However being
based in the UK the prospects of winning look pretty good. I have been
accused of using Intellisense and reverse engineering to find
undocumented API calls. The European Commission is known to take a
pretty dim view of undocumented APIs!

It isn't as if TestDriven.NET would be the only add-in available for
the Express SKU. See Microsoft's very own reporting add-in for VWD
Express here:
http://msdn.microsoft.com/vstudio/express/vwd/download/

I know there are very serious risks involved and I don't want to come
across as complacent. For a number of months I did do as they ask and
remove support for the Express SKU. However this has left me feeling
dirty and abused. If I'm going to move on I can't continue to just lie
back and take it.

My allegiances lie with the .NET developer community not Microsoft.
TestDriven.NET wouldn't exist if it wasn't for support and
encouragement from the community. Microsoft have forced me into a
position where I have to choose. My choice is to make TestDriven.NET
available to hobbyist developers unless Microsoft can come up with a
compelling reason why I shouldn't.

Thanks, Jamie.

Andrzej Kaczmarczyk

unread,
Feb 25, 2007, 2:53:03 PM2/25/07
to TestDri...@googlegroups.com

Thank you for reading. I appreciate any advice and support you can
give me. It can be pretty lonely being an ISV sometimes. I'm sorry I
didn't talk about this earlier.
 
Jamie,
I haven't read anything specific in those emails. I believe that you did not crossed the legal line, as far as I can see, they've left the door open, and are trying to outcry you.
The loudest does not has to be right.
 
Your software is great, I've been using it daily, and the Express support is really needed.
For all it's worth, you have my support.

Best regards,
Jamie.
 
Best regards,
Andrzej Kaczmarczyk

 

Jamie Cansdale

unread,
Feb 26, 2007, 6:37:52 PM2/26/07
to TestDri...@googlegroups.com
Here is the latest:


From: Jamie Cansdale
To: Jason Weber
Cc: Ben Miller;Lorna Williamson
Date: Feb 22, 2007 12:19 AM
Subject: Re: Visual Studio Express Integration

Hi Jason,

In our teleconference last year with Ben an Lorna you mentioned 3 ways
in which you believed I may be in breach of Microsoft's license terms.
On this basis that Ben requested that I comply and take down support
for the Express SKU's.

1) You said that by using Intellisense I may be in breach of the


dissasembly clause in the VS SDK license.

2) You said that by working out how to use an API by looking at the


public type and method names I may be in breach of the reverse
engineering clause in the VS SDK license.

3) You said that by adding a button to the Express SKU interface I may


be in breach of Microsoft's copyright.

After the teleconference I said that I would need a statement that I
could give to my users about why the Express SKU was no longer
supported. I continue to get emails asking why TestDriven.NET no
longer works with Express. Please can you confirm that the points
above are why you believe I was in violation.

Regards,
Jamie.

From: Jamie Cansdale
To: Jason Weber
Cc: Ben Miller
Date: Feb 26, 2007 10:37 AM
Subject: Re: Visual Studio Express Integration

Jason,

Your delayed response leads me question whether you ever had
reason to believe I was in violation of Microsoft's license terms. If this
is not the case I request that you let me know immediately. Any further
delay will lead me to re-enable Express SKU support without notice.

Regards,
Jamie.

From: Jason Weber
To: Jamie Cansdale
Cc: Ben Miller;Lorna Williamson
Date: Feb 26, 2007 9:30 PM
Subject: Re: Visual Studio Express Integration

Jamie, for the reasons we discussed at great length, we believe your
various extensions to the Visual Studio Express products necessarily
violated the relevant license terms. We don't think it's productive to
rehash those discussions. Instead, we encourage you to focus your
energies on legitimately extending the Visual Studio products, as
permitted under the Visual Studio Industry Partner (VSIP) program and
the associated terms and conditions.

Thank you, Jason Weber


----------

"we believe your various extensions to the Visual Studio Express
products necessarily violated the relevant license terms"

Does anyone know what that means?

Since I'm not extending Visual Studio using the VSIP interfaces/VS SDK
the "associated terms and conditions" that Jason mentions don't apply.
It looks like I'm in the clear.

Thanks, Jamie.

Jamie Cansdale

unread,
Feb 27, 2007, 10:23:50 AM2/27/07
to TestDri...@googlegroups.com
The plot thickens:


From: Vicki Collins
To: Jamie Cansdale
Cc: Akim Boukhelif;Lorna Williamson
Date: Feb 27, 2007 11:06 AM
Subject: Microsoft Most Valuable Professional Award

Hello Jamie,

My name is Victoria Collins; I'm a member of the Microsoft(r) Most
Valuable Professional (MVP) team for UK & Ireland with Lorna
Williamson and Akim Boukhelif. I'm contacting you to ask if you would
like to be considered for an MVP Award in recognition of your
contributions to technical communities over the past year.

MVPs are recognized by Microsoft for their voluntary participation in
offline and online technical communities. If you are not familiar with
the MVP program you can learn more by visiting our web site at:
http://mvp.support.microsoft.com <http://mvp.support.microsoft.com> .
Our web site includes a Frequently Asked Questions (FAQ) section which
provides answers to questions commonly asked about the MVP program and
also provides a lot of good information describing the program
(http://mvp.support.microsoft.com/mvpfaqs
<http://mvp.support.microsoft.com/mvpfaqs> ). For your reference, I
have posted the top 4 FAQs at the bottom of this e-mail.

We are considering you for this award because you have been
recommended to us due to your extensive online work within the Visual
Developer .NET communities. In order for me to get to know you better,
would you mind sharing with me some additional details about your
participation in the online communities during the past year and any
other contributions you might have made to the community, by filling
in the attached "community activities" excel spreadsheet. Please
include as much detail as possible (for example: links, total number
of web site visitors, total number of online publications or books
sold)

Responding to this e-mail and to the questions in the spreadsheet is
completely voluntary. If you prefer to not respond, your nomination is
not affected and you are still under consideration for an MVP Award.

If you have questions about the MVP Program, your nomination, or this
e-mail, please e-mail me or telephone Akim Boukhelif on +44 (0) 118
909 5132 at your convenience.

Currently you are still under consideration for a Microsoft MVP Award.
If you are successful, you will be awarded your MVP status on July 1st
2007.


Thank you,


Vicki Collins
UK & Ireland MVP Administrator
The Microsoft MVP Programme: Independent Experts. Real World Answers

Jamie Cansdale

unread,
Mar 3, 2007, 4:06:30 AM3/3/07
to TestDri...@googlegroups.com
It looks like they made a mistake:


From: Vicki Collins
To: Jamie Cansdale

CC: Akim Boukhelif;Lorna Williamson
Date: Fri, 2 Mar 2007 20:11:43 +0000
Subject: Recall: Microsoft Most Valuable Professional Award

Vicki Collins (Brook Street) would like to recall the message,
"Microsoft Most Valuable Professional Award".

Jamie Cansdale

unread,
Apr 23, 2007, 8:11:21 AM4/23/07
to TestDri...@googlegroups.com
From: Jason Weber
To: Jamie Cansdale
Date: Apr 17, 2007 5:24 PM
Subject: RE: Visual Studio Express Integration

Jamie,

We just noticed that you recently re-enabled extensions to our Visual
Studio Express products:
http://weblogs.asp.net/nunitaddin/archive/2007/04/02/express-sku-support.aspx

This is extremely disappointing. We spent a lot of time last year
explaining to you, over a period of many months, that our Express
products are not designed or intended to be extensible. As we also
explained to you many times, our license terms for the Express
products do not permit extending them with new functionality or by
enabling access to latent Visual Studio functionality that we
purposely de-activated for our Express products. Your various
extensions, in both their former and current incarnations, necessarily
violate those license terms and infringe our rights in our products.
You are also putting your own customers in a difficult position, since
you are encouraging them to breach the license terms, too.

We thought that you ultimately recognized this, when you withdrew
support for Express from your products last year. We can't help but
conclude that, by re-enabling Express support now, in light of all of
our conversations (including the email exchange below in February),
you have consciously decided to flout our rights.

What makes this especially puzzling is that you are undermining the
economic model that you rely on for your own products. Nearly all
software vendors offer limited versions of their products for nominal
or no cost, often as a marketing or entry-level tool. More
sophisticated or feature-rich versions of the same software are then
supplied at a higher price. We do this with Visual Studio Express (our
free products) and Visual Studio Standard and above (our commercial
products). You use this model for your own products, the "Personal,"
Professional" and "Enterprise" versions of TestDriven.NET. Your
actions subvert the model that we all rely on.

Instead of extending Express, I'd urge you again to focus your energy
and talents on extending our commercial Visual Studio products, under
the terms of our publicly available VSIP program. Hundreds of other
partners are successfully doing this, all the while respecting the
restrictions on extending the Express products. There's no reason why
TestDriven.NET can't be successful doing this, too.

We'd really like to resolve this amicably. Please remove support for
our Express products from your software as soon as possible. Please
also let me know when you have done this, and confirm that you will
not make such support available in the future. If you do not remove
support by that date, then this matter will be out of my hands and I
will have to turn this over to the lawyers. I really hope it does not
come to that.

Thank you, Jason Weber

Jamie Cansdale

unread,
May 25, 2007, 8:13:05 PM5/25/07
to TestDri...@googlegroups.com
A guy on a motorbike delivered this letter (see attached) from
Microsoft's UK lawyers today. At least I finally get to see which
clause they're hoping get me on:

"...you may use the software only as expressly permitted in this
agreement. In doing so you must comply with any technical limitations
in the software that only allow you to use it in certain ways... You
may not work around any technical limitations in the software."

If you do the following search it makes for interesting reading:
http://www.google.co.uk/search?q="You+may+not+work+around+any+technical+limitations+in+the+software"

I'm considering my options at the moment. Any suggestions would be appreciated.

Thanks, Jamie.

page1.jpg
page2.jpg
page3.jpg
sign.jpg

Vadim

unread,
May 26, 2007, 12:55:43 PM5/26/07
to TestDriven.NET Users
Jamie,

I don't have any suggestions. I'm more interested in technology than
any legal/political bullshit. I just would like to mention that I
completely support you. I probably would not be able to develop
without TestDriven.Net. It's a must have add-in for every developer.
In my eyes, it doesn't make any sense for Microsoft to fight you. I
believe that they should embrace you for the tool you're giving
to .Net community.
I don't want to talk bad about Microsoft, after all they (in directly)
helping me to pay my bills. However, I believe that incidents like
this one give Microsoft "Evil Empire" name.

Vadim

http://vkreynin.wordpress.com/
http://vadim-net.blogspot.com/

On May 25, 8:13 pm, "Jamie Cansdale" <jcansd...@gmail.com> wrote:
> A guy on a motorbike delivered this letter (see attached) from
> Microsoft's UK lawyers today. At least I finally get to see which
> clause they're hoping get me on:
>

> page1.jpg
> 922KViewDownload
>
> page2.jpg
> 1129KViewDownload
>
> page3.jpg
> 827KViewDownload
>
> sign.jpg
> 759KViewDownload


>
> "...you may use the software only as expressly permitted in this
> agreement. In doing so you must comply with any technical limitations
> in the software that only allow you to use it in certain ways... You
> may not work around any technical limitations in the software."
>
> If you do the following search it makes for interesting reading:http://www.google.co.uk/search?q="You+may+not+work+around+any+technical+limitations+in+the+software"
>
> I'm considering my options at the moment. Any suggestions would be appreciated.
>
> Thanks, Jamie.
>

> --http://www.testdriven.nethttp://weblogs.asp.net/nunitaddin


>
> On 4/23/07, Jamie Cansdale <jcansd...@gmail.com> wrote:
>
>
>
> > From: Jason Weber
> > To: Jamie Cansdale
> > Date: Apr 17, 2007 5:24 PM
> > Subject: RE: Visual Studio Express Integration
>
> > Jamie,
>
> > We just noticed that you recently re-enabled extensions to our Visual
> > Studio Express products:

> >http://weblogs.asp.net/nunitaddin/archive/2007/04/02/express-sku-supp...

> > Thank you, Jason Weber- Hide quoted text -
>
> - Show quoted text -

Andrzej Kaczmarczyk

unread,
May 27, 2007, 4:09:56 AM5/27/07
to TestDri...@googlegroups.com
AFAIK they are wrong in telling you that you have modified the Express.
it is more or less the same as forbiding you to install roof equipment on your car, becuase the producer of the car offers higher capacity models at higher prices.
 
what you did is optional and done with the functionalities they (willingly or not) offer an no one can blame you for it.
 
ps. did you talk with a lawyer over this?
 
CUIN Kaczy

Jamie Cansdale

unread,
May 27, 2007, 5:53:19 AM5/27/07
to TestDri...@googlegroups.com
Hi Andrzej,

The API I used has been present in all version of Visual Studio since
Visual Studio 2002. It is active in the Express SKU and not "latent"
as Jason suggests. The reason I knew it was active is because
Microsoft has been using this API in Visual C++ Express!

I have spoken to lawyers about the clause they highlight (despite
Jason *never* having mentioned it). Their opinion was that this clause
is too vague and would never hold up.

Thanks, Jamie.

Andrzej Kaczmarczyk

unread,
May 27, 2007, 9:18:34 AM5/27/07
to TestDri...@googlegroups.com
1. Good
2. He probably didn't mention this on purpose - something like the final weapon, that should scare you off
3. I'll ask few friends around, this is perhaps the best thing we can do in between - publicize the issue more 

CUIN Kaczy

Jay R. Wren

unread,
May 29, 2007, 3:43:43 PM5/29/07
to TestDri...@googlegroups.com


On 5/25/07, Jamie Cansdale <jcan...@gmail.com> wrote:


I'm considering my options at the moment. Any suggestions would be appreciated.

Thanks, Jamie.


Stop developing the product all together, remove all traces of it and instead develop it for SharpDevelop.

:)

--
Jay R. Wren

Adam Hill

unread,
May 30, 2007, 10:57:56 PM5/30/07
to TestDriven.NET Users
Point out that MS themselves are breaking the "Express is not designed
to be extended" idea with XNA Studio and C# Express.

Jamie Cansdale

unread,
May 31, 2007, 2:25:23 PM5/31/07
to TestDri...@googlegroups.com
Hi folks,

I'd just like to say that your "advice" is appreciated. I'm not sure
why they needed to quote that in attached letter.

Express30May2007.jpg

Jamie Cansdale

unread,
May 31, 2007, 2:18:55 PM5/31/07
to TestDri...@googlegroups.com
I'd just like to say that your "advice" is appreciated. I'm not sure
why they needed to quote that in the letter.

Adam Hill

unread,
Jun 2, 2007, 5:29:39 PM6/2/07
to TestDriven.NET Users
The VS Express Team has responded -
http://blogs.msdn.com/danielfe/archive/2007/06/01/testdriven-net-and-express-technical-information.aspx

Previously I was firmly on Jamie's side -- big corp bullying someone
that was a small interloper into their revenue stream. But process
injection crosses the line IMHO. If process injection is OK, what
about modifiying the IL in Reflector to enable functionality or
rewriting programmatically with Cecil?

I wonder what the author of TypeMock would do if we figured out how to
turn on the Enterprise features of his product via PI? How world that
be any different?


adam...


Andrzej Kaczmarczyk

unread,
Jun 3, 2007, 8:29:34 AM6/3/07
to TestDri...@googlegroups.com
Read again, and browse through the code, there is no process injection:
 
 
Than again, higher licenses offer a LOT more then express. Batching express with few enhancing tools isn't going to be a well rounded package tha Microsoft could deliver had it been learning form developers' needs. Enhancing, extending, adding, what else are we (developers) doing all the way? That's the way it is.
 
I don't know the TypeMock nor it's author. Had I been using it and had difficulties, I'd would have pointed him to implemented them. Hadn't he ignored me or asked an amount that I'd find too big, I'd have coded it myself using every technique I know, be it process injection, reverse engineering or black box testing.
 
Microsoft have shown a lot of good will and understanding by offering something for free. A deed that removed most of bad press I held against them. Legal tricks in EULA preventing me form using the tool I've received the way I want it undermined that effort largely.
 
CUIN Kaczy
Reply all
Reply to author
Forward
0 new messages