GPL user restrictions ? (Developers)
> > > If, in your own words, it matters so little to have the source,
> >
> > First: Not my words. I said for users.
>
> There are no pure users and pure developers. Even people that don't
> compile themselves might use binaries that are not generated by the
> original copyrightholder.
Someone has to compile the binaries and this probably (depending on the difficulty of the compilation, i.e. with DJGPP more difficult than native Linux) counts as "modification", or at least the one compiling them is a developer, in a sense.
> > And you didn't answer my question.
>
> If you mean this one:
Yes, thanks.
> > > They cannot for drivers afiaik. The commercial driver must use
> > userspace
> > > workarounds as a loophole
> >
> > I don't know. Only thing I heard is that there are some proprietary
> Linux
> > drivers.
> Excluding 99.9% of normal
> commercial use, and then pointing to a small loophole that is possible is
> a great for advocatists, and useless for the rest.
Please explain what kind of workaround that is. I imagine it's some hack to talk to the kernel from userspace (or install kernel space drivers from there?), but how does that work fast enough for accelerated hardware such as graphics cards? I heard some Nvidia cards require proprietary drivers.
> > (BTW, as the FSF says: please
> > avoid
> > the word "commercial" if you mean non-free software. Commercial
> free
> > software is also possible.)
>
> I use the Websters dictionary, not GNU's.
Feel free.
> > > That's because dos drivers communicate with the kernel over
> interrupts.
> >
> > No they don't. Don't let terms like "device strategy and device
> interrupt
> > calls" fool you. They communicate over calls from the kernel directly
> into
> > the device driver's code, which (despite one being called device
> interrupt)
> > don't use any interrupts at all.
>
> Then, if the kernel is GPL, and there are no special conditions, and the
> devicedrivers are GPL incompatible, to my best knowledge that is a license
> violation.
Hm. DOS-C (AKA "The FreeDOS Kernel") did this for years. Probably I should ask someone at the FSF about that. For the worst case, I could try to reach Mike to ask for a 2-clause BSD license or so, for RxDOS. This however won't change a thing for DOS-C.
> > So because the DOS driver interface didn't change for 20-what years,
> any
> > DOS driver is linked into/for my GPL DOS kernel?
>
> It could be yes. It depends on how the loading process works exactly.
> Maybe if they are loaded straight (no relocation, not even segments) and
> they call fixed numbers in a calltable, a case could be made that no
> relocation is performed.
So since you (almost) asked for it, I'll bore you with the details: (If you don't want to, you needn't answer this.)
* DOS device drivers can, since MS-DOS 3.00, be available as .COM (flat, up to 64 KiB loaded) or .EXE (simple relocations) file.
* The DOS configuration code apparently uses the EXEC subfunction Int21.4B03, "Load overlay", to load the file (so the loading process is very similar to actual executable loading for process creation).
* A device driver contains one or more device headers. The first one is located at the start of the program image. Two words in the device header specify near offsets to the two different entry points of this device. After calling the first device header's initialization function, DOS checks whether the pointer field (later used to chain all device headers together) was set by the initialization to a valid value. If so, the segment of this pointer is relocated with the current device header's segment, and the pointer is used to get the next device header. Notably, most device drivers don't use multiple device headers.
* After all device headers of this particular device driver were initialized, DOS points the last one to DOS's current "first device header", and the DOS internal "first device header" field is set to the first header of the device driver.
* The actual request of DOS into a device is made up of setting up a pointer (es:bx registers) to a request packet, which resides in DOS internal data (inside the SDA or on DOS stack) and contains parameters such as the request's function number, a block device's unit number and the first requested sector, the requested number of characters/blocks and the transfer address (for the simple read/write functions). DOS first calls the device's "strategy" call (which usually stores the passed pointer in some inreentrant memory location) and then the "interrupt" call immediately afterwards (which reloads the passed pointer from the completely useless memory location), both which are pointed to by a device header field.
> > > (snip totally random pieces of GPL license text, what were they meant
> > to > convey? (pun intended))
> >
> > First off, I didn't get the pun, maybe because English isn't my first
> > language.
>
> (it was a bad pun, convey is about every other word in the GPLv3 text)
Okay, maybe I would've got it if I'd read the full GPL 3 text ever. Last time I cared about license details, it wasn't out yet 
> > Then, I added these snippets (they're neither total nor random)
> > after the discussion of GPL main program vs. MPL/other license plugins.
> > Essentially here: since the program only interfaces with the plugin's
> > binary while running, you can use the main program disregarding the
> > GPL with your incompatible licensed plugins (if the GPL really
> covers
> > that plugins have to be GPL too).
>
> Ah, correct, good point, and one I overlooked. So it only means you can't
> distribute the program and its plugins (though that was what I said
> originally about the lazarus case btw)
Couldn't you distribute them in different packages, then?
> But too much projects and
> code just gets a GPL slapped on by young idealistic idiots in their
> student years, when they don't have a clear picture of the daily reality
> of staying in Open Source after university.
>
> I know. I was one.
Partly, I fear I'm such a young idiot too.
---
l
Complete thread:
- New RxDOS memory subsystem source code - ecm, 15.06.2009, 21:33 (Developers)
![Open in board view [Board]](img/board_d.gif)
![Open in mix view [Mix]](img/mix_d.gif)
- New RxDOS memory subsystem source code - Japheth, 16.06.2009, 17:21
- New RxDOS memory subsystem source code - ecm, 16.06.2009, 21:23
- GPL vs. BSD - Rugxulo, 19.06.2009, 06:54
- GPL vs. BSD - marcov, 20.06.2009, 14:09
- GPL vs. BSD - Rugxulo, 21.06.2009, 04:37
- GPL vs. BSD - marcov, 21.06.2009, 14:30
- GPL vs. BSD - Rugxulo, 22.06.2009, 10:11
- GPL vs. BSD - marcov, 22.06.2009, 16:07
- GPL user restrictions ? - ecm, 23.06.2009, 00:35
- GPL user restrictions ? - marcov, 23.06.2009, 10:11
- GPL user restrictions ? - ecm, 23.06.2009, 13:05
- GPL user restrictions ? - marcov, 23.06.2009, 16:39
- GPL user restrictions ? - ecm, 23.06.2009, 20:55
- GPL user restrictions ? - Khusraw, 24.06.2009, 20:08
- Commercial philosophs - ecm, 25.06.2009, 02:51
- Commercial philosophs - Khusraw, 25.06.2009, 08:47
- Commercial philosophs - ecm, 25.06.2009, 16:31
- Commercial philosophs - Khusraw, 25.06.2009, 16:50
- Commercial philosophs - marcov, 25.06.2009, 21:44
- Commercial philosophs - ecm, 25.06.2009, 23:34
- Commercial philosophs - marcov, 27.06.2009, 14:09
- Commercial philosophs - Khusraw, 28.06.2009, 13:16
- Commercial philosophs - Rugxulo, 01.07.2009, 22:52
- Commercial philosophs - ecm, 25.06.2009, 23:34
- Commercial philosophs - ecm, 25.06.2009, 16:31
- Commercial philosophs - Khusraw, 25.06.2009, 08:47
- Commercial philosophs - ecm, 25.06.2009, 02:51
- GPL user restrictions ? - marcov, 25.06.2009, 21:24
- GPL user restrictions ? - ecm, 26.06.2009, 11:27
- GPL user restrictions ? - marcov, 26.06.2009, 23:59
- GPL user restrictions ? - ecm, 26.06.2009, 11:27
- GPL user restrictions ? - Khusraw, 24.06.2009, 20:08
- GPL user restrictions ? - ecm, 23.06.2009, 20:55
- GPL user restrictions ? - marcov, 23.06.2009, 16:39
- GPL user restrictions ? - ecm, 23.06.2009, 13:05
- GPL user restrictions ? - marcov, 23.06.2009, 10:11
- GPL user restrictions ? - ecm, 23.06.2009, 00:35
- GPL vs. BSD - marcov, 22.06.2009, 16:07
- GPL vs. BSD - rCX, 25.06.2009, 18:01
- GPL vs. BSD - Rugxulo, 22.06.2009, 10:11
- GPL vs. BSD - marcov, 21.06.2009, 14:30
- GPL vs. BSD - Rugxulo, 21.06.2009, 04:37
- GPL vs. BSD - marcov, 20.06.2009, 14:09
- GPL vs. BSD - Rugxulo, 19.06.2009, 06:54
- New RxDOS memory subsystem source code - ecm, 16.06.2009, 21:23
- New RxDOS memory subsystem source code - ecm, 03.05.2018, 12:55
- New RxDOS memory subsystem source code - rr, 28.10.2018, 19:44
- New RxDOS memory subsystem source code - ecm, 05.11.2018, 14:24
- New RxDOS memory subsystem source code - rr, 05.11.2018, 20:52
- New RxDOS memory subsystem source code - ecm, 05.11.2018, 14:24
- New RxDOS memory subsystem source code - rr, 28.10.2018, 19:44
- New RxDOS memory subsystem source code - Japheth, 16.06.2009, 17:21
Mix view