Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
Check out the new SourceForge HTML5 internet speed test! No Flash necessary and runs on all devices. ×
GNU is Not Unix

Sun Finds & Exploits Hole in the GPL *Update* 334

chrisd writes "Sun is shipping binaries (no source code for you!) of some of Donald Beckers work, saying in their defense that "It says that anyone using its kit is responsible for ensuring that how it's used doesn't violate licenses, and that's not Sun's problem."" Update: 09/15 11:30 PM by CT :The article is somewhat confusing here: this is essentially a cross compiler, and Sun isn't distributing anything in violation of the GPL, and if they used their compiler to distribute binary drivers, that wouldn't violate the GPL either, assuming that they distributed the original driver source code as well.
This discussion has been archived. No new comments can be posted.

Sun Finds & Exploits Hole in the GPL

Comments Filter:
  • by Anonymous Coward
    for not making a big deal of the code that Be took from him for BeOS

    Yeah. Too bad Be paid him a good chunk of money to license the drivers after he made a stink about it. With enough negative press maybe he can cut an even better deal with Sun.

    I still think it's a crock that dynamically loaded GPL'd binaries (for example, gnu ls) don't taint the proprietary libc and kernel they run under, but dynamically loaded drivers do.

    -- Brian

  • by Anonymous Coward on Friday September 15, 2000 @07:54AM (#776386)
    Huh? I don't get how Sun's kit is any worse than e.g. Napster. It's all in how you use it, right? Just because SOME people MIGHT use it to abuse the GPL doesn't mean Sun should withdraw it. Or is this just another example of double standards in the free software world?
  • by Anonymous Coward on Friday September 15, 2000 @10:03AM (#776387)
    Ok, I've read the article and some of the posts here on /.

    2 conclusions:
    - those linuxgram folks are clueless and probably dishonest
    - Becker is an arrogant asshole who clearly doesn't grasp open source

    Sun never asked his permission to convert them to Solaris binaries...
    But Becker knows one thing - he wants Sun to stop peddling the kit, which he says includes "explicit instructions on taking a copyrighted work and converting it to unlicensed use with the Solaris operating system."

    What a jerk!

    If you want anyone who uses your code to suck your dick or give you money (is there any significant difference?), then you release it under a closed source license, not the GPL. The GPL is about writing better code, it's about the pleasure and pride of seeing your code used by many. It's about free software. Nobody needs to thank you for this. It's better if they do but you must be prepared to see people just take it. And expecting users to ask you for permission is blantantly against the spirit of the GPL.

    When you release under the GPL, you allow user to do whatever they want with the code, provided:
    - that the source comes along with it - the status of which is not clear in the article, so I assume that Sun is ok with that.
    - that any derived work becomes GPL - and under no circumstances could Sun's kit (more or less a compiler) be considered as derived from GPL code.

    All in all,it appears that Becker is an arrogant, self-conscious kid. I'm afraid that the open source movement is increasingly populated by religious fanatics. Those guys see GPL as a tool for power and totally forgot (or chose to ignore) the real message: freedom.

    Donald, if you don't want others to use your code freely, get a job in Redmond.

    Just my 2c.

    - I will fight for the right to be right - Bowie, 1971
  • Nice? I did not find their hardware nice. It's not as reliable as claimed (out of the box, the multi cpu machine my previous employer got had a flakey cpu), it's hard to work on (getting into an external drive box is a bitch (but I figured out how to do it:), it's overpriced for what you get, especially considering alot of their hardware is just rebranded (esp media drives).

    I'm sorry, but I did not enjoy working on Sun hardware. Give me a slightly expensive PC any day. At least if something fails, it's relativly cheap to replace.

    Bill - aka taniwha

  • According to the article, Sun is quoting the education/non-commercial exception in the GPL. While I don't know what version of the GPL Becker's drivers are distributed under, there is not even a mention of education or non-commercial use in version 2 of the GPL (there is, however, a mention of commercial use, allowing you to charge for the distribution (eg Cheapbytes)). Did any of the earlier versions of the GPL allow an exception for educational or non-commercial use?

    Bill - aka taniwha

  • >IMO, nothing wrong has been done, unless Sun is distributing a binary
    >copy of the drivers without the source included

    And once put in these terms, the objection becomes taht the sun software
    *can* be used by someone who is going to commit a violation . . . which,
    iirc, has come up around here in a different context :)

  • I am an attorney, but this is nto legal advice. If you need legal advice, consult an attorney licensed in your jurisdiction.

    > In my opinion, and I'm not an attorney,

    But I am, and you're correct (though we have, err, radically different opinions on the GPL :)

    If Sun is only distributing the source of the drivers, they're safe. If they're distributing drivers as binaries, but include the source to those but not to the tools, they're safe.

    [note: this doesn't mean it's a good move on Sun's part; there's a basic biting the hand that feeds you problem here . . .]]
  • If sun truly beleives that there's no problem here, why did they move the code to a password protected area?
  • Well, I think that this article should be read -very- carefully, there are a lot of subtleties in it that don't take well to summarizing.

    Chris DiBona
    VA Linux Systems
    Grant Chair, Linux Int.
    Pres, SVLUG

  • I was more worried about the shippinga binary version of a GPL' d program without it's sourcecode.

    Chris DiBona
    Grant Chair, Linux Int.
    Pres, SVLUG

  • >Ever used a Sun? They're nice boxes. Nice doesn't come cheap.

    Their low end boxes aren't cheap either and they aren't worth the money. I have a Sun U10 on my desk and it certainly wasn't worth the money it cost. Only buy Sun if you really need Solaris, otherwise there are much better alternatives.
  • I'm interpeting this as a tool that takes a driver, and allows it to run under Solaris. How could this *possibly* break the GPL? Dynamically loaded drivers are peices of software, NOT part of the kernel. I can't imagine how someone could think that this, at least as descibed, breaks the GPL.
  • Exactly. And as long as they distribute the tool, not the drivers, they're all set. Even if they distribute the drivers, all they need do is, include the original driver source.. ;-P
  • But Bruce.. My question here would be, *WHAT'S WRONG* with what they're doing? Aren't drivers no more then loadable libraries? Why are peoples pants in a knot about it?

    Basically, why are you concerned with what they are doing? They're not stealing the drivers and claiming them for their own. They're simply providing a way for them to run somewhere else. People don;t get in an uproar when someone ports vi to windows, or anything else to an alternate environment.

    I guess I don;t get what the concern is all about. The fact that Sun is using Linux kernel things for their own OS, doesn't that merely reenforce the quality of the code?
  • All they have to do to comply with the GPL is point the users to a location where the source is available, and ensure it is indeed available. And yes, they can do that without permission.
  • But if you get down that low, a driver interacts with the OS in no more of a way then an app integrates with the OS and the standard C library. If I call syslog, or klog, do I now need to GPL my software? Definitions of these things can be blurry, so I understand the confusion, but in the end, it's all the same. Just becouse something interacts with something doesn;t mean it's part of the application or system. Seems simple enough.. Cars require tires, but are tires part of the car? Heck no.. ;-P Does a 'tire adapter' make the tire part of the car? Once again, hell no..
  • They didn't modify the source at all. It's simply compiled to a binary, and the binary is wrapped.. ;-P
  • Yea, so all it needs is to have a link somewhere in the docs that says you can download the source at 'x.y.com/source'. I betcha if you look, the URL is in there somewhere.. ;-P
  • What about the fact that the drivers are a derived work of the kernel? The COPYING file that comes with the kernel states that using the headers in a user-level program aren't a derived work, true, but surely there's a problem with Bruce's argument.

    Surely some sort of code within the kernel has to be used in writing the driver. I cannot say with authority since I have never written a kernel driver. But I'm hoping that this post will spur someone to respond to this issue.
  • ...that the problem is not that Sun is distributing drivers without distributing their source, but rather that Sun is using GPL'ed drivers without distributing the source for the Solaris OS?

    I'm not sure this is a problem that needs to be fixed. I always understood the GPL as meaning that if I integrate GPL'ed code into a program in a way that isn't transparently separable from my new code, then I must GPL my new code along with the GPL'ed older code. But, if my code is transparently separable, like header files or object files, even if they are all compiled into a single binary, then I need only distribute the source for changes I have made to files that were already under GPL. I always thought the idea was that you could use GPL'ed code in your non-open projects, as long as the GPL'ed part is transparently separable and distributed whith the program.

    Now, I don't see why a device driver's code would be integrated into Sun's source tree in a non-transparent way. It almost certainly resides in separate files, and is either loaded seperately at compile time or at run time. How, then, would this be a GPL violation, even if Sun changed their kernel to make it compatible with formerly Linux drivers?

    If I wrote a program (hypothetically) that turned Linux device drivers into Windows device drivers, I couldn't turn around and sue Microsoft for not GPL'ing their source. I fail to see how this is different.
  • by vlax ( 1809 )
    From the GPL license:

    These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.

    I would imagine that program modules that are shipped in separate files constitute "identifiable sections." Furthermore, shipping separately doesn't mean on separate CD's, or else Red Hat would have to GPL all the non-GPL'ed programs that ship on their Linux CD's. Yes, if Sun took GPL'ed code (like the TCP/IP stack) and stuffed it into their monolithic kernal binary, that would strike me as a violation, but any part that can be optionally used would seem to me to be a separate work, and rightly so.
  • It's not that the Sun tool performs changes that's the problem; it's that they're including GPL'd programs and saying "try it on this!". It would be as if Tom wrote a program to copy DVD's onto CD's, but along with the tool, he included a copy of The Matrix and said "try it on this!"
  • by Millennium ( 2451 ) on Friday September 15, 2000 @08:04AM (#776431) Homepage
    It would have been really helpful if the poster of this article had actually said what piece of software Sun was distributing. For those who haven't read the article, it seems to be a pieve of software that converts Linux driver binaries to Solaris/x86 ones (note that this only seems to work for drivers). The software itself is, I believe, proprietary (but does not use any GPL'd code itself).

    This isn't a GPL breach, in letter or in spirit. The author of the article is correct: it is the responsibility of driver porters to ensure that their drivers don't violate licenses, not Sun's. In the case of GPL'd drivers, they do this by providing the sources, which they must do for the Linux drivers. Since the Sun toolkit seems to be little more than a recompiler (less than that, actually; more like a relinker) it hasn't actually modified the source any more than a compiler does.

    Maybe I'm wrong about the software's nature; I'd appreciate corrections if that is the case. But it looks like a lot of people are blowing this out of proportion. Sun is not violating the GPL. It has created software which could, theoretically, be used as an aid in GPL violation, but isn't intended for that purpose (rather like Napster and DeCSS can be used in violating more restrictive, and some might say unethical, licenses but are not intended for that purpose).

    I'll admit, this looks a bit fishy. But I support Napster and DeCSS; because of that I can't cry out against this driver converter without being a hypocrite.
  • by John Goerzen ( 2781 ) on Friday September 15, 2000 @08:02AM (#776437) Homepage
    From the description of the kit, it sounds like Sun is merely providing something that could be considered to be roughly analogous to a compiler. The referenced article does not establish whether this "compiler" is GPL'd, nor whether it uses GPL'd code. Even if it is not, it would still be perfectly acceptable to use it to convert GPL source to object code, and Sun is right -- the people that distribute that object code are the ones that have to obey the GPL. In short, Becker can't really object to that.

    Now, if Sun itself is distributing object code derived from GPL software, they have an obligation to follow the GPL with regard to distributing source. It is also unclear whether or not they are doing this. If they are not, then they are in clear violation of the GPL, and I don't see where Bruce sees the gray area. (And, FWIW, they should have asked RMS about this, not Bruce.)

    So, in essence, from what we know: 1) the idea of compiling source intended for Linux into a Solaris object code is not objectionable nor a violation of the GPL even if the compiler is not GPL'd; and 2) if Sun uses GPL'd code in their compiler, they must include the source. So on #1, Becker is wrong, and on #2, Perens is wrong. If Sun indeed is using GPL'd code and not including source, then they need to be taken to task. Otherwise, they are not doing anything to violate the GPL.

  • This is the hole.

    However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.

  • I don't particularly like the adoration, either. It makes people that much more disappointed when I'm wrong (which happens pretty often) and the god is proven to have feet of clay. Then they generally go from adoration to the opposite, which is just as sick.


  • I did talk with RMS. He said he'd fix it in GPL 3. That's all he said. Today, he had Eben Moglen, who is a lawyer, write me.
  • That's right. Donald thinks there is no non-infringing use of the driver porting kit, and I disagree.


  • I am attaching this to a top-level posting so that people will see it.

    Here is the relevant part of the GPL:

    However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.

    In my opinion, and I'm not an attorney, this means that you must distribute the driver source, but not the source to Solaris.



  • There is an exception in the GPL for the headers and libraries and other proprietary things that come with your compiler and OS. It was intended so that it would be legal to run Emacs on Sun way back before there was a free OS. IMO it applies to the entire compiler and OS and components that are normally distributed with it.

    At most, Sun would have to GPL the driver porting kit. However, they need not distribute the source to their operating system under the GPL.


  • That's OK.

    The intent of the exception was so that people could run Emacs on SunOS before there was a free OS. Now, we have free OS and the exception applies to OS code too, things that provide services to the proprietary operating system rather than just using the operating system's services. IMO that's not what was intended, and when I contacted Richard he said he'd get it fixed in GPL 3. I took that as agreement that it wasn't what he intended.



  • Well, the exception to the GPL was meant for a day when there was no free OS, so that free software could be built and run, specificaly on SunOS which was the dominant platform of the time. That isn't the case any longer, and in previous discussion with RMS he said that he would not have written that exception had there been a free OS at the time. The whole point of the GPL is to keep software free, not let someone link free software with proprietary stuff.



  • They can avoid distributing solaris source because the GPL explicitly provides this exception:

    However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.



  • But you forget the exception:

    However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.

    That means they must distribute the driver source, but not the Solaris source.


  • 1. Sun must distribute driver source for GPL drivers. I don't know if they have ever failed to do this but they must do it.

    2. Donald feels that the driver porting kit has no non-infringing use. I disagree, stating the GPL exception that I've reproduced above. Donald thinks that applies only to user-mode software. I think that is the intent, but that's not how the GPL is written.

    I hope that makes it clearer.


  • Hm. This is a pretty complicated issue and you're a little confused about it already.

    Distribution of Linux drivers without source is a separate issue due to an exception that Linus makes to the GPL for that case. See the license that comes with the kernel.

    Distribution of drivers without source that are linked into a GPL operating system would indeed be a violation of the current GPL version 2, for any OS that doesn't have the same sort of exception to the GPL as the one Linus wrote for Linux.

    The question is: when you link a Linux driver into an operating system, is the result a derived work of both components? If so, the GPL can restrict that linking under copyright law. If not, you'd have to fall back on contract law, which the GPL currently does not do.

    The intent is not to restrict distributing GPLed user-mode programs that run on other operating systems. However, one need not allow every sort of creation of derivative work, for example copying Linux device drivers into proprietary operating systems.


  • The GPL tries to limit linking based on the assertion that linking creates a derivitave work, and you can limit derivitave works within a copyright permission.

    Another avenue, which the GPL doesn't try to use, is contract law. You can require an exchange of rights in a contract that would cover linking.

    Why a double-standard? It's the way it's used. The GPL restrictions work to keep software free. Most people's restrictions work to do the exact opposite.



  • by Bruce Perens ( 3872 ) <bruce@perens.com> on Friday September 15, 2000 @12:34PM (#776453) Homepage Journal
    Has this assertian ever been tested in court?

    Not well. The only case was Nintendo vs. Goloob games. Goloob made some device that gave you special powers, invulnerability, etc. in Nintendo games. Nintendo asserted that Goloob's device created a derived work. The opinion in this case was not conclusive.

    Let me ask this: If I have a program that makes a call to, e.g. execlp("someprogram", {"someprogram", "filename"}); Does that make my program a derivative of someprogram?

    No. And that is a problem where the GPL is concerned because with CORBA you can server-ize any program and use that to circumvent the GPL. It is argued that this might not stand because you could show a court that server-izing was a device explicitly used to circumvent the copyright.

    Regarding whether or not MS holds a copyright on every program that links agains MS libraries, they do something even worse. They don't license those libraries and their own executables for use on an operating system that is not a Microsoft product.

    My goal is to keep free software free. If it turns out that all of the free software I write is used as a subroutine library for any proprietary software that cares to pick it up, what incentive would I have to write free software?



  • by Bruce Perens ( 3872 ) <bruce@perens.com> on Friday September 15, 2000 @08:57AM (#776454) Homepage Journal
    The GPL makes an exception in the case of components that are normaly distributed with the OS and compiler, as long as the GPL component is not distributed with them. The exception was intended to allow people to run Emacs on the Sun, long ago before there was a Free OS. It (in my opinion, and I'm not an attorney) unfortunately does not distinguish between executables and drivers sufficiently to disallow it from being applied to drivers. That means that you can use GPL drivers with any OS as long as you follow the GPL requriements and distribute the source code for the driver, and you don't distribute the driver with the OS (thus the run-time loading). Sorry, but that's the case as far as I can tell. I don't have to like it, but we in the free software community should honor agreements as they are written, not as they were intended but we didn't fully write down our intent. I wrote RMS about this problem and he said he'd fix it in GPL 3.



  • Well, the reporter didn't write down everything I said. Sun must indeed ship source for the drivers. The point is that they may use GPL drivers on Solaris without distributing Solaris source. They can integrate the entire Linux TCP/IP stack if they want, which might be interesting in the case of IPV6. Stallman said he'd fix this in GPL version 3.



  • Nobody here is suggesting that Sun's tool should be illegal.

    A very very big difference from the RIAA's opinion!

  • by Old Man Kensey ( 5209 ) on Friday September 15, 2000 @09:06AM (#776458) Homepage
    What seems to have people up in arms is that Sun has (essentially) written a cross-compiler that takes Linux/Intel source and produces output for Solaris/Sparc.

    What's the problem here?

    Is it that the binary might or might not have new code in it introduced by the compiler? If that's the case, the same could be said if, say, Metrowerks distributed the source for these drivers with its compiler. Essentially the GPL under this interpretation forbids shipping binaries of GPL'ed code compiled with a non-GPL compiler. Also, it would mean that any code compiled with a GPL'ed compiler would become GPL'ed if the compiler introduced any foreign code (I don't know if gcc does or not).

    I don't think this is a huge concern anyway. The compiler can't pull but so many "dirty tricks" simply because it can't know what the code is supposed to ultimately do. And compilers work at such a low level that the question of what is or isn't "foreign" code with respect to a given set of source is non-trivial, especially with an optimizing compiler.

    Is the concern over the fact that Sun isn't shipping the driver source with the driver binaries? Assuming that this is the only concern, does anyone really care? Unless they've changed the source, does it matter to me whether I get the source for tulip.o from Sun or from Donald Becker? More specifically, if I put tulip.o binaries on my FTP site as a convenience for my user-group, am I obligated to distribute tulip.c myself? Is it not enough to say "get the source from the author?" Under a particularly strict reading of the GPL, it would be unacceptable to have tulip.c and tulip.o in the same directory as separate files -- they would have to be zipped together so as to be sure that Section 3 of the GPL could not be breached inadvertently.

    Or is Becker just throwing a tantrum because he doesn't like seeing his work used for something outside the scope of his intent (to write a Linux driver)? This is, I hope, a remote possibility, because in itself that attitude defeats the whole point of the GPL, but one that occurs to me to toss out.

  • The software doesn't commit the violation, users that use it do.
    Just like Napster, DeCSS, etc.
    Its just a tool. lets be consistent here.
    The software can be used for legitimate means.

    Yes and No, Sun is _DISTRIBUTING_ a binary program for Linux. They do not provide the source. You take that binary run it through their thingamujig and it pops out an x86 solaris binary.The problem is not with the thingamujig, it is with _DISTRIBUTING_ a Linux binary.

    But I could be wrong :)

  • Section 5 of the GPL makes it clear to me that it is a copyright statement that may be read as an offered agreement. The GPL would therefore depend for enforcement upon copyright law.

    I am interested in this because I am in the process drafting a proposed new Artistic license that has a similar structure. (Albeit more clearly separated out.) The current license is...well let us not discuss that in public. :-)

  • This week I noticed that Perl had two BSD copyrights with the advertising clause. (Take a look at the C code SDBM_File is based on.) Until July 1999 when that was dropped, Perl was in violation.

    Accidents happen.

  • Perhaps it'll end in court, where its validity will finally be proven or disproven. Either way, the GPL will become stronger: if valid, by virtue of precedent; if invalid, by virtue of being rewritten to become stronger.

    Shame it had to be Sun, though. I always expected some company with a history of backstabbing, money-grubbing bastardry to do it first. Microsoft, for instance.

  • by c ( 8461 ) <beauregardcp@gmail.com> on Friday September 15, 2000 @08:02AM (#776469)
    The problem is that Sun's been tooting their horn quite a bit recently about being part of this free software/open source _community_. People who don't play nice with their neighbours tend to get ostracized from communities surprisingly quickly. I expect that the GNOME Foundation will crucify them over this, for example. I also wouldn't be surprised if Don throws an anti-Sun clause in the next release of any of his drivers.

    It might be legal, fair, or whatever, but unless it's nice they chances of success in the long run are pretty low.

  • But Becker knows one thing - he wants Sun to stop peddling the kit, which he says includes "explicit instructions on taking a copyrighted work and converting it to unlicensed use with the Solaris operating system."

    So, it's illegal to distribute instructions on how to bypass copyright protection? I suppose Sun will claim they were only trying to use Becker's code on the Solaris operation system, but we all know their real intent was piracy.

    We may not like it, but those "instructions" are free speech.

  • by GoRK ( 10018 ) on Friday September 15, 2000 @10:53AM (#776474) Homepage Journal
    You know something? Assume the following happened and imagine the "community response."

    Imagine that someone produces a tool that somehow modified VXD and WDM drivers intended for Windows so that they could drive all that hardware on Linux. Do you think people are really going to say:

    "Well... since the Microsoft license agreement to driver developers licenses drivers only for use with the Windows kernel we can't use this tool."

    Or do you think that they would just say "Fuck the man mirror it with your copy of DeCSS?"

    Funny how the "opensource/freedom of information" mob feels no remorse in flagrantly violating choice laws yet comes crying back with this "oh please save us IP law" when they so much as get brushed against by a large company.

    Why should anyone care if I can load linux drivers into my Solaris, BSDi, Win32, MacOS kernel? Oooh you're going to lose your precious market share? What happened to producing the best work you could?

  • We are not talking about source, we are talking about a binary created from a binary created from GPLed sourcecode.

    Are we? Is Sun's tool actually patching or modifying a binary made from GPLed source, or is it a cross-compiler of sorts, substituting in proprietary libraries for GPLed libraries? The article doesn't make it clear -- and I think that'd be the real heart of the matter. If the drivers are binaries, the yes, Sun should deliver the source code for the GPLed ones. If the drivers are source and being compiled for use with Solaris, well they're okay so long as...

    It is in violation of the GPL to use GPLed code in your proprietary application.

    No, it's a violation to distribute GPLed code in your proprietary application.

    Section 0 of the General Public License, version 2 [gnu.org]:

    0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".

    [Emphasis mine] Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the
    Whether that is true depends on what the Program does.

    Jay (=
  • I doubt this problem can be fixed. The entire premise of the GPL is that a derived work can be subject to its restrictions. Yes, a Linux driver that was converted to Solaris-x86 form is clearly a derived work and subject to the GPL if the original driver was.

    The problem I see is that the Solaris operating system has a device driver interface that was developed completely independently of any GPL'd code, which means it's not a derived work. If the driver is linked with the Solaris kernel and distributed, that might be derived work, although it's not 100% clear. Even assuming that a statically-linked kernel is a derived work, it's pretty tenuous to claim that the in-memory copy of a Solaris kernel is a derived work by virtue of having dynamically loaded a GPL'd driver. Moreover, it doesn't matter since that "derived work" (if it can be considered such) is never distributed! The GPL doesn't forbid combinations with proprietary code; it forbids distributing such combinations.

    I'm afraid there may be no way to fix this without adding usage restrictions to the GPL, which might be against the spirit of itself! I think the exemption for components distributed with the OS is a red herring here. This problem is more fundamental and intractable.
  • "...anyone using its kit is responsible for ensuring that how they're used doesn't violate licenses, and that's not Sun's problem"

    Isn't this the same logic weapons and drug dealers use?

    Yes, it is. And it is good logic, and morally justified. If I sell you a spoon, it's not my fault if you gouge your sister's eye out with it. If I sell you a computer that has a "cp" command, it's not my problem that you might use it for piracy.

  • You comparison to the Ford/Firestone situation is strange. Are you suggesting that Sun's tool can sometimes fail, thereby causing the user to involuntarily violate the GPL?

  • by Mike Schiraldi ( 18296 ) on Friday September 15, 2000 @07:51AM (#776489) Homepage Journal
    Sun is ... saying "It says that anyone using its kit is responsible for ensuring that how it's used doesn't violate licenses, and that's not Sun's problem."

    When i first read that, i didn't realize that the quote was from the author of the article -- i was shocked, thinking a Sun spokesperson said that.

    CmdrTaco: You really should have edited that submission to make it more clear.
  • whether they are wholly spiritual but exclusive (so maybe one on the head of a pin), or if they can kind of overlap (infinite angels on the head of a pin?

    It depends on whether they're fermions or bosons.

    No, no, no. It ain't ME babe,
    It ain't ME you're looking for.
  • by AJWM ( 19027 ) on Friday September 15, 2000 @09:22AM (#776495) Homepage
    Now, it's been a long time since I had to build drivers into a Sun operating system (so long that it was probably SunOS rather than Solaris), but AFAIK it does not support dynamic loading of driver modules the way Linux does. (And even if it does, that could be argued as irrelevant -- it's a matter of dynamic vs static linking.)

    Now, if Becker's drivers were released under the LGPL, which explicitly allows linking with proprietary code, this would be a non-issue. However, the general intent of the GPL is to not allow such linking, static or dynamic -- although the latter has been argued as insufficiently made clear in the GPL. And there's the problem.

    If the drivers are statically linked into a Solaris kernel, then that's pretty clearly a GPL violation. If dynamically loaded, then it may be as Bruce Perens states, violating the spirit of the GPL (vs LGPL). Whether it also violates the letter of the GPL may end up being up to a judge to decide.

    No, no, no. It ain't ME babe,
    It ain't ME you're looking for.
  • This isn't about not distributing source. It is about using GPL'ed software linked with proprietary code, in this case, the Solaris kernel.

    You people who are always complaining about the viral properties of the GPL should be rejoicing, I believe.
  • According to GPL, sun can ship a cross compiler, and let you cross-compile your drivers (including automatic conversion/porting, if such a thing exists) from gpl source and then load them into solaris kernel as modules. So what? This is NO PROBLEM! As long as Sun, or others, aren't shipping the cross-compiled binaries without doing diligence to providing source.. that's fine.
  • What I don't see is how SOlaris + some GPL drivers makes Solaris a 'derivitave work' from the original drivers..
    The driver source are all GPL'd separately, no?
  • I think I understand now. The 'loophole' is that they can ship solaris with all linux's network drivers, providing driver source but not solaris source.

    Some (not I) view this as wrong.

    There is a clause in the GPL stating that those components that are commonly distributed with the OS do not need to be GPL. (ie: SGI libc, MS Windows everything, etc.).
    They are simply applying this clause to the kernel itself.
    I don't see the 'loophole' either. Seems pretty plain as day a-o-k by the GPL.

  • The software doesn't commit the violation, users that use it do.

    Just like Napster, DeCSS, etc.

    Its just a tool. lets be consistent here.

    The software can be used for legitimate means.


  • I read the summary (which is a maelstrom of bad grammar and phrasing), I read the link (which is almost entirely content-free) and I still don't understand what the hole is supposed to be.

    Are Becker's drivers GPL'd?
    Did Sun distribute binary versions of those drivers (or derivations thereof) without making source available?

    If the answer to either is "no" there is no problem. If the answer to both is "yes" Sun has a legal issue. I still don't see a hole.
    Linux MAPI Server!
  • No, this is a test of the IP schills on /.

    Apparently it is also a test of 8th grade comprehension, which many people are failing.

    Sun has a tool. It converts Linux x86 driver binaries to Solaris x86 driver binaries. This is not a violation of the GPL.

    Sun has shipped, as an example of how to use the tool, two of Becker's drivers, which are GPLed. They have not included the source.

    Bruce Perens claims this is a flaw in the GPL. It is certainly against the spirit of the GPL, and until today I would have firmly stated that was a violation.

    As someone mentioned above, this is the equivalent of Napster including a Metallica mp3 and a Dr. Dre mp3 as examples of how to use their software.

  • This is ridiculous, though - if I'm reading you right, Bruce, GPL3 would prevent the distribution of binaries of GPL'ed programs for non-GPL'ed operating systems. Not only that, but by the logic being argued in this thread, it would become illegal to distribute any driver binaries even for Linux without distributing the source along with it.

    I hope I'm misinterpreting your position here, but this is where the "GPL uber alles" thinking leads us.
  • it's overpriced for what you get, especially considering alot of their hardware is just rebranded (esp media drives).

    Well, that pretty much lets out everyone but IBM, since they are the only computer company I know of that also makes disk mechanisms! (I think even HP has finally given up, and DEC/Compaq stopped some time ago.)

    Some people here find it fasionable to bash Sun - I've been both a buyer and a seller of their gear, and generally (with a few exceptions) you get what you pay for.

  • The scary thing, as I wrote to Bruce above, is that the proposed "fix", GPL3, would have to also prevent the legal distribution of binaries for any operating system (including BSD) distributed under a non-GPL-compatible license. It might even prevent the distribution of binaries without source in all cases.

    That, to me, is far scarier than anything Sun *could* do. I'm afraid we are apporaching a point where the GPL may well be the biggest single threat to the contined success of open source software...

    There is on harm, and no foul here! Any efforts to make the GPL viral to yet another layer of abstraction will surely result in the whole silly thing being judged unenforceable in court - is that what the FSF really wants?
  • So the question that needs to be addressed is: are binary files created from GPL code subject to the same restrictions as the source code? So it's not the source code, and it's not even the binary created from the source code - it's the binary created from the binary, and the violation is not releasing the source to the operating system that uses it.

    Difficult question.

    No, it's not difficult at all. Despite what Stallman wants, there must be some limit to the "viral conatmination" of a piece of GPL'ed code. To argue otherwise quite simply reduces to the absurd position that "Free" software and commercial software are forever separated by a chasm which can never be crossed in either direction, possibly to the extent that GPL'ed software can only be run on a GPL'ed OS.

    It's funny how the "Free" licenses are in reality more restrictive than the "non-Free" licenses, isn't it?
  • But remember, Becker doesn't "own" his code anymore - he GPL'ed it. It appears waht he really wants is a new restriction in the GPL that prevents anyone from using his GPL'ed code without his permission, even if they're not breaking the GPL. Somehow I missed that part in the license, mostly because it's not there (yet.)

    Guys, lighten up or you'll wind up living down to that Gnazi epithet...
  • by Marillion ( 33728 ) <.moc.liamg. .ta. .sedrabcire.> on Friday September 15, 2000 @08:00AM (#776518)
    Hey look, it's not like anyone (Sun) is hiding the source code. The main principal behind GPL is that no one can horde the source code -- ever. The Sun binary is just a transliteration of the Linux binary. The original source code for any of those driver binaries can be found thousands of sites all across the 'Net.
    Sun isn't changing the source code much less adding any features to the source code. Changes like that would have to be distributed.
    I don't think this is a hole in anything.
    The only thing Sun must do, in my mind, is include a few URL pointers to driver source.
  • I guess the Sun kit is like Napster or DeCSS - it doesn't actually break any copyright or licence itself - it just enables the user to to it (i.e. to create a binary only derivation of a GPL'd work).
  • Shame it had to be Sun, though. I always expected some company with a history of backstabbing, money-grubbing bastardry to do it first.
    And Sun doesn't fit that description because...?
  • Anyone else notice that the author of this article seems enthralled with Bruce Perens? I wish people would stop referring to big names in the Free and Open Source movements as 'demigods' or anything like that. We built this movement, we are the people writing the code, some of us have ended up better known, it doesn't make them more than mortals.

    Anyway, I'd like to point out that two important perspectives were missing from the article. First, why didn't the author contact the author of the GPL for a comment?? I mean, it's not like RMS is tough to get in touch with. Also, there are well-known lawyers who have expertise in the GPL. Given that the author said this is a legal question, shouldn't he have talked to an expert??

    Oh well, I guess quotes from a demigod of Open Source (not Free Software, which the GPL enforces) and the author is enough for that journalist. C'est la vie.
  • What is the problem here anyway? It sounds like Sun has just made a good cross-compiler that takes Linux sources and spits out Solaris binaries. How does this violate the GPL? They aren't modifying the source code right?

    The problem is that they apparently distributed the software with "example" drivers. And the author cried "foul".
    A bit like if Napster had supplied some Metalica mp3's with their software.
  • From the article: "Sun's controversial little kit takes open source Linux drivers and converts them into Solaris binaries. "

    OK, here's the deal: The kit itself is just a piece of software - it no more "encourages" licens violations than GCC does. But any product of the kit was originally made from some code. Chances are, that code was under copyright and license. So, distributing the modified binary is distributing a derivative work - this is only allowed under the terms of the license the original code was under (in this case, the GPL). So, Sun must distribute the source to Becker's drivers if it distributes binaries of them (for any system).

    -Dave Turner.
  • by _Sprocket_ ( 42527 ) on Friday September 15, 2000 @08:48AM (#776530)
    This is the napster to kernel drivers, the Xerox machine to books. Remember, it's not Napster's problem that users violate copyright with the service. Nor is it Xerox's probolem that people photocopy copyrighted works on machines.
    Napster doesn't come packages with a Metallica MP3 file to demonstrate how to distribute MP3s. Xerox machines don't include a photocopied Webster's dictionary so the purchaser can see how to duplicate a book.

    Sure, if SUN was just providing the (what appears to be) compiler then there would be no issue. If they included the source code to the GPL code they ship as example binaries, there would be no issue. In that case it would be simular to Napster distrubuting an MP3 with permission of the artist or Xerox buying dictionaries to include with their photocopier.

  • drivers this and drivers that. What's the big deal?

    D. Rivers is my name. Don't wear it out.
  • As far as i can see this tool violates the GPL as gcc violates the GPL by targeting executables to various ISA. These tools inform the compatibility of thier apps between Linux and Solaris. The score tool I think converts all the system calls and library routines from linux to Solaris, atleast asmuch as it can. And tells you about stuff that is incompatible.

    Am I violating the GPL if look at a piece of GPL C code and translate it bug for bug to PASCAL compile a binary and only distribute it? I think the license applys to the original code and not a derivative of the code.

    from the Solaris Developer Connection website.

    Solaris--Linux Compatibility Tools
    June 21, 1999
    Score--Application Compatibility
    The score utility analyzes C and C++ source files to determine what needs to be done to make them compatible with Solaris.

    Score provides a quick way to estimate the total effort required, and to identify the compatibility issues in your source files.

    Score enables developers to print various reports, depending on the options given. These reports can either estimate the effort required, or give detailed information about the specific changes needed.
    How Score Works
    The score tool works by parsing C/C++ source code files. In the process, score identifies all function calls and looks them up in an issue database.

    Solaris--Linux Compatibility Tools
    June 21, 1999
    Scriptran - Script Compatibility
    The scriptran utility scans your shell scripts and reports any compatibility issues caused by differences between Linux and Solaris.

    Passing shell scripts through the scriptran filter will identify most issues.

    How scriptran Works
    Scriptran scans Bourne shell scripts looking for calls to system commands. Each command is checked for the following conditions:

    Command is unavailable on Solaris.

    Command is in a different location and the location is not in the user's path.

    Command uses a flag which does not exist on Solaris.

    Command uses a flag which has different functionality on Solaris than Linux.

    Output of a command is different and is redirected.

  • If a Solaris device driver is released with Linux/x86 source, its a violation. They must release the source to the Solaris driver bits, which they don't have when they use this, because it only converts the binary.
    Actually, I would dispute this - a compiler is a tool which takes a specially formatted input file (C sourcecode for example) and outputs linkable output. If this SUN tool takes specially formatted input (the published binaries) and outputs runnable code, then the published binaries ARE the source. any variant of the GPL that states explicitly the source must be C in human readable form would be one I am not familar with; one that insisted that any GPLed source was compiled ONLY with a open source compiler would be discarded as unworkable.
    Yes, SUN could have written a compiler that takes C source and compiles it; that it takes Binaries and recompiles them is actually an *ad*vantage, as it allows closed source drivers to be converted as well. I am sorry, but I just can't see what the fuss is about.
  • First let me say that I agree with other people's comments that this is just a cross compiler.

    Also it is intersting to note the simlarities between Sun's argument and Napster's argument. They both "encurage" people to violate copyrights but niether takes responcibility for it. I think the reason we (myself incuded) reacted initialy to the sun news the way we did is because we like free music and we dont like binary only drivers.

    Sun has been one of the better companies when it comes to open source software. It would be nice if the porting kit gave the intermediate source code but I dont think this kit violates the letter or the spirit of the GPL.
  • It is my understanding that Sun is not distributing binaries of GPL software, only a program that makes binaries. Correct me if this is not the case.

    If, however, it is the case, then I fail to see how this is a failing of the GPL. The GPL does not (and should not) restrict use, only distribution. If someone compiles their Linux drivers for Solaris, that should be perfectly OK as long as it is not distributed.

    If, on the other hand, they are distributing binaries, then give 'em hell.
  • What's `wrong' is that the GPL virus isn't infecting the host: Sun isn't
    forced to release the current version of Solaris under the GPL. That
    upsets people who think that free software should be unable to benefit
    users of proprietary products.
  • Use the BSD license. At least then you don't have to sue them over it.

    Just kidding ;) Actually, I'm surprised this hasn't happened sooner. The GPL isn't exactly a bullet-proof license, and as it gets more popular, events like this are going to become more common.
  • ... does not exist, from the sounds of it.

    I haven't seen the actual kit, but the way it's described in the article, it contains no binaries of GPL code. All it has is a 'processor', something on a level with, say, Pascal to C converters, except this one converts between system calls and kernel hooks rather than languages. It also contains the code of two GPL'd drivers written by Becker.

    All of this is fine. Users can then take this, plus the code for Linux drivers, and create binaries they can use with their Solaris x86. This is also perfectly within the GPL. The only problem is if someone starts distributing one of those binaries without the source code to it.

    Not Sun's problem. I mean, saying that this is `inviting infringement of the GPL' is like saying that a compiler does the same, because it allows the creation of binaries. Is my editor also inviting infringement, since I can create derivative works of GPL code, compile them, and distribute them without code?
  • ...for people who use its product illegally. Regardless on what side one takes on the "information wants to be free" debate (or "lunacy," depending on one's point of view), it's clear that the facilitating party shouldn't be held responsible.

    Sun may not be playing nicely, but it's certainly fair.
  • The GPL needs an exploitable elastic clause added in which would go something like "all users and distributors of GPL software agree to take all actions necessary to agree with the spirit of the GPL license."

    Just like in the Constitution.
  • But he doesn't tell us how it turned out! This is the kind of religious trivia that is extremely amusing. "How many angels can dance on the head of a pin?" "Is the blood of Christ itself God?" Questions that seem stupid at first, but their underpinnings are great examples of metaphysical insight; ie, the angels question revolves around whether angels (and thus, perhaps, God) have a body somewhere and take up space (none on the head of a pin), whether they are wholly spiritual but exclusive (so maybe one on the head of a pin), or if they can kind of overlap (infinite angels on the head of a pin?). I don't want to have to track down the guy's thesis to find out how it resolved!
  • Hmm. Someone has probably mentioned this while I was away reading the article :), but the real issue is that Sun's package compiles linux drivers into Solaris binaries [OT: if there wasn't the licensing issue, I would say 'nice hack'].

    SO, it seems like it really should be the responsibility of the tool's users - who actually do the compiling of GPL code into Solaris binaries - to distribute driver source in their product. Which is their only legal obligation, right?

    Here's the part that got me: "Neither Perens nor Becker has suggested how the GPL could, or should, be changed. But Becker knows one thing - he wants Sun to stop peddling the kit, which he says includes 'explicit instructions on taking a copyrighted work and converting it to unlicensed use with the Solaris operating system.' "

    Um... how? Does the Sun package say "Okay, now that you've compiled your drivers, zip them up real quick without source and rush it out the door! That'd be weird. Maybe just to play friendly, Sun could include a clause in their instructions about how to keep the output LEGAL under the GPL. Or am I missing the point? It seems like this is the real issue; Sun made a product that's legal, but not nice. Would it kill them to be nice, too?

  • by EyesOfNostradamus ( 75825 ) on Friday September 15, 2000 @08:12AM (#776563) Homepage
    > Sun's controversial little kit takes open source Linux drivers and converts them into Solaris binaries.

    To me this sounds like the definition of a compiler. Ok, so maybe it does a bunch of additional magic to convert the API's, but nothing to get our panties in a knot over.

    Sure, an unscrupulous party could use this to "compile" an open source Linux driver into a Solaris binary, and "forget" to ship the source with it, but the same is true for any compiler. So what's the problem with this? If we attack Sun for this, we should also surrender to the MPAA, because admittedly DeCSS could be used for infringment.

    > To his surprise, the kit used the Linux eepro100 and Tulip network drivers as examples. Becker wrote those drivers. Sun never asked his permission to convert them to Solaris binaries.

    Again, what's the problem? That's just as if an application developer complainted that sb compiled his app for an Alpha, whereas he had developped it on an Intel. Nobody does the GPL say (or intend) that applications should only be run on the platform that they were developped for. If that was the case, we would be hypocrites for denying the MPAA the right to restrict their movies to the Windows platform (or to a given regions).

    > Now Perens has ruled, or should one say opined, that Sun is perfectly within its legal rights -

    ... and I'd say, they're within their moral rights too.

  • the author of the linked story compared the argument to the religious battles in the 15th century between the Dominicans and Franciscans?

    well, it amused me.

    on-topic...yea, Sun shouldn't do this. bad sun. whatever...(sorry, I got distracted by the fact that he was waiting for two years to be able to use what he wrote his master's thesis. poor guy, heh)

  • The article only mentions that the drivers are packaged along as examples. If they're using them as examples of how the conversion kit works, I suspect they are including both the binaries and the original source code.

    If true, would that violate the GPL?

    This seems more of the issue than whether or not distributing a program that allows for potentially illegal action violates the GPL.

  • Which way is it going to be?

    Option 1: Copyright should be sufficiently strong that copyright holders can put heavy restrictions on how their property can be used, such as refusing to allow code to be run on non-free operating systems, or, the moral equivalent, Microsoft's EULA forbidding using it under WINE. The two are very similar. If one is justified, then so is the other.

    Option 2: Copyright should only allow control over distribution and whether and under what circumstances a derived work can be made. That means disagreeing with RMS that calling a library can violate a license. It also means that circumvention devices like DeCSS should be legal.

    Take your pick of the positions, but at least be consistent.

    All Sun would have to do to make this unquestionably in the same position as WINE would be to move the functionality from a kit into part of the module loader for the kernel. If Solaris can use drivers built for Linux, where is the derived work? Point to it, show where it is distributed.
  • by dirk ( 87083 ) <dirk@one.net> on Friday September 15, 2000 @08:08AM (#776580) Homepage
    So, how fair is Slashdot. IS this a case of a tool that can be used for illegal (or immoral in this case, at it has been shown to be legal), but can also be used for legal (and moral) activities and should be left alone? OR will everyone get up in arms because this isn't against the RIAA ir MPAA or Microsoft, but against the beloved GPL. They aren't resonsible for how their software is used, that's the user's job. They have no control over it. And they have no legal obligation to limit it's used to things that everyone else deems okay. This tool has to stay on the market, because it can be (and actually is) used for legal purposes.
  • "... up to this moment in time there were only a handful of people now alive able to recall the controversy that stymied Pius' crusade ... "

    Damn, those guys are old!

    -- Bandannaman

  • I just realized that I forgot to include, in my previous post, and explanation of why I'm discussing linking in the context of this story. The reason is that the poster before me, and I also see Bruce Perens posted in another thread, stated that the GPL violation comes from the fact that you end up linking GPL'ed code (the driver module) with the Solaris x86 kernel which is not GPL'ed. The GPL makes this assertion (I think it's a nasty, and hard to defend legally assertion) that if you link GPL'ed code with something, that something automatically becomes a derivative work. And that is why my previous post is not off-topic. =)
  • Bruce, thanks for responding to my post.

    The GPL tries to limit linking based on the assertion that linking creates a derivitave work, and you can limit derivitave works within a copyright permission.

    Has this assertian ever been tested in court? Again, I'm all for free software (I'm working on a GPL'ed project right now as a matter of fact), but I really don't like the implications of calling software that links to other software a "derivative" work. Sure, it is dependent upon the other software for some of it's functionality, but part of the purpose of libraries is to create a logical division between two pieces of software. My program is my program, and your library is your library, and your library shouldn't be able to put copyright restrictions on my program. From a practical standpoint, if my program is dependent upon your library, I have to have gotten legal permission from you to distribute your library with my program (or the user has to get it independently, ala all the dynamically linked Motif apps out there that I can't use until I get Lesstif [off-topic: actually, the only Motif app I really use is Netscape, so I just get the statically linked version of that ;-) ]).

    Let me ask this: If I have a program that makes a call to, e.g. execlp("someprogram", {"someprogram", "filename"});

    Does that make my program a derivative of someprogram? I should think not. But the FSF plays semantic games and differentiates between calling a program with the exec family of functions and linking against a library. In both cases my code remains distinct from your code (unless you want to count the function names that I use in my code as being derivative of the library, but in that case you are just playing semantic games IMHO). I might sound a little irate here, but it is not anti-free software. I just know that a sword can cut its wielder, and a gun can shoot the one who fires it. I do not want to see a precedent for people who hold copyright on a library to be able to say who can and who can't link against it. You can say who can and can't distribute the library, fine. But I hope that if a case of violation-by-linking ever goes to court, I hope that the GPL loses.

    Please don't hate me for this. I just think giving copyright holders the power to call programs that link against libraries (or in this case modules) "derivative works" is very, very bad. Does microsoft hold copyright on every program that links against the standard windows libraries? Against DirectX? If the win32 versions of GNU software link against any windows libraries (win32 api anyone?), would that give Microsoft copyright to those versions of the GNU software? No, that's absurd, and so is the claim that linking against your library gives you copyright to my work! (Because if my program is a derivative of yours, that automatically gives you a claim to copyright, doesn't it?) The whole point of libraries is that other people are supposed to write programs that use them.

  • by JSBiff ( 87824 ) on Friday September 15, 2000 @09:46AM (#776585) Journal
    I would like to start out with, IANAL!

    Second, I would like to say I love the GPL and do not want to see it legally weakened. That is, in fact, the reason I have thought about this. Because if the GPL makes (what a court deems to be) over-broad claims, that would definitely weaken the GPL. So don't flame me ;-)

    But, I have been thinking for a long time that the GPL's claim to limit who can and can't link to GPL'd code might be tenuous. It is very easy, when I can point to a program and say "that program's source code contains my source code" to say that that code should therefore be GPL'ed. I can argue though, that a program that links to your library doesn't somehow become one program, it merely uses your code, and remains a separate entity that can be distributed under seperate copyrights. I think that one might find that a court might entertain the idea that linking code doesn't make it a derivative program.

    To illustrate, let me argue it this way. Copyright, If I understand it correctly, allows you to specify terms upon which people can obtain a copy of your work, and make copies/derivatives; however, once someone _has_ a copy, I think, you can't really specify how they can use it(there are some exceptions, e.g. public performances, etc; and of course companies try to limit people's usage all the time, so I could be wrong here). So, if I have legally obtained a copy of your source-code, and this source-code is in the form of a library (or module in this case, which is similar), I might (I don't know, IANAL, and as far as I know no court has ever ruled on this) be able to make the case that "my" code (in this case sun's solaris x86 kernel; in the previous sentence, and for a bit following, when I say "my" I am speaking from the hypothetical standpoint of a defendant making a case in a GPL lawsuit) was distributed legally, and that the user got the GPL'ed code legally (assuming the module's/library's source code is included), and that the GPL cannot limit the user from using the two together.

    Let's look at this another way: if a commercial software company said that their library X couldn't be linked against program Y, even though I paid for library X and got it legally, and paid for program Y and got it legally, because company Y hadn't paid a fee to the maker of library X, then we on slashdot would all be crying that this library distributor was making a draconian claim to rights that they didn't have: namely the claim that they could control how I used their software after I had gotten it legally. Why do we apply a double-standard to free-software?

  • by gfxguy ( 98788 ) on Friday September 15, 2000 @09:18AM (#776609)
    I didn't see that at all in the article. If you could, please post where it was.

    This is what I got from the article:

    "... Donald Becker ... however, says nuts to that. It's not a matter of an obliging hole in the GPL for Sun to sidestep through. It's that Sun has released software, namely its Linux-to-Solaris driver porting kit, in gross violation of the GPL.
    So the complaint, as I read it, seems to be that sun has a released a kit (binary only, it would seem), that is somehow in gross violation of the GPL - but I say, not unless the program itself was written with GPLed code and the source isn't being given a way.

    What it does to other binary files outside of that is a moot point.

    Sun's controversial little kit takes open source Linux drivers and converts them into Solaris binaries.
    But does it take the source or the binary? That's the real question. It sounds like it takes the binary...which, itself, should be distributed with the source code. However, I believe the problem is that, given the binary, you can modify it, and release it without the source. I agree that's a problem, and would violate the spirit, if not the letter of the GPL.

    HOWEVER, I didn't see anywhere that SUN itself has actually done that.

    There is this:

    To his surprise, the kit used the Linux eepro100 and Tulip network drivers as examples. Becker wrote those drivers. Sun never asked his permission to convert them to Solaris binaries.
    I still don't see anywhere in the article that said these were distributed without source code, but the complaint seems to be that SUN didn't ask Becker's permission. To which I reply: why should they? Their use of the code doesn't seem to be, in itself, a violation of the GPL or any other moral codes. The code is open source, it's out there ready to be used by anybody, even SUN, or even Microsoft - if you release something under GPL, you need to accept that.

    The problem actually arises, it seems, from SUN linking the GPLed code to their non-GPLed code (as runtime modules). According to GPL, they would have to release the source to Solaris in order to do this (remember the difference between GPL and LGPL, this is GPL we are talking about).

    I guess it's a sticky issue...but I think people are reading this the wrong way, I don't think the issue is even about Becker's source code at all, but that an non-open source operating system is using GPLed (and not LGPLed) drivers.

    So the question that needs to be addressed is: are binary files created from GPL code subject to the same restrictions as the source code? So it's not the source code, and it's not even the binary created from the source code - it's the binary created from the binary, and the violation is not releasing the source to the operating system that uses it.

    Difficult question.

  • by jon_c ( 100593 ) on Friday September 15, 2000 @08:11AM (#776610) Homepage

    Now Perens has ruled, or should one say opined, that Sun is perfectly within its legal rights - not that he particularly likes it. He cites exceptions in the GPL allowing for Sun's ported drivers "as long as the drivers are runtime loading and are not distributed with the kernel."

    Becker argues the exceptions were intended for user-level programs, not drivers that send threads into the kernel.

    "Yes, that is how it was intended, but that's not what it says," Perens replies. In other words, a hole in the license.

    In e-mail exchanges with Becker (provided to us by the participants, not obtained surreptitiously), Perens added that "We both know that the GPL was not intended to allow this use. Unfortunately, the language of the GPL does allow it."

    Neither Perens nor Becker has suggested how the GPL could, or should, be changed. But Becker knows one thing - he wants Sun to stop peddling the kit, which he says includes "explicit instructions on taking a copyrighted work and converting it to unlicensed use with the Solaris operating system."

    It seems the two closest to the issue disagree with you. I don't really understand the whole thing myself. No offence, but I would take these two's word over yours.


  • by ibpooks ( 127372 ) on Friday September 15, 2000 @07:58AM (#776633) Homepage
    C'mon! Wake up!

    This is the napster to kernel drivers, the Xerox machine to books. Remember, it's not Napster's problem that users violate copyright with the service. Nor is it Xerox's probolem that people photocopy copyrighted works on machines. We can have it one way or the other. If it's not Napster's fault, and if it's not Xerox's fault. Then Sun cannot possibly be held accountable for what people do with their software.

    Remember, it is the responisibility of the user to ensure that no copyrighted source code is converted to binary drivers.
  • I think that the problem is quite deep. The question is about the status of a work that is the result of run-time linking a GPL driver with a non-GPL kernel. If run-time linking of the two creates a derived work, the the kernel would then either have to be GPLed or not link with the driver. If run-time linking does not produce a derived work, then there's no violation.

    Now Sun's role is also a bit unclear. It doesn't sound as though they're actually producing run-time linked drivers themselves, just producing a kit that makes it easy for others to do so. That's why there's a claim of contributory infringement- that Sun is basically aiding and abetting others in GPL violations.

    It seems to me that Sun would probably be best of creating a kit that would grab drivers from the free BSDs. They're obviously released under a license that's much friendlier toward this kind of thing, and I'd guess that Solaris's closer kinship to the BSDs might even make it easier.

You've been Berkeley'ed!