As the product manager for gotdotnet.com, a big part of my job is to listen to Windows and .NET developers and other IT professionals. Microsoft is actively investing in gotdotnet and I have the good fortune to be its eyes and ears. One of the things that I've been hearing is that you don't feel that you have sufficient contact with your customers and other stakeholders during the development process. I feel your pain. As a former member of the Visual Studio development team, I yearned for the chance to tell customers about all the cool things I was working on in realtime and to solicit their feedback directly. I coveted the ability of some of my peers outside the firewall, particularly open source software (OSS) developers to engage in intimate and ongoing conversations with customers and partners who shared my objectives and passion. And then I broke out of the echo chamber and started this weblog. It was a small thing but it rocked my world.

I guess we're all stuck in an echo chamber of our own making. Certainly, OSS developers have their own echo chambers to contend with. And to that point, gotdotnet is living proof that Microsoft is not antithetical to OSS or customer-collaborative development and is furthermore committed to helping you break out of your own echo chamber. If you happen to think that Microsoft eschews OSS, you're not alone. Self-indulgent OSS extremists of the kind that you'll find at Slashdot seem to have convinced the entire world that this is true. Whereas you won't find many Microsoft developers who are active in open source projects (and for darned good reasons!), that doesn't mean Microsoft cares, one way or another, how the software applications that run on our platforms are built. In fact, the primary purpose of gotdotnet Workspaces is to enable Windows and .NET developers to participate in open and shared source projects.

OSS is a pretty revolutionary idea that has currency and potential in a post-modern, post-materialistic world but there are plenty of alternative software development models that enable you to nurture a close customer connection without sacrificing your paycheck at the GPL alter. There are a number of projects on Gotdotnet like the RJS.PopCalendar that are developed offline, uploaded as a user sample over and over again, users comment on its functionality, and the developer who owns it incorporates their feedback into future releases. It's feedback-driven development. Users don't necessarily see the code (although you can with RJS.PopCalendar) but even if it's not, the outcome can be and is often the same: great software! Half-opened applications are enlived by the same ongoing conversation between developer and user as pure OSS applications.  It is a beautiful thing and I constantly lament the fact that we have no universal label by which to describe this development model.

Customer-collaborative development needs a catchy name. Ideas?

My proposal: Open Choice Software
Usage in context: Open choice software is open but only to the extent its owner chooses.
Acronym: OCS... only overload I can think of is Officer Candidate School. Hm, sufficiently distant. 'OCS is a proving ground for developers'. That works... What do you think?