Martin Woodward

Back to Profile: martinwoodward


  • RadioTFS Channel 9 Studio Takeover (aka RadioTFS #100 @CH9!)

    , giuliov wrote

    well, put Martin aside: he is hard to escape.

    Hah! Like a bad penny...

  • .NET Open Source Initiative

    @pmelendez - the MS Open tech projects are being brought into MS Corp.  See the following link for more details on the future for the MS Open Tech team

    I get to work with many of them every day (and continue to do so). It's very excited to see the transition in Microsoft's approach to open source that they have been driving.

  • .NET Open Source Initiative

    @batpox - no news I'm afraid. I'm sure you'll hear about if it happens ;)

  • .NET Open Source Initiative

    @AnisSG- at the moment the focus for most of the engineering groups working on the open source elements of .NET is to target the server workloads. That's what the vast majority of the Linux machines on the planet are busy doing now and we want .NET to be on as many machines as possible so serer workloads are at the top of their priorities. Getting the current WPF api's to work against a mixed set of platforms, windows managers and native UI frameworks is a non-trivial engineering effort that grows exponentially especially when you put OS versions into the equation (just look at things in the Java world like AWT and SWT which are more equivalent to WebForms) 

  • .NET Open Source Initiative

    @ErikEJ - I moved on from the CodePlex team a while ago. It's still under Brian Harry in Developer Division and he's been public about his plans.

    But I have always been a big fan of CodePlex (and open source in general), joining in May 2006. Also I have a lot of history there, in fact I was at dinner with Sara Ford just last night so bear with me while I give you an overly long answer to your simple question ;) Just caveat this with the fact that I'm not on that team anymore so cannot speak to their current backlog.

    CodePlex is an incredibly popular site. It's numbers are dwarfed by GitHub but there are around 250,000 core active users and over 1 million page views. Brian has been very clear that he doesn't see why he would want to switch CodePlex off while so many people find value in it and for some projects the ads they enable are actually helping fund open source development.

    From when I was on the team, the plan is roughly option 1. Basically, merge it with VSO as the back end. But to do this we have to add a ton of social features into VSO and infrastructure which is what the team are working on. Things like markdown support, web editing in VC, welcome pages, Pull Request support in VSO are all visible steps in this direction but there is more going on under the covers. But there is a LOT more to do (so much that I wouldn't want to predict when a backend switch to VSO will be possible) - CodePlex has lots of rich functionality that people love and there is no point moving the backend until you can support the things that people love about the current site (including one of the hardest things to engineer - simplicity)

    While the team focus on enhancing VSO to engineer the necessary social experiences, most work that happens around the current CodePlex site is to keep it running. You'd be surprised how much work it is just keeping up to date with security fixes and the never-ending cat and mouse game that happens with spammers and other attackers (turns out CodePlex has pretty good SEO which is a strength for CodePlex projects but one that makes it very attractive to spammers). You also get the day to day fun of running a popular site with freedom at it's heart (being hit by badly written crawlers etc, being DDOS'ed by someone trying to take out a project they don't like or just attacking the servers for giggles). Luckily we have an awesome team who know about scaling and running large websites.

    But despite the plan being to keep an open source presence from Microsoft, I strongly believe that the data of projects in CodePlex should be free (as in speech). It's not Microsoft's open source project after all, the data doesn't belong to them and OSS hosting providers have a duty to try and make the data in their care as free as possible with-in the license terms that the project selected. So CodePlex should make it as easy as possible to move your project if you wish. When I was on the team I spent some time examining what we could do with issues to make them more portable, I'd be interested what your thoughts are here. If you wanted to just move where you host new issues then you can contact the team they can switch your issue database off so that you can point people to a different location if you wanted. The key problem in moving the data is around privacy of the people leaving issues against your project or commenting on them. We wouldn't be able to associate those comments and issues with the persons GitHub ID (if they have one) without sharing the users email address with GitHub which is something we wouldn't do. But it would be much better to have that linked up. I was talking with GitHub just this week about some options (like maybe passing a strong one-way cryotographic hash of the email that they could keep and compare with hashed versions of emails they have) but privacy on contributors is the major problem to work out. Passing the data itself around is pretty easy. That said with Git and export/import of work items you can do an ok job today.

    If your project is stored in TFVC then the team will even help you convert it to Git (hosted on CodePlex) if you contact them. Once you are over to Git it makes it very easy to move hosters for your version control data if you wish as there are more alternatives available and history is portable.

    We made the decision to start using GitHub more for major Microsoft open source projects simply because that is where the majority of the community is and its healthy to demonstrate how serious we are as a company that the code really is open source. To many people in the world (esp outside the .NET community) OSS==GitHub and therefore that is where we needed to be to be taken seriously. We also needed to get more organised in our GitHub presence which is why we created the Microsoft org while I was on the CodePlex team and we have guidance around GitHub use in the company now.

    But it doesn't make sense to try and "win" with CodePlex at all costs. I see that attitude a lot that because GitHub is winning at open source somehow that is a loss for CodePlex and a bad thing. Openness and collaboration is not a zero sum game. GitHub is an awesome company doing great things for open source. They channel an extraordinary amount of their profits and resources into making the OSS world a better place. I am have been lucky enough to work with them for a few years. They are filled with people who live and breathe open source and they are very good at it. We need to ensure that Microsoft's investments in this space improve the OSS world which is why you also see us doing things like helping add GitHub to all versions of VS (including the free Community edition) and making it a peer of the Git hosting capabilities on VSO etc.

    I personally see Microsoft having open source hosting facilities for the foreseeable future. Choice isn't a bad thing. If you like CodePlex great, use it - but understand there are not going to be any major feature improvements while the focus is on making VSO capable of hosting open source projects. If you like GitHub or another OSS forge then use it. If you want to use accounts across several forges to get the best of all worlds then you are welcome to do that as well.

    The thing I care about is that you are able to open source your code and able to work easily with people around the world to make that code better.

    Sorry for the long answer - something I have a lot of history with ;). Hope it helps though.
  • Deep Dive into Git with Team Foundation Server

    Thanks @Philippe, glad you've had good experiences with git-tfs. As you say, I mention the git-tf stuff because I helped with that Java based version but the .NET version has come along way recently. For folks that want to give it a try I would recommend using Chocolatey to install (By typing "cinst gittfs" once you have Chocolatey installed from

  • Deep Dive into Git with Team Foundation Server

    SSH Support is on our backlog for Visual Studio but at the moment only HTTPS is supported. Can you let me know why you prefer SSH over HTTPS?

  • Deep Dive into Git with Team Foundation Server

    The plan is to support TFVC and Git first class in TFS so that we can support all 3 version control workflows (TFVC Server Workspaces, TFVC Local Workspaces and Git) giving folks choice. At the moment we have a bit of catching up to do with the parity of support for Git stuff and we have made some progress there. Version control is owned by a single team in Microsoft which helps ensure that thing keep parity but also that when new features are developed that they work across the board.  

  • Flexible Source Control with Team Foundation Service and Git

    @khaos13: I'll be sure to do some demo from Eclipse and the Mac as well then

  • Git Support Added to Visual Studio and TFS

    @bondsbw: I'm afraid we're not planning on doing any Hg integration.  However, there is an open source VS plug-in here on CodePlex

  • Git Support Added to Visual Studio and TFS

    @PaulS: Sorry if the following sounds a bit like "marketing speak" but the following is what I honestly believe...

    Centralized version control is not going anywhere. There are things that DVCS is good for and things that Centralized version control is good for. We want to offer choice so that you can manage your projects with the SCM workflow of your choice and still get all the benefits of the integrated, end to end ALM provided by TFS even if you have teams that are using both TFVC and Git.

  • Git Support Added to Visual Studio and TFS

    @deadlydog: At the moment you need to use Git-TF to move code between Git and TFVC repos.  We're looking to invest more in that area but that's going to be something that we need to see how people use Git and TFVC together a bit first to figure out what we need to build.  With DVCS being so different from centralised version control we're probably going to want to figure out a flow that makes people the most successful at doing this.