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)?"
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".
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.
Buy a Nintendo DS Lite
Usually, there are terms and conditions attached to the redistribution of code that came with the development environment, and that almost certainly includes code generated by wizards and so on.
For example, the MSVC license tells you exactly which DLLs you can redistribute, and example code usually has a statement at the top. Wizard-generated code surely won't be any different.
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.
For example consider this from the GPL FAQ:
Can I use GPL-covered editors such as GNU Emacs to develop non-free programs? Can I use PL-covered tools such as GCC to compile them?
Yes, because the copyright on the editors and tools does not cover the code you write. Using them does not place any restrictions, legally, on the license you use for your code.
Some programs copy parts of themselves into the output for technical reasons--for example, Bison copies a standard parser program into its output file. In such cases, the copied text in the output is covered by the same license that covers it in the source code. Meanwhile, the part of the output which is derived from the program's input inherits the copyright status of the input.
As it happens, Bison can also be used to develop non-free programs. This is because we decided to explicitly permit the use of the Bison standard parser program in Bison output files without restriction. We made the decision because there were other tools comparable to Bison which already permitted use for non-free programs.
This makes it pretty unclear. A Wizard is certainly "copy[ing] parts of themselves into the output for technical reasons". It sounds like Bison has an explicit exception for this case, but that's just pragmatism because other comparable tools existed.
- adam
Generally the only DLLs you'd use with Visual Studio that you can't redistribute legally are the debug versions of all the libraries, and Microsoft prohibits distribution of those mainly to stop developers from shooting their own feet off.