Working.Ogre: Where have you been?!
This is EXACTLY what one of my goals for Camel Light was and prolly why I focused on the DB project so much. Near the end, after we added embedded XML support, I had planned to include assemblies complete with world-data like mobs and items and whatnot. Not every zone in DAOC but at least enough to get started.I think we all need to start striving for a "base out of the box live server" and from there worry about customs.
Amen. The same thing goes for CL 3.0. All the static data is defaulted from the XML readers themselves. It is much like how DOL pulls out the region/zone data as embedded files. CL 3.0 has the default data as actual code though. (it populates objects with the data, and then adds them to the XML configuration reader, which then saves the data it has)This is EXACTLY what one of my goals for Camel Light was and prolly why I focused on the DB project so much. Near the end, after we added embedded XML support, I had planned to include assemblies complete with world-data like mobs and items and whatnot. Not every zone in DAOC but at least enough to get started.I think we all need to start striving for a "base out of the box live server" and from there worry about customs.
To mulitate a quote from Gates: "DOL is great but without data its just a tin box with flashing lights."
Unfortunately, this isn't true. You are aware of the LGPL? If your interpretation of the GPL were correct, then the LGPL would not exist. The LGPL was created precisely because of the strict viral nature of the GPL. If you link to a GPLed library, then your entire application must be released under the GPL. This also applies when you link dynamically. Any use of GPLed software in your own code constitutes a derived work.Again, I site any open source "library" as an example. If I link my closed source, commercial project against a GPL library and include the library along with whatever documentation is required by the library, I haven't violated the GPL. DOL works the same way. The "scripts" are compiled seperately from DOL and aren't actually a modification (derived work) of the DOL codebase.
This is a horrible example. It isn't the same case at all. It isn't even realistic. The Win32 API is not derived from any GPLed software you may write. You are (in GPL language) deriving your software from the Win32 API, but just because you do does not mean Win32 must be re-released under the GPL. That would really be silly if all it took to force a company to open their source would be to create a GPLed application that links to theirs. There's absolutely no way such a thing could be enforcable.Another example could be that Windows doesn't automagically become open source just because you compile a GPL project that's linked to the Win32 API DLL's.
Yes, the LGPL is more akin to the BSD license where not only can you make derived works and not release the code, you can also SELL compiled binaries. Big chunks of Windows actually contain Berkley developed and BSD licensed code. The license itself is really just a formality for legal indemification and whatnot.Unfortunately, this isn't true. You are aware of the LGPL?
Think about what you've said for a second. If this were true, no commercial software written to run on Linux would ever exist. NVidia has closed source drivers for Linux and there's no legal path for anyone to take to force them to open the code because its simply not a requirement. See at some point they had to compile the drivers and the drivers need to be able to read code from the Linux Kernel Source tree. If what you said were true then those NVidia binaries would violate the GPL because they're directly linked to the Linux Kernel Source.If your interpretation of the GPL were correct, then the LGPL would not exist. The LGPL was created precisely because of the strict viral nature of the GPL. If you link to a GPLed library, then your entire application must be released under the GPL. This also applies when you link dynamically. Any use of GPLed software in your own code constitutes a derived work.
Actually you're wrong. You would be required to release the changes you made to the GPL'd source as source and you could release compiled binaries of that source along with your other compiled binaries that are linked to that source but you don't have to release the code that you've written that's not a derived work of the GPL'd game engine.I mean, imagine that we take the GPLed Quake 3 engine, strip out the game code, compile it as a static library, and create a commercial game from it. Let's assume we follow your interpretation of the GPL and, since we are using the quake engine as a library, do not release the game under the GPL. If id decided to take us to court, do you really believe we would win? I'm sorry, but no. We could still release the game commercially, but we would have to abide by the terms of the GPL and make the complete source, even the game we created that links to the quake engine, available to anyone who receives the executable.
Its a perfect example actually. Win32 isn't derived from GPL'd stuff but the code you just wrote is (for the purposes of this example). Just flip them around and its the same example. The position of the variables is irrelevent.This is a horrible example. It isn't the same case at all. It isn't even realistic. The Win32 API is not derived from any GPLed software you may write.
You are (in GPL language) deriving your software from the Win32 API, but just because you do does not mean Win32 must be re-released under the GPL.
Umm no shit and isn't that what I've been trying to say the whole time? Right? How is:That would really be silly if all it took to force a company to open their source would be to create a GPLed application that links to theirs. There's absolutely no way such a thing could be enforcable.
So ultimately none of us are right until a court case can happen and a president is set. Until then I don't think its fair to tell someone that they MUST release their scripts but you could make it very clear that this is the suggested behavior for the benefit of the community... or whatever.A key dispute related to the GPL is whether or not non-GPL software can dynamically link to GPL libraries. The GPL is clear in requiring that all derivative works of GPLed code must themselves be GPLed. However, it is not clear whether an executable that dynamically links to a GPL library should be considered a derivative work. The free/open-source software community is split on this issue, with the FSF asserting that such an executable is indeed a derivative work, and other experts disagreeing. This is ultimately a question not of the GPL per se, but of how copyright law defines derivative works. In Galoob v. Nintendo the Ninth Circuit Court of Appeals defined a derivative work as having "'form' or permanence" and noted that "the infringing work must incorporate a portion of the copyrighted work in some form," but there have been no clear court decisions to resolve this particular conflict.
The BSD and LGPL are very different. You are not required to release the source of derived works with the BSD style licenses under any circumstances. With the LGPL, this is only true when you dynamically link with the LGPLed binaries. Anything that is statically linked to LGPLed code is then considered a derived work. That's why the LGPL is referred to as the "Library GPL".Yes, the LGPL is more akin to the BSD license where not only can you make derived works and not release the code, you can also SELL compiled binaries. Big chunks of Windows actually contain Berkley developed and BSD licensed code. The license itself is really just a formality for legal indemification and whatnot.
.Think about what you've said for a second. If this were true, no commercial software written to run on Linux would ever exist. NVidia has closed source drivers for Linux and there's no legal path for anyone to take to force them to open the code because its simply not a requirement. See at some point they had to compile the drivers and the drivers need to be able to read code from the Linux Kernel Source tree. If what you said were true then those NVidia binaries would violate the GPL because they're directly linked to the Linux Kernel Sourc
Nope. No such exception exists.
There's a clarification that user-space programs that use the standard
system call interfaces aren't considered derived works, but even that
isn't an "exception" - it's just a statement of a border of what is
clearly considered a "derived work". User programs are _clearly_ not
derived works of the kernel, and as such whatever the kernel license is
just doesn't matter.
And in fact, when it comes to modules, the GPL issue is exactly the same.
The kernel _is_ GPL. No ifs, buts and maybe's about it. As a result,
anything that is a derived work has to be GPL'd. It's that simple.
Now, the "derived work" issue in copyright law is the only thing that
leads to any gray areas. There are areas that are not gray at all: user
space is clearly not a derived work, while kernel patches clearly _are_
derived works.
But one gray area in particular is something like a driver that was
originally written for another operating system (ie clearly not a derived
work of Linux in origin). At exactly what point does it become a derived
work of the kernel (and thus fall under the GPL)?
THAT is a gray area, and _that_ is the area where I personally believe
that some modules may be considered to not be derived works simply because
they weren't designed for Linux and don't depend on any special Linux
behaviour.
Basically:
- anything that was written with Linux in mind (whether it then _also_
works on other operating systems or not) is clearly partially a derived
work.
- anything that has knowledge of and plays with fundamental internal
Linux behaviour is clearly a derived work. If you need to muck around
with core code, you're derived, no question about it.
...these days it would be hard to argue that a new driver or
filesystem was developed without any thought of Linux. I think the NVidia
people can probably reasonably honestly say that the code they ported had
_no_ Linux origin. But quite frankly, I'd be less inclined to believe that
for some other projects out there..
This depends largely on the nature of the plugin architecture. The "interface" of an API cannot be licensed, but the implementation can. If the plugin architecture relies on a particular GPL implementaion of an API, then the plugins will be considered derived works and must also be GPLed. However, if the plugins were not dependent on a particular implementation, then they could not be considered derived works. This follows from Linus' comments that I quoted above.If you're still not getting it, think about plugins. If you wanna write a plugin for a GPL'd application, your plugin doesn't have to be GPL just because the application is.
That is irrelevant. If you can't release your code as GPL it doesn't change the nature of the license. You just can't derive your work from GPL code.And some code can't be GPL'd. Code that contains state secrets or personal information.
I'm not sure what you are getting at. From the perspective of using SQL on a GPL database, that does not make your application a derived work. However, if you link to a GPLed database library - then yes you are creating a derived work and must abide by the GPL. MySQL is licensed under multiple licenses, but if you choose the GPL option then your application becomes a derived work if it links with the C-API MySQL ships with.What about databases? If I write some script that does some stuff to a GPL'd database server, my code doesn't also become GPL'd just because its linked to a GPL'd application. And if you look at it from a certain perspective, database data is just "code" that tells the database what to do. That code doesn't become GPL just because its stored in and gets to manipulate an application that its linked to.
That's not true. All of your code that uses the GPLed code would become a derived work. You can't mix and match. It's not a selective license. The GPL is the most viral open source license in existence. If you add anything to the Quake 3 code base, not just modifications but some completely new system, you are required by the GPL to make that source available to anyone who gets your binaries.Actually you're wrong. You would be required to release the changes you made to the GPL'd source as source and you could release compiled binaries of that source along with your other compiled binaries that are linked to that source but you don't have to release the code that you've written that's not a derived work of the GPL'd game engine.
It's very relevant. The GPL works in one direction: it affects workd derived from GPLed code. You can't retrofit existing software with a GPL license just because a GPLed application uses it. That's ridiculous. The existing software is not a derived work of the GPLed software that uses it. I don't know how you can see it otherwise.Its a perfect example actually. Win32 isn't derived from GPL'd stuff but the code you just wrote is (for the purposes of this example). Just flip them around and its the same example. The position of the variables is irrelevent.
This is perhaps the biggest source of confusion surrounding the GPL and LGPL licenses. What constitutes a derived work? Logically, there's no problem with your distinction between deriving and linking. But your definition doesn't matter. Neither does mine. The only definitions that matter are those described by the GPL and LGPL. I can't remember exactly, but I don't recall that the GPL says anything about "linking". All it is concerned with is what is a derived work and what isn't (see below).Umm you don't "derive" your code from the Win32 API, you link to it. We really need to have a good understanding of all of the concepts we're talking about here before using them in sentences. You link to libraries. You derive from previous works. Linking to a library is not the same thing as creating a derived work. Making changes to code creates a derived work. Linking only creates references and invokes stuff, it doesn't derive.
These are two extremely different scenarios. I don't understand why you can't see the difference.Umm no shit and isn't that what I've been trying to say the whole time? Right? How is:That would really be silly if all it took to force a company to open their source would be to create a GPLed application that links to theirs. There's absolutely no way such a thing could be enforcable.
Shard Scripts (not GPL) vs DOL (GPL)
different from:
Win32 API (not GPL) vs GPL Example Application (GPL)?
Wrong. The GPL does require this.Basically you guys are just saying you want all scripts that run on DOL to be GPL because that's just how you want it. There's nothing in the GPL that actually requires this.
I direct you to the following entry in the GPL FAQ, which clarifies this much better than I can:It doesn't matter if the process that compiles your code is the same process that executes it or not, the location of compilation is irrelevent. It is only when you change the original source code that your code becomes virally GPL'd. And its not ALL of your code, only the CHANGES to the GPL'd code also become GPL'd. That's what they mean by derived works: new "works" created by modifying the original work.
As you say, nobody is right until a court decides. But the FAQ illustrates the intent of the GPL, and Richard Stallman, being the original force behind the GPL, has made his intent known in writings and discussions for years. When interpreting the GPL, it is best to interpret it in accordance with that intent as outlined in the FAQ.Mere aggregation of two programs means putting them side by side on the same CD-ROM or hard disk. We use this term in the case where they are separate programs, not parts of a single program. In this case, if one of the programs is covered by the GPL, it has no effect on the other program.
Combining two modules means connecting them together so that they form a single larger program. If either part is covered by the GPL, the whole combination must also be released under the GPL--if you can't, or won't, do that, you may not combine them.
What constitutes combining two parts into one program? This is a legal question, which ultimately judges will decide. We believe that a proper criterion depends both on the mechanism of communication (exec, pipes, rpc, function calls within a shared address space, etc.) and the semantics of the communication (what kinds of information are interchanged).
If the modules are included in the same executable file, they are definitely combined in one program. If modules are designed to run linked together in a shared address space, that almost surely means combining them into one program.
By contrast, pipes, sockets and command-line arguments are communication mechanisms normally used between two separate programs. So when they are used for communication, the modules normally are separate programs. But if the semantics of the communication are intimate enough, exchanging complex internal data structures, that too could be a basis to consider the two parts as combined into a larger program.
Because you want your interpretation to be correct.I don't understand why you can't see the difference.
Intent and reality are often two very different things. Example: I didn't intend to kill all those people, I intended to go to the store and pick up more beer.But the FAQ illustrates the intent of the GPL
Users browsing this forum: No registered users and 0 guests