Note that there are some explanatory texts on larger screens.

plurals
  1. POWrapping GPL Code in a Service, Kernel Driver or Other License Avoidance Mechanism
    primarykey
    data
    text
    <p>Regarding the following excerpt of <a href="https://stackoverflow.com/questions/247389/please-help-me-understand-the-specifics-of-the-gpl#247428">this comment</a>:</p> <blockquote> <p>AFAIK, it's fine to interact with GPL code over a network adapter. It's not normally OK (again, AFAIK) to have code that's more tightly coupled than that, particularly if your code can't function without the GPL code, but that's a gray area.</p> </blockquote> <p>So if I want to use a graphics library that's GPL (and not LGPL), could I decide to make it part of a graphics service available on a linux computer as long as I release my code that implements this service with this library?</p> <p>Say the library implements SVG, and I decide I want to do all of my screen drawing in vector graphics with SVG. Rather then rolling SVG into my several apps (and thus opening their source code), I create a service (or kernel driver even) that listens on a socket (or implements a graphics device) which takes SVG data and renders it to the screen using the library. I release the service/kernel driver code as per the library's GPL. I do not release code for any of my programs that use that service or kernel driver. I publish the API for the service/kernel driver so others can implement it, replace it, and still run my binaries with a different service/driver, or develop reflectors, etc.</p> <ul> <li>Am I violating the legal clauses of GPL</li> <li>Am I violating the spirit of the GPL</li> </ul> <p>I'm certain others have thought about this - has it occurred, and what was the community reaction?</p> <p>-Adam</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload