Microsoft takes on GitHub with cloudy Team Foundation Service
Not just for Windows developers, either
Build 2012 Microsoft has announced general availability of Team Foundation Service (TFS), its new, cloud-based portal for code hosting and software development project management, along with a free subscription plan for small teams.
In some ways, TFS competes with other web-based code sharing portals, such as GitHub and Google Code, but Microsoft's service expands on the capabilities of those sites by including collaboration tools for agile process management and a build-automation service that supports continuous integration and deployment.
Much like how Redmond built Office 365 by offering hosted versions of SharePoint, Exchange, and its other productivity server tools, TFS is essentially a version of Microsoft's Team Foundation Server application lifecycle management product that's hosted on the Windows Azure cloud platform.
As such, TFS will primarily be of interest to Windows developers – and in particular, those who have used Team Foundation Server before – but the tools aren't limited to Microsoft platforms or programming languages.
The core file-hosting and version-control features support code written in any language – or indeed any kind of files. Developers on non-Microsoft platforms can access projects using the Team Explorer Everywhere package, which includes a plug-in for the Eclipse IDE, in addition to cross-platform command line tools for Linux, OS X, and a variety of Unix platforms.
That said, to get the best experience out of TFS, developers will want to use Microsoft Visual Studio as their IDE, and indeed some advanced features require Visual Studio 2012 Premium or above to work.
Among the more novel features of TFS are its Agile Project Management tools, which include templates to support Agile, Scrum, and Capability Maturity Model Integration (CMMI) processes. Project maintainers can track features, issues, bugs, and team progress using dashboards based on Microsoft's now-familiar Windows 8 UI style.
Perhaps the most powerful feature of TFS as compared to competing code management services, however, is its cloud-based build service, which can take uploaded source code and automatically generate executables, ready for users or testers to download from Microsoft's servers.
Project maintainers can decide how often they want to generate new builds: either on demand, nightly, or continuously after each new code check-in.
But although Microsoft says other aspects of TFS are "production ready," the build-service component is still considered a preview and it does have some limitations. In particular, for now it can only build Windows desktop apps, Java projects, and web apps.* Microsoft has yet to announce any plans to broaden it to more languages and platforms.
Longtime Team Foundation Server users may notice other features missing from the hosted TFS, too. As Microsoft Technical Fellow Brian Harry explained in a blog post, the reporting features are "extremely limited," and TFS does not yet integrate with Active Directory or other Microsoft enterprise server products, among other omissions.
"Over time, all of these gaps will be addressed and Team Foundation Service will enable virtually everything you can do with our on-premises product," Harry wrote. "Until then, you will want to think carefully about your requirements before you choose between the cloud and on-prem solutions."
If that makes it sound like TFS might still be a little half-baked, it's true to an extent – but at least nobody has to pay for it. By making TFS generally available now, Microsoft is saying that it's ready for daily use and can be used to host and build any kind of projects, including commercial ones. Still, because it's not yet feature-complete, Redmond is holding off on pricing the service until 2013.
As of Wednesday, anyone can sign up for TFS and use all of its features for free, with an unlimited number of users per project and unlimited cloud storage on Microsoft's servers.
When the for-pay service launches next year, free subscriptions will be limited to groups of five users or fewer, and although fee accounts will still be allowed to host an unlimited number of projects, access to the build service will be limited to a small, as-yet-unspecified number of compute hours.
Organizations that need to support more users and more-frequent builds will be able to upgrade to premium service tiers for a fee, though details and pricing of those packages has yet to be announced. In addition, Microsoft Developer Network (MSDN) subscribers at the Premium, Ultimate, and Test Professional levels will have premium TFS subscriptions included with their MSDN packages.
In the meantime, anyone who signs up now should be in for an interesting ride. According to Microsoft's Soma Somasegar, work on TFS is proceeding at a rapid rate, and users can expect new features and capabilities to be added roughly every three weeks. ®
* Since this story was first filed, Microsoft got in touch to let us know that as of October 29, in addition to building apps for Windows desktop, Java, and the web, the TFS build service can also now be used with projects for Windows Phone 7 and 8.