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."

10 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. 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.

  6. 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));
  7. 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.

  8. 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.
  9. 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.

  10. 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."