by admin on April 27, 2006 07:34pm


Original Post:

Tuesday, April 18, 2006 4:30 AM by Rick Strom

Ok Bill, I have a real suggestion here that is hopefully within the scope of what you are doing (and hopefully you're still reading the comments here). I'd also like to voice it to someone else at Microsoft since the MS rep I spoke to tonight blew me off.

Visual Studio 2005 should support CVS out of the box, or via an after-market but MS-developed add-in.  The Microsoft rep knew as well as I do why Microsoft wants to push "Team System" over CVS -- namely, because it makes OSS development  on SourceForge (and elsewhere) for the Windows platform a pain in the butt.

I love Visual Studio -- since I switched, I haven't looked back.  But its hard to fully love a product that doesn't do something which really should be quite obvious.  If Microsoft is worried about the potential harm that would come from facilitating development of SourceForge projects, or CVS projects in general, I think they are missing the bigger picture.  A first class compiler like VS 2005 with a built in CVS client?  You wouldn't just dominate the market, you'd own it.  You would also benefit from a much larger number of (free) applications for the Windows OS, which would in turn reduce the chance of losing users to a Linux desktop.

"Trust me, Team System is better than CVS" and "maybe SourceForge will look into Team System" are not good answers (but those are the answers I got from the MS rep).  Casual users can be convinced to do things a certain way, but developers generally tend to like to decide for themselves how they want to work.  One of the things that has made Visual Studio so great is that it tries -- and succeeds, for the most part -- to be everything to everybody.  With VS 2005 they seem to be going in another direction, and that makes it hard for me to seriously consider the upgrade from VS 2003.

Response:

Hi Rick,

My name is Eric Lee, and I’m the product manager for Team Foundation Server – a product in the Visual Studio Team System family.

First, let me apologize on behalf of the Microsoft rep that blew you off about this - Visual Studio is certainly a product who cares very deeply about the opinions of its customers.

You have a good point – simple, bullet-proof, cheap/free version control is certainly something that all developers need; whether they are doing OSS, running a small business, or part of large enterprise.

Before I try to address your question directly, let me spend a paragraph or two talking about how we think of version control and extending Visual Studio at Microsoft – I’d be happy to hear your opinions on this.

The introduction of Team System gives us two version control offerings from Microsoft – Visual Source Safe and Team Foundation Server (TFS).  Visual Source Safe (VSS) is what we like to think of as where change management begins – it’s simple, relatively cheap, easy to setup and doesn’t require a server.

VSS will start to bog down a bit when it’s pushed beyond its scope – for example, it has no work item tracking, limited remote access and limited parallel development capabilities.  This is where Team Foundation Server comes in – Team Foundation Server is a from-the-ground up implementation of version control, work item tracking, and release/project management integrated into a single collaboration server.  TFS uses XML Web Services for communication and SQL Server 2005 as its data store.  Both TFS and VSS integrate out of the box with Visual Studio 2005.

In terms of extending Visual Studio, we have always been very cognizant of making Visual Studio as extensible as possible – both for commercial and non-commercial partners.  Lost in all of the announcements of Visual Studio 2005 is that our Visual Studio Industry Partner Program (VSIP) now has a free membership option.  This membership gives you access to the SDK that enables extension of VS2005.

Part of the Visual Studio SDK is the MSSCCI interface (pronounced ‘misky’) that enables partners to implement version control providers; this interface is part of our SCC API.  This interface has become something of a de facto standard for development environments.  This interface gives you access to events like ‘user is trying to edit a file’ so that you can implement your ‘check-out’ operation.  This interface also allows you to provide locked and unlocked glyphs – basically all the aspects of a version control system.  We provide a skeleton version control provider as an example.  Integrating CVS with Visual Studio would involve writing a provider that uses MSSCCI – there are some examples out there today.

Now to address your concern more directly; CVS – VS integration is a perfect example of the balancing act we have to do in Visual Studio.  On one hand, an ‘out of the box’ solution might be very appealing to our customers; but on the other hand, doing this would take an opportunity away from our partners.  In order for Visual Studio to be successful, we feel we have to build it as a platform, and help create a healthy ecosystem of partners.  Doing this means providing viable opportunities for our partners to build value onto VS.  Finding this balance isn’t an exact science, we use a number of ways to get feedback from our partners and we disclose our early plans to our VSIP Alliance and Premier partners.  All of this is done to try to find a happy medium; we don’t do this perfectly all the time, but it is certainly something we constantly evaluate and invest a great deal of time in.

CVS integration in particular – because of the potential partner opportunity and the overlap it would introduce with VSS and TFS - is likely not something we would produce out of the box with Visual Studio.

However, the idea of a simple, bullet-proof, built-in version control system is something we are thinking hard about for future versions of Visual Studio.  The idea of what is integrated in an IDE is changing and expanding all the time, maybe it is time to include version control as a natural part of an IDE?  Would that be a streamlined version of TFS, a free copy of VSS, or something else?  These are certainly all possibilities.  I’d be happy to discuss your thoughts on this as well.

Thanks for taking the time to share your opinion with us.

Eric.