微软Visual C++ Libraries Team的Pranish Kumar在12日提议将WTL(Windows Template Library)变成shared source。这在WTL社区正在引起争论。Pranish Kumar的两个贴子如下:
1,------------------------2003年4月12日 8:16
Hi,
My name is Pranish Kumar and I work on the Visual C++ Libraries Team. I wanted to make a posting that would hopefully answer many of the questions people have asked about WTL. We appreciate feedback on the message, particularly in what you would like to see happen with WTL, for example how many of you would be interested in supporting it as an open source project?
WTL has had an unusual time in Microsoft. It was shipped as an unsupported sample in the Platform SDK, a state in which it has remained. Over the years a user-base has built up around WTL, with support being provided through non-standard channels.
Many WTL users ask us why we don't support WTL as an official Microsoft product. There are a number of issues with this, but one of the major ones is the work required to make WTL an official, supported product. WTL requires documentation to be written from scratch, the creation of a complete test suite and testing harness, and the addition of knowledgeable support personnel to the Microsoft official support channels. There would also likely be significant changes to the library itself as we moved it forward to the latest version of ATL and the compiler.
The cost of doing this work is several-fold, firstly it would likely take up all the ATLMFC team resources for a full release to complete this upgrade. The only visible differences for WTL users would be Microsoft support and documentation as well as some bug fixes, for existing ATLMFC users there would be no new features.
Because almost every WTL user we talk to today is extremely happy with the library, and because of the importance of continuing to develop ATLMFC, we do not think that productizing WTL is the best use of our resources. WTL has solved problems for a portion of VC++ customers through its current release mechanism, this makes it difficult to justify spending the significant effort required to make it a supported product. Also the WTL community would need to realize the disadvantages as well as the advantages of having a productized WTL, some issues that come to mind include frequency of releases, bug fixing process and working through official support channels.
Having said this, the ATLMFC team is always looking to support our customers in the best way possible, if it turns out that there is an increased need amongst existing ATLMFC customers for WTL, or that there is a way to productize WTL without incurring the large overhead, then we would definitely reconsider our position.
Related to this the team is investigating various ways that we can improve the experience for WTL users without incurring the prohibitive overhead. Some of the possibilities we are investigating include modifying the licensing for WTL so that the WTL community could support itself with a shared-source project.
The ATLMFC and smart devices teams are also working closely together to provide a better solution for our customers. In the next release of Visual Studio, native c++ development for smart devices will be integrated into the Visual Studio shell. The devices team is also investigating what role WTL will play in the eVC space.
Hopefully this answers most of your questions and concerns, expect to hear more from the Visual C++ team on where we are going with the language and libraries in the not too distant future.
Thanks,
Pranish Kumarpranishk@microsoft.com
2,------------------------Date: Tue, 15 Apr 2003 01:40:58 -0000
Sorry for the bad subject, also sorry for condensing everyone's questions into one response, but it makes it easier. I originally started including each person's questions, but it didn't make much sense because many of them were similar.
Thanks for all the feedback, this has been very useful.
(1) How does shared source differ from open source?I called it shared source, because that is the usual name Microsoft gives these projects, if we go down this path then we would have two main goals, one that people could contribute, two that it could continue to be used in commercial development.
(2) What will Nenad's role be?If we do go down a shared source path, then their will be a role for Nenad, the range and scope of that role will depend on what we are trying to achieve and how that fits in with Nenad. In terms of setting everything up, we have been working closely with Nenad, and we will continue to do so. I think we would lean more towards having a small committee (possible including external people) managing the project as opposed to 1 central person, but that is based off intial discussion (we haven't finalized what we will do yet).And yes we all know what a great job that Nenad has done supporting WTL over the years!
(3) Details about bugs, issue lists, documentation etc...We would work to provide the community with the information they need to be succesful with WTL. This may involve some or all of the above (it's too early to say).
(4) Why don't you guys just incorporate it into ATLMFC?There are many reasons why this just doesn't seem feasible to us at the moment, maybe those reasons will change with time. Unfortunately even though WTL "ships" and is used in large applications, there is still work involved in productizing it, and this work is not always as easy as it seems it should be. Take for example what platforms a technology supports and what languages? Yes there are ways around these issues, but each of these issues adds up.
(5) Will there be a website / project portal?If we did make WTL shared source, then we would definately work to put the correct infrastructure in place, this would include some way for people to enter bugs, submit code, get status of bugs, get developer drops and get "release" drops. If we do something like this we would try and do it properly, which is why we are still discussing what the right thing to do is.
(7) Will we really support it, isn't Microsoft all .NET now?There is a very long answer I could make to this question, but let's keep it short. Yes .NET is an important technology, we see it as having many advantages for developers, and as being a very important part of our platform going forward. But, the C++ team has never encouraged or required people to migrate or port existing code to .NET we have always seen it as another set of functionality that the C++ developer has access to.
You can see this from the mixed managed / native development that we allowed in 7.0, you can see our support for .NET with features like Winforms designer support in 7.1. You can also see our commitment to unmanaged code in the countless ways such as conformance, or the /GS switch. And we are going to continue to make investments in ATLMFC.
Are we spending resources on .NET -> Yes. Are we abandoning everyone else -> No.
(8) Mailing list for WTL?As those of you who were on the ATL list know, it was my responsibility to find a new solution for that list, which turned into the developmentor sponsored list. We continue to work on improving our community involvement, and making the best use of our time, currently mailing lists are not a part of this strategy, but this may change.
(9) Time-line for a decision?I wish that I could produce a hard time-line, but I can't. Having said that finding a viable long-term solution is one of our top priorities. I hope that we can answer this question concretely in the next 2 months.
Until we do, WTL will continue as it currently has.