Is Wizard-Code a Derived Work? 75
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)?"
Re:Well (Score:2)
Re:Well (Score:1)
-Khye
Preach it brother. (nt) (Score:1)
And Khy, please stop advertising for me. I build my own hype machines you know =D
Lata,
~Daedalus
Dude, don't give them ammo! (Score:1)
Re:Dude, don't give them ammo! (Score:2)
Re:GPL standard C libraries (Score:2)
Umm... yes. The vast majority of libraries on Linux are LGPL for exactly that reason. Readline isn't, so closed-source (or even open-source non-GPL-compatible) software can't use it.
If you say so, but the GPL seems to be very clear about it, to the point that a decision by the court is a foregone conclusion:
Re:GPL standard C libraries (Score:1)
Re:GPL standard C libraries (Score:2)
If by "explicit exceptions in the comments" you mean using the LGPL [gnu.org] instead of the GPL [gnu.org], then yes, most GNU C libraries (including glibc) do have them. I pointed out one particular GNU C library (Readline) which doesn't.
Re:GPL standard C libraries (Score:1)
Then on the end users machine they decide to replace that shared object with one that has the same function sigs, but are GPLed versions. When executing the comercial app, does the application now become GPLed because it is using a GPL function even with out the knowled
Re:GPL standard C libraries (Score:2)
No, you don't own the copyright to the closed-source program, so you don't have the right to do that. By linking it with a GPL library you're probably violating the license of the closed-source program, and you're definitely violating the GPL. If this weren't true then I could write a replacement for some Windows library with the license "you're free to use this software for whatever you want, provided that all profits from any program with which it's linked belong to me", get someone to use it, then sue
Re:GPL standard C libraries (Score:1)
Damn... you're right. You'd still probably be violating the closed-source software's license, though.
Code Wizards suck anyway. (Score:5, Insightful)
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".
Re:Code Wizards suck anyway. (Score:1)
Applying your idea to the MSVC world, it would be like Visual C++ generating a generic application into which you could only plug-in message handling callback functions, subject to some generic application API.
Oh wait, that's Windows. Ah, now I recognize you, Bill.
Re:Code Wizards suck anyway. (Score:5, Informative)
You've obviously never used Borland Delphi or C++Builder. Those products are an excellent example of a GUI builder / RAD done correctly. They don't screw up if you change the code and don't make the code unmaintainable. I can't imagine a more productive environment for GUI development.
Re:Code Wizards suck anyway. (Score:2)
And it sucked.
Sure. If you never muck with the generated code, they work great. The problem is that you have to change the code in order to get some stuff to work, because the GUI designers are always one version behind the programming libraries. That's why those GUI designers generate code and not a resource file or a complied class. They know that you're going to hav
Re:Code Wizards suck anyway. (Score:2)
You are correct, sir! (Score:2)
I find it interesting that Anders Hejlsberg reverted to wizard-generated code for Visual Studio .NET. I think it is more restrictive than the .DFM model, because with the .DFM model all the object properties are data in the .DFM file, and you (if you know what you are doing!) can override object methods in terms of how stuff is written and read from the .DFM file. If you want to do comparable fancy stuff with .NET
Re:Code Wizards suck anyway. (Score:5, Insightful)
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.
Re:Code Wizards suck anyway. (Score:4, Funny)
ActiveX control (Score:2)
Re:ActiveX control (Score:2)
Of course talk is cheap.
subject (Score:5, Insightful)
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.
Re:subject (Score:4, Interesting)
While a) you're most likely right and b) this is the sort of lazy question that gives Ask Slashdot a bad name (Hello! Read the license!):
The fact is that Microsoft did [slashdot.org] prohibit the use of the Mobile Internet Tools SDK for making GPL-licensed apps.
Re:subject (Score:1)
Re:subject (Score:2)
Re:subject (Score:2)
Re:subject (Score:2)
Banning more than one license (Score:1)
Yes, GPL. But not every Free Software license.
So what if "GNU General Public License and a couple others" of one version's EULA becomes "any license requiring publication of full or partial source code of derivative works" of the next, or worse yet "any license approved by the Open Source Initiative"?
Re:subject (Score:3, Interesting)
By my reckoning pretty much all GPL windows development is dodgy unless you use stuff like cygwin - because MS don't always ship C-runtime with windows OSes (even when they do it is typically several versions behind) and they only give you binary redistribution licence. That means you have a required library that you can't ship under gpl, or ship it's source, or
Re:subject (Score:1)
This usage is explicitly addressed in the GPL FAQ: http://www.gnu.org/licenses/gpl-faq.html#CanIUseGP LToolsForNF [gnu.org]
Re:subject (Score:2)
this one [gnu.org]
Read the licensing terms (Score:3, Informative)
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.
Read the license. (Score:3, Informative)
In fact you should read the license before you pay for the software and certainly before you commit to using it.
Re:Read the license. (Score:1)
Exemption or not: who wrote the code? Is it even a creative expression at all?
no it doesn't (Score:1, Informative)
Re:Read the license. (Score:1)
And if it is indeed a derived work, there's no way the IDE publisher can claim copyright over it; it is your code, since it was made by the IDE using your creative direction.
April Fools? (Score:5, Insightful)
"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?"
Re:April Fools? (Score:3, Interesting)
This is slighty a different matter: copyright law does not cover what you do with other's tools, while it does surely cover the pieces of other's code that you put in your software when using VS wizards. In the first case you would have the right to do whatever you want with your work, unless forbidden by some contract or license; in the second case y
Re:April Fools? (Score:1)
Re:April Fools? (Score:2)
If they are text template and not layout template it wouldn't be copyright infringment as long as you respect their license. Being a template it would probably be quite permissive, but this does not mean that you will be able to do everything.
Wizard Code (Score:2, Funny)
Is Harry Potter a Wizard?
is it possible? (Score:1, Interesting)
if the program spits out code that's already written (i.e., it copies a template and replaces some variables) I'm sure you could say YES of course it's possible.
But what if the program spits out, say, machine code? What about compilers? what if the code is generated from your input only.
I remember reading an interview with electronic musicians Autech
lex and yacc? (Score:3, Insightful)
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!
Re:lex and yacc? (Score:2)
There are an almost infinite number of mouse clicks and keystrokes that could lead to exactly the same result.
First, you can re-order many steps.
But secondly, many mouse clicks are to a sensitive rectangular area, like a button or drop down menu pad. Take the number of pixels of the first rectangular button, times the number of pixels in the second rectangular button, and this is the uniq
What about the same question with a GPLed compiler (Score:4, Interesting)
For example consider this from the GPL FAQ [gnu.org]:
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
That wizards exist validates reverse engineering (Score:3, Interesting)
If the code does more or differently from what the wizard user asks (like efficient design, or using one piece of code, where the wizard doesn't actually do anything but give the wizard user a security blanket), then stick that in a library and charge for the library. Otherwise that wizard is a contradiction in itself.
Stop trying to give users licensing heebie-jeebie, you can make your money otherwise (licensed libs), and quit trying to make creative people pay for their own creativity.
I have no problem making a buck on Free Software. Neither does FSF [fsf.org]
I have a problem where someone tries to charge the developers. That's extortion.
Depends on the EULA (Score:1)
Primarily because the wizard user has already paid for the creative elements of the development environment by purchasing the IDE.
The wizard will usually copy a library of boilerplate code into the generated program. This boilerplate code is copyrighted. The IDE's EULA specifies under what terms the boilerplate code is licensed for distribution.
then stick that in a library and charge for the library.
This is exactly what some IDE publishers are doing. The terms under which the wizard's library is l
Stop Playing Amateur Lawyer (Score:2)
Open source developers would be better off coding better apps than Microsoft instead of playing amateur lawyers. Give users something they think is better than Microsot and the market will settle these "what if" questions.
Re:Stop Playing Amateur Lawyer (Score:2)
Actually, you have that backwards. You actually have to assume that Microsoft's licenses are valid until a court finds them to be invalid. After all, what happens if Microsoft decides to choose you to be the test case? Unless you can afford to go to war in the courts with Microsoft you can't really afford to pretend that their licenses are nonsense (even if they are).
Like it or not, legal issues are becoming a large part of software development. You can hide your head in the sand if you want, but the
Re:Stop Playing Amateur Lawyer (Score:3, Interesting)
Back in reality land, if someone wants to violate a Micrsoft license, or anyone's license, for that matter, they'd better be prepared to deal with the legal consequences. Contrary to the commonly held opinion around here, a firm moral conviction isn't enough to win in court. The other side might just think they're right.
Re:Stop Playing Amateur Lawyer (Score:2)
Uh, I think that we agree. Although it is possible that I wasn't clear in making my point.
Most programmers have to assume that the licenses that they accept are legal. You might believe that a particular section of your software vendor's click-through license is invalid, but unless you are willing to accept the risk of an expensive legal struggle you had probably better do what the license says.
Likewise, coders should assume that autogenerated code falls under someone else's copyright. The FSF believ
Simple answer (Score:1)
Key word 50% (IANAL: Lawyers want to reply?) (Score:2)
So any question you ask, still has to be answered in a court of law if you get sued, and at that point, your chances are 50%. Except against Microsoft, which is likely to have a much better lawyer than you. Or engage in barratry. Or sponso
don't use the wizards (Score:2)
if this is a major sticking point for you, there's no reason to use wizard generated code. i know that a lot of people find it useful, but for me personally, i would rather write this stuff by hand. of course, i've never built anything with more than maybe four dialogs...
not possible (Score:2)
(1) read the license agreement that comes with the development tool in question, check what the terms are regarding this sort of code. if you don't like those terms, goto the next tool.
(2) have accepted the license agreement (say, in 1), then also check to see whether either party is allowed to vary the terms of the agreement - i.e. is there a provision that allows for the terms to be altered without explicit agreement between the parties ? if there are problems here
Re:not possible (possible anyways?) (Score:2)
Gag, I read this and it sounds like babble, but I can't find a better way to say it.
Virginia and some other states specifically allow the EULAs to float, which puts us in a specifically feudal situation. But Congress also periodically considers adding such a law, at the behest of
How? (Score:2)
That said, there are some DLLs that come with Visual Studio that can't be redistribu
Re:How? (Score:4, Informative)
Re:How? (Score:2)
I'm a newbie to VC++ but I think C++ code that uses MFC requir
Not likely... (Score:2)
Also, you can use Visual Studio without it generating crap. That is how I always build my projects, because the wizards go wrong too often to be worth it.
Re:Not likely... (Score:1)
Re:Not likely... (Score:1)
That would seem to easily cover any copyright portion of the question.
Re:Not likely... (Score:2)
An Alternative (Score:1)
Bloodshed Dev-C++ is a full-featured Integrated Development Environment (IDE) for the C/C++ programming language. It uses Mingw port of GCC (GNU Compiler Collection) as it's c
why use vc++ in the first place? (Score:1)
Oi! (Score:1)
Read the EULA, Luke!