微软Visual C++ Libraries Team的Pranish Kumar在12日提议将WTL(Windows Template Library)变成shared source。这在WTL社区正在引起争论。Pranish Kumar的两个贴子如下:
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
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.
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.