Linux Sourcecode To Minitar Access Point
mcbridematt writes "Minitar sells a rebadged Edimax Linux based-802.11b Access Point in Australia (no FCC ID yet) for a relatively cheap price (under AUS $100 in places). These access points are based around the Realtek 8181 wireless-system-on-chip design, have 8MB flash rom, and run a 2.4 series Linux kernel. After requests from the community to get the kernel sources, which resulted in a incomplete sourcecode release, we finally have (allegedly) complete and GPL compliant Linux kernel sources for this fine Access Point. Special thanks to chuna, serialmonkey and screwball at Minitar for making this happen, especially after they ran into arguments with their OEM and Realtek over this." From the attached forum discussion, you can see there's disagreement about whether the source code release is as complete as it should be.
But big deal. The source is going to be 99.8% unchanged from the previously public version, and the 0.2% remaining is just going to be bootstrap code and code to work around bugs in the specific hardware, etc. Further, I bet nobody actually does anything interesting with it now that they've got the source. After all, the HW's only good for one thing, and it already does it.
Suing every commodity router builder that comes down the pike with a product like this, which has essentially zero software value added in it, is just going to make some manufacturers squeamish about using Linux inside. And I want them to use Linux, because I, as a consumer, would rather have that than the lower quality, higher cost alternatives that exist.
Looking at it another way, if the OSS community sues over these dinky issues, where they get no great new software to show for it, they'll lose out on luring some big fish to use OSS plus their own super-duper-multimedia-software, which the community could then sue for and actually get something out of it.
P.S. For those that say "but we might get a driver for the buggy chipset that we've only got a buggy closed source driver for now" - will you listen to yourselves? Support another chipset vendor, you twits!
Everybody's a libertarian 'till their neighbour's becomes a crack house.
The RTl8181 driver for Linux has been a seperate binary driver for some time
What's worse, is that (if the linked forum posts are to believed) the RTl8181 driver is not actually a kernel module. It is linked directly into the kernel, and relies on some modified core kernel files (mm.o kernel.o mm.o fpu_emulator.o).
The source for the modified files, and the driver itself, have not been released. This looks like a violation of the GPL to me, as these files are linked directly into the kernel.
One of the posters in the forum has promised to take this up with the FSF and Realtek, and it would be interesting to see what the results are.
1. Company X makes the guts of one of these routers or access points. They modify GPL'ed software, and put it on ROM in the device.
2. Company X sells these things to OEMs, who put it in boxes, add their applications in a separate ROM, and sell it to customers. Company Y is one of these OEMs.
3. Company X includes the full machine readable source of the GPL'ed ROM with the board they sell to company Y. Note: Company X has completely satisfied their GPL obligation. They are completely off the hook as far as anyone who acquires the software from company Y is concerned.
4. Now it gets interesting. Company Y takes the board with the ROM, and sells it to an end user. Note that company Y is allowed to do this without the permission of the copyright holder, because of the first sale doctine (see footnote).
5. Because company Y didn't do anything other than what is allowed by copyright law, they are under no GPL obligation to provide ROM source to the end user.
6. Note the end result: no one has a GPL obligation to provide source to the end user! Company X satisfied all their GPL obligations in their dealings with company Y, and company Y distributed in a way that falls outside the GPL.
Note: this isn't as big a loophole in GPL as it might seem, since it only applies to things like ROMs, where someone like company Y receives a particular copy, and distributes that particular copy to the end user.
Footnote: the fair use doctine, codified at 17 USC 109 if I recall correctly, basically states that the legal owner of a particular copy of a copyright work can sell that copy, without that violating that copyright owner's exclusive right to distribute or authorize distribution of the work. This is what allows used bookstores, for example. Without the first sale doctrine, every time a book changed hands, it would require the publisher's permission!
This is also what lets you sell a used embedded device on eBay without incuring any GPL obligation if it turns out the device uses GPL'ed code, so I wouldn't say this loophole in GPL is a bad thing. If you just go down to BestBuy and buy a router, you should be able to resell that without worrying about whether or not the manufacturer used any GPL'ed code in the thing.
Well, that's the theory. Unfortunately, despite their best intentions, many drivers get it wrong. They either "forget" to put a certain number of APIs into their glue code, and call those directly from the binary part. Or, all functions are covered, but they access structures directly. Or any other kind of SNAFU. Smacks more of lack of testing or proper development procedures than lack of foresight.
NVidia gets it right (even to the point that their driver works flawlessly with 2.6 kernels. But not with SuSE's X servers, but I'm more inclined to blame SuSE for that...).
VMware gets it mostly right (no problems with any 2.4 kernel, but you need a third-party patch for 2.6 kernels).
Realtek (and, unfortunately many others...) get it wrong, and don't seem to work on anything more recent than 2.4.18.
Say no to software patents.
Interesting that you chose your selections to give McVoy the last word. He's not exactly an authority on the GPL, or even someone with a neutral position on it historically. Linus answered him quite well:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Friends don't let friends enable ecmascript.