GPL in ROM
h0bby1 (2567) 480 posts |
aaaaa |
h0bby1 (2567) 480 posts |
aaaaa |
David Feugey (2125) 2709 posts |
But the licence does not speak of something technical. It just says you cannot use the code from another code. So no linking or no link with a system made to add a bridge to DLL.
Dlopen is very easy to use :)
From a technically point of view yes. From a legal (AKA license) point of view, your code is linked to the library, since it uses it.
It’s easy. GPL is – as free software – a legal thing, not a code oriented vision. You make confusion with open source, that is a technical thing. So no matter what you’ll do. GPL advocates will not care of technical tricks, as they don’t have to. They fixed the rule (you use it, you’re in GPL) and a few exceptions (a front end is separate from the tool, etc.). If you manage to set up a new system around existing exceptions, they will simply say that your approach is not part of the existing exceptions (since it’s not). |
Chris Hall (132) 3554 posts |
But the licence does not speak of something technical. It just says you cannot use the code from another code. So no linking or no link with a system made to add a bridge to DLL. Can’t use the code from another code? That may be unenforceable under the unfair contact terms legislation. |
David Feugey (2125) 2709 posts |
You can use some free software from another free software, but, no, you cannot use GPL code from non GPL code (as an inclusion, statically [same source file] or dynamically [library, bridge to library, whatever]). For me it’s clear, but it’s a bit difficult to explain in English :) |
h0bby1 (2567) 480 posts |
aaaaa |
h0bby1 (2567) 480 posts |
aaaaa |
David Feugey (2125) 2709 posts |
There is no way to fool the GPL as technical details can change at any time if needed (GPL is not about technique). |
h0bby1 (2567) 480 posts |
aaaaa |
Rick Murray (539) 13840 posts |
There is not really any “linkage” with the shell and the executable. Consider, for example, SharedCLibrary which a program will call to set up a series of branch points directly into the program. There is a sort of direct link established between the program and the library. However when you execute a program, the command line usually loads it into memory, faffs around to set up memory and stuff (depending on the OS complexity) and then it just hands control to the program. There isn’t any sort of link established between them.
Actually, the GPL FAQ “prohibits” supplying closed source libraries with GPL software in a Windows environment. I put “prohibits” in scare quotes because it can be reasonably well argued that those DLLs and OCXs and other such proprietary and non-free components are actually essential for the runtime (VB, for instance) to work at all. The GPL does allow for this, but I think by now we have established that a lot of GPL blurb is political rather than logical.
Not really. You can hand off to another piece of software and while it may work in tandem with your software, it is a separate entity. Calling a routine from your program intertwines the two in an inseparable way.
A shell will hand over to the executable, and not expect to be returned to until the program has finished running (or in the case of *nix, has been pushed to the background).
IE is old hat now, do keep up! :-)
…RISC OS forum. Mightn’t be too many around here who know (or care) about esoteric Windows stuff.
I think there are more than a few GPL supporters who would consider that to be a good idea.
It isn’t a law. Copyright is the law.
…you will need to seek your own legal advice on the specifics of these examples; however I will mention two points of interest: 1. Technically the GPL infringes upon itself. The Linux kernel is GPL v2, a lot of software that interacts with the kernel is GPL v3. GPL v3 specifically prohibits using GPL v3 with incompatible licences, and GPL v2 is an incompatible licence. 2. Actual quotes from Linus: I claim that a “binary linux kernel module” is a derived work of the kernel, and thus has to come with sources. This is an incredibly scary proposition. Let’s consider three points: 1. Evidently it is not possible to write a kernel module for Linux using a published API as opposed to actual kernel code. One would have thought that writing to the API ought to suffice, so long as the API matches reality. To give an example here, for years we have written programs for the Wimp by reading the PRMs. It’s really really late in RISC OS’s life that anything source-like has appeared. We used the API. 2. Linus has an interesting definition of “derived work”. One would have thought that a “derived work” would have had to contain, by necessity, substantial enough portions of actual kernel code that one could say it is derived from the kernel as opposed to original code. 3. Saving the best for last: “even if you made your own prototypes and tried hard to avoid kernel headers”. Prototypes and headers are not component parts of a piece of software. They do not turn up in the executable. They are directions to aid the compiler. RMS himself said (circa 2003) that “Someone recently made the claim that including a header file always makes a derivative work. That’s not the FSF’s view. Our view is that just using structure definitions, typedefs, enumeration constants, macros with simple bodies, etc., is NOT enough to make a derivative work.”. Having said all this, something to remember regarding the definition of “derivative work”:
What? You mean like we did? Dude – it’s an obvious no-brainer. You simply do not need to have the entire runtime kicking around within every single program you have. That might fly in a single-tasking world, but in a multitasking (GUI or console) world, having a shared library makes a LOT of sense. What sort of weirdo in yesterday’s lower memory/spec world would think it a good idea to run eight programs each containing eight copies of the runtime?
Given that the idea of dynamically linking into shared libraries made its debut in Multics in 1964, the *nix people might want to check their facts on that one.
You what? [libel much?!?]
…and the relevance to RISC OS is? |
Steve Pampling (1551) 8170 posts |
You have to consider that when people are that far up their own nether then visibility is likely to be reduced. Can’t be an offence if you can’t see it. :) |
h0bby1 (2567) 480 posts |
aaaaa |