Slashdot Mirror


Is Wizard-Code a Derived Work?

worldcitizen asks: "Now, with all the noise from the SCO case regarding copyrights, what constitutes a derivative work and who owns what, a question started creeping up: What would happen if Microsoft starts claiming copyright infringement or other Intellectual Property claims in the wizard-inserted code that Visual C++ generates? Would it be possible that even the simplest 'Hello, world' is tainted? Copyrights don't even require uniform enforcement. Could they selectively enforce it on Free Software projects for Windows that have used VC++ for development? Could they license it in such a way that makes it illegal to use Visual C++ for Free Software? Should this be a wake-up call to never use Visual C++ unless you have a cross-licensing agreement with Microsoft (obviously not for Free Software projects)?"

5 of 75 comments (clear)

  1. Code Wizards suck anyway. by Dr.+Bent · · Score: 5, Insightful

    Code wizards are way more trouble than they're worth anyway. Especially with GUI designers, the code they generate is totally un-maintainable. I've had GUI designers barf on me just because I reformmated the comments in my code, and once that happens, you might as well throw all your GUI code out and start over.

    Sure, writing it from scratch takes longer. But it takes a whole lot less time than re-writing the entire user interface when your boss says "move that button over there".

    1. Re:Code Wizards suck anyway. by ConceptJunkie · · Score: 4, Insightful

      Actually writing from scratch is _faster_, once you know what you're doing. Microsoft's code generators are completely useless and I've never met anyone with any real experience that uses them. At best, they could be used as a tutorial, but even still, I doubt you could learn much and code it produces is unreadably ugly. I mean REALLY UGLY. No consistent indentation. Tons of garbage comments that it needs because writing something that can grok MFC is obviously too much trouble for them.

      Of course, MFC becomes a lead weight the moment you try to do anything outside of Microsoft's extremely narrow idea of writing Windows code, unless you spent a great deal of time filling out all the stuff Microsoft has been too lazy to do in a product that's only been around for almost 10 years.

      Fortunately I have spent a great deal of time doing so, so I can function effectively and prolifically with MFC _and_ the code I've added on to it over the years.

      Here's what I did. I ran the code generator once for an SDI app and once for a DLL app. Then I cleaned up the code, removed the goat-spew comments, formatted the code (how ironic that machine-generated code is not formatted) and removed all the dead-weight functionality. I can now take these stripped down plain-vanilla apps and go to town, with my own classes, which add a lot of java-inspired ideas to MFC and hide some of the nonsense that MS is too lazy or stupid to encapsulate. At the end of the day, it's a good environment to work in and I do like using Visual Studio (version 6, 7 has some nice features but it is bloated and builds about 3 times slower with the same code on the same machine). Of course, improvements I have made have essentially been by replacing aspects of MFC... collection classes, string class, database support, ActiveX support, TCP/IP support, etc. Some day, I hope to replace GUI support and break away from MFC altogther, at which point I will be able to write apps with about a third of the code needed to use MFC.

      Anyhow, I didn't mean to ramble so long, but my point is that anyone who has any real experience isn't going to be using code generators anyway, and if he or she was, it would be easy enough to avoid it for project whose IP might be imperiled.

      Of course, there's nothing to stop Microsoft from sticking their new MNU MPL license (MNU == "Microsoft's, Not Yours", MPL == "Monopolist's Private License") in a service pack and 0wNzOring half the software industry overnight.

      --
      You are in a maze of twisty little passages, all alike.
  2. subject by inerte · · Score: 5, Insightful

    What would happen if Microsoft starts claiming copyright infringement or other Intellectual Property claims in the wizard-inserted code that Visual C++ generates?

    Nothing yet, since they currently don't do this kind of limiting with the wizard-code.

    Would it be possible that even the simplest 'Hello, world' is tainted?

    Yes, if they prove that your Hello World came from a Wizard instead of other method. (highly unlikely)

    Copyrights don't even require uniform enforcement. Could they selectively enforce it on Free Software projects for Windows that have used VC++ for development?

    If they make a license which says "Forbidden to use with Free Software", and someone uses it, then yes.

    Could they license it in such a way that makes it illegal to use Visual C++ for Free Software?

    Yes.

    Should this be a wake-up call to never use Visual C++ unless you have a cross-licensing agreement with Microsoft (obviously not for Free Software projects)?

    No. They won't do this.

  3. April Fools? by Elwood+P+Dowd · · Score: 4, Insightful

    This reminds me of the April Fools Day ask Slashdot question:

    "Isn't it possible that Microsoft is using GPL code in Windows, and we could NEVER KNOW ABOUT IT?! Since we'd never know, they're probably doing it already. Has anyone notified the FSF? What are we going to do about this!?"

    The obvious place to look for answers to this sort of question is in the VS license. If you don't like the terms of that license, use Emacs, dude.

    Hehe. "I wrote my novel using MS Word. Now that I'm selling it, couldn't MS come after me for copyright infringement, since I used their pagination tools?"

    --

    There are no trails. There are no trees out here.
  4. lex and yacc? by Sloppy · · Score: 2, Insightful
    People have probably been thinking about that since they started using tools like LEX and YACC to build compilers. (Probably even be older that that, I dunno.)

    In the few situations I've seen, the inputs to the tools are thought of as being the "real" source code, and the C output is conceptually treated as object code, as weird as that might seem.

    So, just copyright your stream of mouseclicks into the Microsoft IDE. They're your clicks; you invented them. And if someone else clicks on the pixel 51 down and 325 to the right of the upper left corner of their IDE's window, sue their ass off!

    --
    As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.