Slashdot Mirror


Microsoft Releases WTL To SourceForge

prostoalex writes "Microsoft's WTL (Windows Template Library) toolkit source code has been released to SourceForge.net [also part of OSDN, like Slashdot.] InternetNews explains that the toolkit allows a Windows developer to create quick GUIs in C++. According to the project page, WTL extends ATL (Active Template Library) and provides a set of classes for controls, dialogs, frame windows, GDI objects, and more. WTL is licensed under CPL, which is the license Microsoft chose for the SourceForge release of the WiX installer."

14 of 560 comments (clear)

  1. It's about damned time. by leshert · · Score: 4, Informative

    WTL has been a bit of an embarrassment for Microsoft.

    It started life as an MSDN sample app, but (to the surprise of everyone), people started actually using it. It fits nicely between the niches of MFC and ATL, supports a nice big chunk of what you need to do to get a desktop app running, and does it in a very clean, STL-friendly way. I read in an interview that some folks at MS thought it was a major mistake to release it; fortunately for them (at the time) it was pretty obscure.

    There's some history of WTL at WikiWiki.

    I remember way back then there were a couple of calls for Microsoft to "give it away" (in terms of control, not price--it's always been gratis), but I suppose the time hasn't been politically right within Microsoft until the recent popularity of their installer program release.

  2. Re:license by sfraggle · · Score: 4, Informative

    The ironic thing is that the CPL is almost identical to the GPL in its features (the CPL has some patent clauses which the FSF are thinking of incorporating into the next version of the GPL), including copyleft which Microsoft has been so vocal in opposing in the past.

    --
    were you expecting to see a sig here? perhaps you'd rather see the inside of an ambulance!
  3. This is great news by timecop · · Score: 5, Informative

    WTL, which is basically a one-person project at microsoft, doesn't really get enough attention of developers.
    It's a great lightweight wrapper around Win32 API, does not depend on any external DLLs (like MFC etc).
    The only problem with WTL, up to including this release, is that there is absolutely no documentation - there
    are a few projects documenting WTL3.0 or older exist, but they are not maintained anymore. Hopefully once this
    project is on sourceforge, people will be fixing bugs *and* writing documentation. I'm very looking forward
    to this.

  4. WTL Rocks by wandazulu · · Score: 5, Informative

    The WTL proves that there are some *very* good people at MS: They basically took MFC and redesigned it around templates and the STL; no MFC runtime dlls and even VC6 produces tiny exes that run wickedly fast. They even wrote a VC6/7 addin so you can use the project wizard to create a boilerplate project as a starting point. And to top it off, the two developers were (are?) very active on the ATL mailing list and responded to questions/complaints/bug reports. Way to go guys!

    That all said, Microsoft did practically everything they could to squash this project; it was originally installed as an "oh, by the way" in their SDK package (and not enabled by default...you had to go hunting for it) and then they removed it entirely. Official communcations always seemed to revolve around the message that "We acknowledge that it exists, we would prefer you not use it, and no we're not going to tell you why." I guess they had some fear that everyone was going to dump the millions of lines of existing MFC code for much better written code that ... has the same interface. Go figure.

    Trust me from one who has used this library in apps that reached production: this is a true gem amist all the cubic zirconia that MS puts out.

  5. Common Public License: OSI, not GPL compatiable by civilizedINTENSITY · · Score: 3, Informative

    OSI CPL
    GPL compatiable
    Common Public License Version 1.0
    This is a free software license but it is incompatible with the GPL.

    The Common Public License is incompatible with the GPL because it has various specific requirements that are not in the GPL.

    For example, it requires certain patent licenses be given that the GPL does not require. (We don't think those patent license requirements are inherently a bad idea, but nonetheless they are incompatible with the GNU GPL.)

  6. Re:WTL for stand-alone executables by DrXym · · Score: 5, Informative
    The learning curve for MFC is high too. If it weren't for the wizards, you would have to write the swathes of code just to do something simple. WTL is no worse, and the consensus from anyone who has used MFC in anger is what a baroque piece of junk it really is. It's like a dogshit covered icing and marzipan - superficially tempting but take a deep bite and see how much you like it.

    Really. MFC works okay if you want stay on the path, but get off the beaten track a bit - say to implement something in OLE like an OLE message filter - and it becomes a nightmare. Half the methods are not virtual compelling you to cut and paste whole classes to change a few lines. I've literally copied huge chunks of MFC to change a function that I could not override.

    And MS in their wisdom have tried to merge MFC & ATL into atlmfc with duplicate classes galore. Now they're trashing ATL by deprecating some of the tried and trusted conventions such as object maps in favour of meta info that ties ATL tightly to VC++7.x. Still, ATL is fast and produces very tight code compared to MFC.

    WTL works much like ATL, and neither is particularly hard to learn assuming you've seen any STL, MFC, wxWindows etc. in your life.

    Interestingly, no one has pointed out that WTL depends on ATL. The CPL'd WTL depends on the proprietary ATL. So its use is rather limited. It would be great to see MS open up MFC, ATL and WTL since it would make porting apps to Wine a lot easier. Perhaps that's why it is unlikely to ever happen.

  7. Re:license by lkaos · · Score: 4, Informative
    But from that quick glance, the CPL is less "Free".

    Woah. Hold your horses there pal. Quotith gnu.org:
    This is a free software license but it is incompatible with the GPL.

    The Common Public License is incompatible with the GPL because it has various specific requirements that are not in the GPL.

    For example, it requires certain patent licenses be given that the GPL does not require. (We don't think those patent license requirements are inherently a bad idea, but nonetheless they are incompatible with the GNU GPL.)


    So the FSF simply states that the CPL has extra clauses that aren't necessarily bad. The FSF is *not* shy about saying something is bad when they think it is. Fact is there are a lot of non-GPL compatible licenses out there. This is not like saying the CPL is OSI approved, but not FSF approved.

    I know some of the people that worked on developing the IPL (the predecessor to the CPL). They worked very hard to make a license that would be acceptable to the community. The GPL is vague on patents. Unfortunately in the corporate world, you need to be more specific.

    I applaud Microsoft for using the CPL. Keep in mind, the LGPL cannot be used with C++ code without a special clause (see libstdc++ in GCC for more info on this).
    --
    int func(int a);
    func((b += 3, b));
  8. Re:Interesting Observation by leshert · · Score: 4, Informative

    Yes, it does. Unlike Sun, Microsoft chose an existing OSDN-approved license.

    It's the same license, for example, that Eclipse uses.

  9. Re:Interesting Observation by zurab · · Score: 3, Informative

    Why can't you read yourself?

    Some relevant parts:

    When the Program is made available in source code form:

    a) it must be made available under this Agreement; and
    b) a copy of this Agreement must be included with each copy of the Program.

    Contributors may not remove or alter any copyright notices contained within the Program.

    Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.


    The license expressly grants any patent licenses as well. It also allows for closed source binary-only distribution.

  10. Re:Interesting Observation by Frizzle+Fry · · Score: 4, Informative
    The "OSS is an insecure virus" campaign

    Did they really claim this? I'm too lazy to dig up old articles, but I thought the objection was to the GPL in particular. And for projects like this, they are specifically avoiding the GPL, which is consistent with their earlier claims.
    --
    I'd rather be lucky than good.
  11. Unwanted Child by ChaoticCoyote · · Score: 4, Informative

    I've written a few WTL programs, and am rather fond of this lightweight wrapper over ATL. WTL allowed me to create small, tight programs without the overhead (and poor design) of MFC (which was created before templates were added to Visual C++).

    WTL has always been something of a dirty little secret: it wasn't installed by default by Visual Studio, and the README files suggested that it was an internal project unsupported by management. Yet those of us who disliked MFC found WTL to be quite useful, despite Microsoft's "official" attitude.

    As for Microsoft releasing this as Open Source -- MS management never valued WTL in the first place, so "giving it away" is merely a public relations move.

  12. Microsoft denounced Open Source by Nailer · · Score: 4, Informative

    Microsoft denounces Linux, which is a competing operating system. They don't necessarily denounce open source software in general (at least, not that I've heard of.) That would be sort of foolish...I mean, you have to denounce a rival's products, that's obvious. But to denounce the way he makes them when other world class software vendors are considering them would be shooting yourself in the foot.

    From http://news.com.com/2100-1001-270684.html?legacy=c net

    Earlier in the year, that feature led Microsoft Chief Executive Steve Ballmer to call open-source software a "cancer" and Windows leader Jim Allchin to call it "an intellectual-property destroyer."

  13. Re:Interesting Observation by pluvia · · Score: 3, Informative
    1) Of course, RedHat isn't a good counter-example, but Debian, et al. might be. btw: do you think Win98 still has bugs? Hopefully they patched them all.

    2) Hmmm... now I'm confused. Did you miss the slashback? Or did I miss the slashbackback that took it back? Perhaps we shan't know till they actually release it.
    MS Clarifies: No SP2 For Pirated XP Copies PingXao writes "Unlike earlier reports, this eWeek story says MS will not be allowing pirated versions of Windows XP to install SP2. They plan to release the update within a couple of months as everybody knows, but what's interesting is this quote from a MS spokesperson that supposedly explains their reasons for this approach: "... using genuine software is an important part of keeping systems secure and running smoothly because it means continued access to the latest security enhancements and product updates." Not that I blame them for not providing assistance to people who violate their copyrights, but I wonder if they actually paid someone to come up with that insightful explanation. Something like "We don't provide updates to pirates" would have done the trick. Why cloud the issue with talk about secure this and security that when the basis for the policy has absolutely nothing to do with security?"
    As for the topic at hand, WTL was essentially free for windows development anyway and I'd be amazed if it is used for anything else. Also, I suspect MS feels it is or will soon be an ancient relic from the times before .NET development. All in all, I think it was a good move, both for them and for the windows development community. Sometimes everybody wins.
  14. Not that it matters by fish_in_the_c · · Score: 3, Informative

    WTL code has been avialible out on web sights and in Windows documentation for at least 3 years now ( I know because I used it in one of my apps) and the liscense for it was pretty much open source ( ie freely distributable / downloadedable ) all that time. Actually they tried to squash the thing for a while. It has been mostly user supported all that time because it is code that "accidentally" escaped from thier labs. Also, WTL is a alternative to using MFC's which is the technology they were pushing at the time. I think what they are doing is tring to get some free publicity in the OSS world by publishing something as OSS that already was. Either that or someone in microsoft who likes WTL wants to see it kept alive and sees this as the best way.

    --
    âoeTolerance applies only to persons, but never to truth. Intolerance applies only to truth, but never to persons.