Slashdot Comment Responses #3 (Your Requests for Open Projects)

One of the questions I asked was “What projects or types of projects should Microsoft look to open up?”

I’ll add a HUGE disclaimer here saying that this is not my choice and I have very little say into what we do across the company. I’m collecting this feedback as a summary for those reading my blog and may have an interest in knowing what people said during this conversation. It’s interesting information, but don’t expect any of this to suddenly be more open tomorrow. You should imply no promises or commitments from this post.

[Insert any other disclaimer here that might help to ensure that News.Com does not run “Josh Ledgard says ‘Microsoft will Open Up the Longhorn Source” on the front page tomorrow’… doh, they tricked me.]

The list is also not a complete one. If you want that you can read through wealth of comments here or on Slashdot. I picked either the most interesting cases or items that had at least 2-3 “votes”.

I’d also like to say that there were several answers to this question that were very well thought out and constructively written from a customer and Microsoft value add perspective. I don’t share all of them here, but I’ve picked a few. There was a wide range of suggestions for sure, but I think my favorite suggestion is that we provide source code access to Microsoft Bob or other skeleton programs we have lurking around. I’m now imagining Bob redone in all sorts of Longhorn/Avalon 3d glory.

If there is a theme here that I find interesting it is that once you get past the Slashdot discussion of “All of office” the #1 request is for us to open up the code or specifications to things that would make it easier to interoperate in mixed system environments. This is in addition for us to provide more support for open standards in addition to our own proprietary versions of similar standards. IMO it wouldn’t seem like too much of a stretch for us to do this with a variety of components. We offer Windows Services for Unix precisely to make it easier for IT professionals and developers that need to integrate Windows with UNIX and Linux environments. We’ve classically used this as a business strategy to get into new markets by making the bridge easier for people to cross. Certainly the risk in building the bridge is that you can go the other way as well, but I believe that if you build the bridge then the best platform will win out and I’m very confident that we have the best platform even if you have to pay a bit to play.

I’ve heard Steveb explain on several occasions about the additive cost of Windows on a new consumer PC. Let’s pretend this is $50 dollars. (Forgive me if these figures aren’t right, but you’ll get the point.) Then assume the average user uses this PC for at least 5 years. This means that Windows should be providing consumers with at least $10 of value each year over competitors even if you assume the cost of Linux is $0.00 passed to the consumer.

I feel pretty good about our ability to provide this added value for consumers, office workers, developers, IT people, etc. And if our platform is behind for whatever reason… all the more motivation for teams to get a move on and step up the level of competition rather than being complacent.

Shell, API’s, or Protocols

There was a call here for not just source code access, but access to more exact specifications or documentation. This tells me that one of the reasons there are these requests is that we lack a really good documentation or sample story in a lot of cases and people feel the code would serve as the best educational resource that would help them write better applications for our platform. One interesting suggestion was at least to provide a Shared Source license to this type of code to more ISV partners that feel it would benefit them. Again, one of the specific requests it would seem is more targeted access to source code through the extension of our shared source initiatives to the people who really need it.

Another request here is for Microsoft to be more open with the Explorer.exe code. Personally I would just like to see us enable people to change their windows themes without having to download a rouge version of a DLL just to change the way windows looks.

The other need for protocol specs is of course to help build better bridges and allow more application interoperability. Ever try to embed Messenger into an application for example?

IE or components of IE

Jonathan: “It’s probably actually costing you money to maintain it (fix security holes etc). Several experts (including the US government CERT I believe) have said to stop using it. Release it under an OSI license and I am sure there are a fair few people out there who are willing to make (and let you guys use/ship) genuine improvements to IE to make it a better browser. Better PNG support. Better W3C HTML standards compliance. Better W3C CSS standards compliance. Better security when it comes to ActiveX and VBScript. And so on.”

Jonathan summed up what a lot of people said. I personally feel that this is a backlash against the fact that IE has, until very recently, been something noone sees Microsoft spending any time on. If we were to continue on the previous trend and not do much to support IE than I might agree with some of the reasons listed above. As it stands now that there is an IE Team being fairly open with the community I think they should be given a chance to see how much progress they make towards these goals. Being more open, transparent, trustworthy, and listening to customers does not always have to be about being open source.

File formats

· Any specs to Office file formats presumably to make working between Open Office and MS office easier. One suggestion was at least to support an export to Open Office OASIS standard from MS Office.

· Tablet PC Binary Ink format

o Julian: “Keep the reco algos closed, since I would think that's were most of the IP is... File formats are not the core of intellectual property and they should not be means of protecting a business!”

Outdated Applications

· Travis makes a great plug to get access to 3D Movie Maker.

o “…I run a site that stores 1344 movies made with this great little program. By letting you use premade actors,props, and backgrounds, they shifted the focus on the voices and story. It's basically a movie prototyping program.
But it still has flaws. It was made right as Direct3D was being released, so it missed the boat. (It's using a software renderer). Some very useful tools were left out (multi-select, texture/model importing, dynamic camera movement) either because they were aiming it at little kids, or because of limitations of the software renderer. With the source we could make a 3dmm2AVI converter and let others view some of the best 3dmm movies without having to buy/download the program. We've got several C++ programs and a dozen VB coders, we could do so much with this program…”

· Microsoft Bob or other skeletons in our library ;)

· 16-Bit Versions of Windows or windows accessories we no longer ship

Developer Platform Tools

I was mostly interested in this category since I work for the Developer Division and thankfully I felt some of the most compelling suggestions fell under this category. The biggest win I’ve seen for a long time would be the release of the many tools we use internally to support or development.

· Localization Tools: “ I suggest Microsoft open sources their localization tools. LocStudio, Helium, you name it. They are all better than the competition's and it would be so great if everybody could use them and not only Microsoft's employees and localization vendors. Also the likelihood of bugs in these tools being fixed would most likely be higher than it is now. ;)”

· Testing Tools: Mark said I'm interested on more automated testing tools.”Sure, we’ll be releasing the Team System stuff with Whidbey, but there are still several internal automation platforms, model testing tools, pair wise testing tools, and a ton of smaller, single purpose tools that support software testing. I don’t have a good reason why these aren’t all already freely available and more open for improvement. IMO it would be a great PR move for us to release any testing tool that helps us and the industry create more trustworthy software. Sure, one might think we would lose some of our “best practices” to competitors, but I want to be really serious about improving the quality of software across the industry and releasing these tools would be a good step in the right direction.

· Breaking the VSS Tie: This was a strange one. It seemed a lot of people didn’t know that we already have a way to add any source control mechanism into Visual Studio. Anyone could build a source control integration package that makes VS work with CVS, Sourceforge, Gotdotnet, etc and many of them exist today.

· Compact Framework: Chuck “This is a longshot, but the Compact Framework. The CF is woefully inadequate and doesn't play as well as everyone would like with the desktop version of the framework. You cannot reasonably develop a .NET CF application without using a plethora of other 3rd party libraries. 3rd party libraries are great, they help move the development market - except all the 3rd party libraries I use are open source already. The OpenNETCF project isn't moving as fast as it could; an open source CF sponsored by MS would be a godsend - of course it would have to be on SourceForge and not GDN.”

o Good idea, we should probably do more to get behind the opennetcf efforts and release more components through this model.

· “Wiki-Ize MSDN”: A couple of people mentioned this concept. There are also people internally that would like to see us move closer to this model. Today you can see community annotations to the Longhorn SDK documentation, but we should probably go further here. I can’t help but look at sites like www.pinvoke.net and wonder why we don’t have that type of mechanism in place for every framework class. We have a hard time documenting and providing samples for everything, so why not let everyone contribute to shared knowledge.

· Web Service Utilities: “Some of the web-service related utilities. For example, xsd.exe, wsdl.exe (& wsewsdl2.exe) and WebServiceStudio. This would allow developers to modify them to meet their specific needs and would also allow the tools to become more robust.”

· All or Pieces of Visual Studio: Jonathan I have wondered before if Microsoft could make some of the non-core parts of Visual Studio open source. For example, all the functionality of the Solution Explorer window could be implemented through the publicly documented automation interface so perhaps it would be possible to release it as a mini open source project. If there were mini-projects for things like the Solution Explorer and the Output Window and perhaps even the text editor users could fix parts of the program that annoys them and help make Visual Studio better.”

o Another good idea, but no promises.

· Developer Other

o Build Tools

o C/C++ Runtime

o .Net Framework and Microsoft Business Framework

o VS.Net Command Line and External Tools

Other

· NTFS

· Microsoft ACPI code

· Com/Dcom/ActiveX

· IIS 5.0 and 6.0 (older versions especially to assist with security support)

· Window CE 5.0

· Activesynch: Peter “Again, it's not core, it's got some real simple problems that would really benefit from OS work (like, how about using link-local addresses instead of 192.168.55 which happened to conflict with one of our internal networks and broke Activesync until we renumbered), and it would improve market share for the Pocket PC if it could be ported to other operating systems.”

· DirectX/D3D: “The way I see it, MS would still have their proprietary XNA technology. Therefore there's no harm in opening up D3D, which would really benefit and bring relief to many 3D software developers and game programmers.
While you're doing that it might be handy to open up DirectInput along side this. Almost everyone uses this as the defacto method of grabbing high resolution input and handling many devices.”

· Unsupported Device Firmware

I’ll repeat my disclaimer here…

I’ll add a HUGE disclaimer here saying that this is not my choice and I have very little say into what we do across the company. I’m collecting this feedback as a summary for those reading my blog and may have an interest in knowing what people said during this conversation. It’s interesting information, but don’t expect any of this to suddenly be more open tomorrow. You should imply no promises or commitments from this post.