BT
x Your opinion matters! Please fill in the InfoQ Survey about your reading habits!

The Story of TestDriven.NET and Visual Studio Express

by Jonathan Allen on Jun 02, 2007 |

When we first reported on Jamie Cansdale's TestDriven.NET, it sounded like the classic big company bullies the little one. But as the full story was been revealed, sentiment has begun to swing from die-hard support for Jamie Cansdale to a call to boycott TestDriven.NET . InfoQ looks back at how this unfortunate incident came to pass.

The story begins back in 2003 or 2004 when Dan Fernandez, lead product manager for Visual Studio Express, and his colleges decided that VS Express should be free. He, along with several other Microsoft employees, managed to convince Microsoft that the hobbyist market was being woefully underserved. In an April 2004 blog entry, Dan wrote:

My other problem is that I passionately believe in a product decision and I'm “going to the mat” as Joe would say to try and defend it. It's a losing battle right now and I don't think I'll be able to stop the train (it'll run right over me), but I have to try. At Microsoft you definitely need to pick your battles, because you can't have *everything*. Sometimes though, you just need to fight a fight because it's what you believe in, no matter how badly the odds are stacked against you. That's me, right now, 8:02PM PST in my office, no dinner, no sleep and over 400 pages of PowerPoint slide decks in front of me. Hopefully this post will make sense sometime at the end of this year, but I'll let you know if I'm even standing next Friday :).

When it was released in November of 2005, VS Express was expected to be free for one year. After which point, it could be purchased for approximately $99 US. Five months and five million downloads later, Dan's team got their wish and VS 2005 Express was made permanently free.

Visual Studio Express didn't come without limitations. The biggest is that it is not extensible via macros, add-ins, or VS packages. Michael Leworthy writes,

We did this for two reasons. First, we wanted to ensure a consistent user experience for all Express users. When we build content and tutorials (examples of which you can see at our Beginner Developer's Learning Center), we do so expecting the IDE to be the same all the time. In order to preserve a good first-time experience, we had to ensure the IDE was always going to be in a predictable and supported state and would only contain features appropriate for novice developers. Second, we wanted to make sure that the Express product line didn't cannibalize our professional tools business. This is reasonable given the amount of R&D we spent on building the product and the ongoing amount we spend on building content and support materials for the community of Express users.

Meanwhile, Jamie Cansdale of Mutant Design Limited was working on a commercial product called TestDriven.NET (http://www.testdriven.net/overview.aspx). This product supports test frameworks such as NUnit, MbUnit and Microsoft's Team System.

All of the following letters were provided to InfoQ by Jamie Cansdale.

It appears that Jamie's product first came to the attention of Microsoft when he applied for membership in Microsoft's Visual Studio Industry Partner (VSIP) program in December of 2005. This program was developed for 3rd parties that develop add-ons for Visual Studio.

In a letter dated Dec. 8, 2005, Jason Weber wrote to Jamie discussing the process for joining the VSIP program, the possibility of Jamie becoming a VSIP MVP, and asked if he already removed support for VS Express from his product. Excerpts from that letter follow:

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. 

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

In response to a request from Jamie about the specific EULA clause that he was violating, Jason wrote this email on December 9.

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 ;-)

After two weeks without contact, Jason wrote to Jamie again:

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!

To which Jamie responded on the 20th with:

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).

Discussions seem to have pretty much stalemated beyond that point, though it was still cordial.

On Jan 6, Jamie wrote:

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.

To which Jason responded:

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

At his point Jason seems to have been under the belief that the issue was settled. However, a few days later a conversation between Ben Miller and Jamie Cansdale showed that it wasn't.

On January 12 Ben wrote: 

 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.

Jamie's responds to him with: 

 I'm seeking some more advice on the matter tonight. I hope to reply
with something more definitive tomorrow.

To which Ben asks:

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?

Jamie answers in an email to Jason, Ben, and Lorna Williamson on the 13th with: 

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.

At this point it seems that the only thing Jason cares about is removing the add-on from VS Express and the announcement and admittance of breach of license, which was Jamie's idea, isn't important to him or Microsoft. 

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.

The last email Jamie sent in January reads: 

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.

Two months later the emails resume, but since they seem to be just going back and forth over arranging a conference call that eventually took place on March 30th. While things were not completely resolved, they did seem to be moving towards both a resolution and a new MVP award for Jamie. However, during this time another sticking point was brought to a head.

Visual Studio 2005 introduced a new product line called Visual Studio Team System (VSTS). Among the products in VSTS is MSTest, Microsoft's unit testing suite. Jamie has asked for permission to distribute the libraries used by MSTest so that he could support it on the less expensive VS Standard and Professional editions. On April 18, Jason denied Jamie's request: 

Unfortunately we can't give you permission to redistribute these VSTS
components for use in the Visual Studio Standard and Pro SKU's. There
are technically challenges (servicing, deployment, IA's, etc.) not to
mention business challenges (need to license to all VSIP partners, would
have to restrict scenario, etc.). Today we don't allow anyone partner to
change our SKU lineup.

Other correspondence likewise showed a lack of agreement between Jamie and Jason. Jamie appears to have made several more demands in exchange for dropping VS Express support. On April 22, Jason wrote: 

Jamie,

I would much prefer that we reached an amicable solution, but I don't
feel that we're trending in that direction. I had already replied to
this email. To ensure that we're on the same page let me explicitly
answer your requests:

1.) We will not allow you to redistribute VSTS unit testing components
with your product for use in Standard/Pro SKU's.

2.) We will not allow you to redistribute Visual Studio below Select B
pricing (our standard pricing model).

3.) We are not offering you a free VSIP Premier, Open Tools and/or IDE
redistribution partnership.

4.) We will not allow you to extend the Visual Studio Express SKU's
under any conditions.

5.) You will not be accepted into the VSIP program until you conform to
our license agreements.


To be clear Microsoft is not going to compensate you for discontinuing
your Express extensions. We are willing to work with you through the
VSIP program once you are in conformance with our license terms. That
said we are willing to entertain any other suggestions you might have.

Do be fair, it seems that Jamie wasn't actually asking for compensation for VS Express. Jamie makes this clean when he wrote:

hank you for spelling out Microsoft's position so clearly. I find
this directness constructive and feel that we're moving forwards. In
this same spirit I would like to lay out my position:

1.) All of the interfaces and methods I used to extend the Express SKU
are public and documented on the MSDN website.

2.) I have sought legal advice on the Express SKU EULA and as far as
my lawyer is aware I am not in breach of the licence.

In our second teleconference Ben Miller told me this issue would not
impact my MVP status or prospects for renewal (baring Microsoft taking
legal action). I feel a constructive way forward would be if Microsoft
were to make a gesture of good faith by renewing my MVP award for this
season. I would then be happy to remove Express SKU integration from
my website and engage with Microsoft through the VSIP program as you
have suggested.

To be clear I am not asking to be made a VSIP MVP as compensation for
discontinuing my Express SKU extensions. I am simply asking not to be
punished over an issue that everyone would like to move away from.
Assuming we can agree upon this as an amicable way forward, I will
publish the following installer on my website:
http://www.mutantdesign.co.uk/downloads/TestDriven.NET-2.1.1586_Basic.zip

Regards, Jamie.

On May 13, 2006, Jason thanked Jamie for removing the parts of the VS Express integration and offered to help him with other develop issues unrelated to this incident.

Nearly a year later, Jamie Cansdale once again started claiming he wasn't in violation of the agreement. The email is dated February 22, 2007:

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.

It is followed on February 26 by a threat to reinstate VS Express support for TestDriven.NET. 

 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.

On the same day, Jason asked Jamie to focus on other areas of VS 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.

On April 17 Jamie made good with his threat to reenable VS Express Support for his product and, for the first time, Jason threatened to bring in the lawyers.

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.

On May 25, Jamie heard from Microsoft's lawyers.

 

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Nice and Objective by JBeansWho JBeansWho

Thanks for posting an objective read of the situation. I was feeling the same way and thought I missed something. Jason Weber treated Jamie with respect and Jamie has been a complete sneaky jack*ss. I remember Jamie from the Java days and he's never impressed me. Thanks for publically challenging the FOSS crowd. It's nice to see that somone can be objective these days.

<trackback href="-http:%3">

Re: Nice and Objective by Jonathan Allen

Just to make it clear, this really has nothing to the Free/Open Source community.

While TestDriven.NET does leverage open source libaries, the program itself is a commericial product that specifically requires to user to not "reverse engineer, decompile, disassemble or otherwise reduce the Software to source code form".

Re: Re: Nice and Objective by JBeansWho JBeansWho

From Jamie's blog the only people defending him are the FOSS community with the common FOSS arguments that they own the software once it's installed on their machine and they deserve these rights (i.e. to break the EULA and do what they want with the product once installed) without having consequences. Most of the respected .Net developers commenting on this subject are generally in agreement with MS. I'm drawing the analogy to the mindset that I see over and over from these guys who jump on the daily anti-commercial software bandwagon.

He thought he was legally right by Frans Bouma

Nearly a year later, Jamie Cansdale once again started claiming he wasn't in violation of the agreement. The email is dated February 22, 2007:

That's because he mailed:
2.) I have sought legal advice on the Express SKU EULA and as far as my lawyer is aware I am not in breach of the licence.


So, of course he doesn't think he's in violation. Remember, he also got his MVP title revoked because of this.

In a broarder light: this isn't really about jamie vs. MS, it's about the fact if you're legally able to use public, published APIs in any way you see fit AS LONG as you obey the law. That MS doesn't like what Jamie created, very understandable, but their EULA has no clause whatsoever to forbid what Jamie did.

Re: He thought he was legally right by Jonathan Allen

The rights Microsoft seems to be claiming are:

9. SCOPE OF LICENSE. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, 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. For more information, see www.microsoft.com/licensing/userights. You may not

work around any technical limitations in the software


Re: He thought he was legally right by Sam Smoot

This article is just plain irresponsible.

It grossly misrepresents the majority community opinion as far as I can tell.

The apologists keep blaming "FOSS" and "TDD.NET is Commercial", except that again, the majority of Jamie's supporters (near as I can tell) aren't making any such allusions to FOSS. The only people I see drawing these lines are the Microsoft supporters.

...and TDD.NET didn't start out commercial, nor is the product in question a commercial product. So the mention of that is just a red-herring to try and make an emotional appeal portraying Jamie as some money-grubbing shyster who won't play by the rules and is only making an issue of this for his own commercial benefit.

Except none of this benefits Jamie at all. The whole point is that Jamie has been fighting for the .NET community instead of rolling over to suspect claims of breach of a EULA that as Frans Bouma has mentioned, Jamie doesn't even have to agree to as long as he doesn't build with VS-Express.

"Objective" my ass.

Pointless battle by peter lin

I have to say, the battle is pointless and waste of time. Microsoft has a right to say express does not allow extensions and do what ever they want. Anyone writing open source software for a commercial product should be aware of that and expect the company exercise their rights. I have my own open source XSD compiler for .NET, so writing OSS for .NET is familiar to me. If express doesn't provide built in unit testing, so what. Don't use express if you want to unit test within visual studio. If unit testing is important, then use some other tool or language that is testing friendly.

Re: Nice and Objective by Floyd Marinescu

JBeans, we have a real name policy on InfoQ. I'd kindly ask you to edit preferences and add your real name or refrain from posting. Thanks, InfoQ mngmt.

Re: He thought he was legally right by Jonathan Allen

If I showed any personal bias in this article, I apologize. My intent was to just relate the events from the material Jamie sent me. We may do a follow-up on the community opinion at a later time.
...and TDD.NET didn't start out commercial, nor is the product in question a commercial product.

Actually, it is a commercial product. It is free for "trial users, students and open source developers". According to the TestDriven.NET website,
A professional licence [sic] is intended for software professionals who use TestDriven.NET on a daily basis.

As of today, TestDriven.NET is $95/user for the Professional edition and $135/user for the Enterprise edition.

Re: Pointless battle by Jonathan Allen

While I personally agree with you about this being a "pointless and waste of time", I would like to reiterate that from all indications on the website, TestDriven.NET is not an open source project. This is an excerpt from the "PERSONAL LICENCE AND SUPPORT AGREEMENT".
Except as expressly permitted in this Agreement, Licensee shall not, and shall not permit others to: (i) modify, translate, create derivative copies of or copy the Software (other than one backup copy which reproduces all proprietary notices), in whole or in part; (ii) reverse engineer, decompile, disassemble or otherwise reduce the Software to source code form;

testdriven.net/downloads/TestDriven.Personal%20...

Some Corrections by Jamie Cansdale

Jonathan,

You appear to have inferred a few things from the emails which aren't correct.
Meanwhile, Jamie Cansdale of Mutant Design Limited was working on a commercial product called TestDriven.NET

When Jason contacted me there was only a free version of TestDriven.NET available. It had been in development for 3 years prior to this. Yes it was popular and taking up a lot of my time, but it was in no way a commercial product.
It appears that Jamie's product first came to the attention of Microsoft when he applied for membership in Microsoft's Visual Studio Industry Partner (VSIP) program in December of 2005. This program was developed for 3rd parties that develop add-ons for Visual Studio.

I have never applied to join the VSIP program.
In a letter dated Dec. 8, 2005, Jason Weber wrote to Jamie discussing the process for joining the VSIP program, the possibility of Jamie becoming a VSIP MVP, and asked if he already removed support for VS Express from his product.

Knowing that I hadn't applied to join VSIP, doesn't it strike you as a little bizarre that Jason was talking about me jointing VSIP and changing MVP specialty? What does the VSIP program and my MVP status have to do with me removing support for VS Express from TestDriven.NET? Try reading between the lines here and don't take everything Jason is saying literally.

Only later does Jason reveal what he really meant:
5.) You will not be accepted into the VSIP program until you conform to our license agreements.

...

As you know your MVP affiliation was not renewed this year. Based on your current actions and community participation rate I can't award you MVP status. I hope that you will harness your Visual Studio extensibility passions and earn VSIP MVP status over the coming year by integrating through public API's and supporting our community.

Remember I still hadn't been told which license I wasn't conforming to! Over and over again I was being told I was in breach of their license, but they refused to tell me which one. Can you imagine how frustrating that would be?

Lastly please read the following post:
weblogs.asp.net/nunitaddin/archive/2006/07/10/E...

We're talking about software that was completely free for 3 and a half years. Now despite there being commercial versions, there is still a fully functional version available with a very liberal 'personal' license. You can't redistribute the personal version but you can evaluate it for as long as you like. This license is intended for the student, hobbyist and budget-constrained market. However just like Visual Studio Express there is nothing in the license that says you can't use it on commercial projects.

I hope that clarifies a few things.

Thanks, Jamie.

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

Re: He thought he was legally right by Edgars Jekabsons

Hmm, it seems to me, that using an addon (not creating it) does not comply with the technical VS Express limitations.

Communication style by Stefan Tilkov

There's an interesting post by Leon Bambrick, where he puts the blame on Jason Weber, and specifically on that email he wrote (the one where he suggested that Jamie should use the explanation "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 don't know much about the other aspects, but I'm sure that I'd have been seriously pissed after receiving it. Read Leon's post and see if you agree.

Does the article need a rewrite by Mike Gale

This article has some facts wrong.

(Application for VSIP is a major one.)

Maybe it should be rewritten.

I've noticed in this debate there seems to be a need for a declaration of interest, biases etc. How about that?

My interests are:

1) I don't work for MS (or depend on them in any way, except using their OS's, products and eco-system!!) but admire a lot of what they do and provide. Especially to the programmer. I also have my doubts about some of their products.

2) I've never met Jamie face to face nor have a business relationship with him. I think TestDriven is great.

3) I've never used an Express SKU but have bought most VisualStudios since launch. (A lot of what I've bought has never been seriously used but I don't resent that fact.)

4) I believe beginning programmers should not be short changed. Give them a proper range of tools to help them avoid the bad habits so prevalent in this game.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

14 Discuss

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2014 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT