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

22 of 560 comments (clear)

  1. Re:license by LostCluster · · Score: 1, Informative

    Interesting though, it's incompatible simply because it requires that the software licensor GIVE more rights than the GPL does.

    The specific area of conflict is patent licenses... the GPL says nothing about them, the CPL grants them.

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

  3. 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!
  4. CPL is OSI approved! by gazoombo · · Score: 2, Informative

    Baffling!
    Microsoft has actually released open-source software.

    The CPL was developed by IBM and is OSI approved.

    OSI approved
    more info

    --
    John Hancock
  5. 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.

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

  7. Re:license by Minna+Kirai · · Score: 2, Informative
    The specific area of conflict is patent licenses... the GPL says nothing about them, the CPL grants them.

    -1: Lying about the GPL

    1. 7. If, as a consequence of a court judgment or allegation of
    2. patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.


    Put in other words, that means
    1. We wish to avoid the danger that redistributors of a free program will individually obtain
    2. patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.


    Now, as to the CPL "granting" patent licenses, what does that mean? The CPL says:
    1. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.

    2. The patent license shall not apply to any other combinations which include the Contribution.


    To me, that sounds like you've only got a patent license until you modify the code... and then your new "combination" is infringing again. (But I haven't read the rest of the CPL quite carefully enough to know if there's other wrinkles... such as a special definition of "combination", prehaps)

    But from that quick glance, the CPL is less "Free".
  8. 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.)

  9. NOPE by fpga_guy · · Score: 2, Informative
    they may have opened the source, but it is not anywhere near what you OSS developers like.

    they will almost certainly NOT accept source from other people; (although they may take suggestions, i'm sure).

    It doesn't work like this. To get a project hosted at sourceforge, you have to choose a license from a variety of FOSS models (GPL is one, there are many others).

    There is nothing stopping someone taking this code and forking it, if the (presumably Microsoft-based) project admins won't take their patches.

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

  11. 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));
  12. 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.

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

  14. 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.
  15. Re:Interesting Observation by Anonymous Coward · · Score: 1, Informative

    they may not denounce open source in general, but they sure don't like the GPL.

    bill gates has made comparisons of GPL software to viruses, cancer, and pac-man.

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

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

  18. Re:Interesting Observation by timecop · · Score: 2, Informative

    WTL "source" has always been "open", in a sense that WTL is a C++ template library with all the code in the header files, which were the source bits you would get if you download WTL71.exe directly from microsoft.com.

    The changes to WTL 7.5 hosted on sourceforge is inclusion of the source code for the WTL appwizard and some samples (which were available elsewhere before).

  19. Re:Has anyone used this with watcom c yet? by jonwil · · Score: 2, Informative

    Wrong.

    WTL wont work with Visual C++ Compiler Toolkit because WTL requires the Active Template Library which is (unless something has changed) only available with full versions of Visual C++.

    Therefore, the WTL is only useable with visual C++.

    Now if they open sourced the Active Template Library as well... :)

  20. 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.
  21. Re:Interesting Observation by ThaReetLad · · Score: 2, Informative

    it's pure win32. It's the same thing WTL has always been. A cool, lightweight version of MFC with no dependencies.

    --
    You can't win Darth. If you mod me down, I shall become more powerful than you could possibly imagine
  22. 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.