12

Background:

I currently stumbled across an interesting case of a combination between a proprietary software and a GPL software, which I am trying to understand: There is the GPL software Blender - a well-known 3D creation software. Then there is a proprietary render engine OctaneRender developed by OTOY. OTOY distributes a modified version of Blender, the "Blender - OctaneRender edition". OTOY claims that this constellation is GPL compatible with the following reasoning:

To conform to GPL rules, the OctaneRender® for Blender® plugin consists of two parts:

  • OctaneServer®
  • The full Blender – OctaneRender edition®

OctaneServer® is the server for getting the TCP/IP render-commands and scene data from the client, rendering the scene, and returning the rendered image to the client.

The Blender – OctaneRender® edition is the special compilation of Blender®, which includes the internal OctaneRender® module. The module collects the Blender® scene data and communicates with the OctaneServer® as the client by sending the data to the server, getting the rendered image from it, and showing that image to you.

Such a way GPL is not violated by OctaneRender® for Blender Plugin: as the source-code of Blender – OctaneRender® edition (which is under GPL) is available for users of the Plugin, and the source-code of Otoy‘s proprietary closed-sourced OctaneServer® does not need to be published, as OctaneServer® is not linked to Blender and works with render-clients through TCP/IP communication.

Interpretation - Agree or Disagree:

Agrees: I understand, that this can be interpreted as GPL compatible in the sense that - using the wording of the Free Software Foundation - both the closed-source OctaneServer and the "Blender - OctaneRender edition" developed by OTOY communicate "at arms length" over a well-known socket / communication protocol. They could, thus, be considered a mere aggregation.

Disagrees: On the other hand, however, both Blender and OctaneServer exchange what could be considered "complex internal data structures": the Blender scene data. (as stated in the quote above). That, in turn, would make them a single, combined work according to Free Software Foundation.

Questions:

  1. Which of my interpretations is correct?

  2. If that constellation is fine, why is OTOY using a completely own Blender version when they could - technically - also just distribute a Blender plugin instead? I know, your answer might be "ask OTOY", but I am interested in: Do you see any legal reasons that would make it more reasonable to modify the complete software instead if using a plugin (which itself, would be a derived work of Blender)?

4
  • 1
    Note that this is nothing special nor new. NVidia's Linux drivers consist(ed) of a GPL'd, open source "shim" that communicates with the proprietary driver module. NDISWrapper was a Linux module that allowed proprietary Windows networking drivers to be loaded into the Linux kernel: NDIS is a standardized API for writing Windows networking drivers, so the driver simply implemented a binary compatible ABI in Linux. An early implementation of NTFS for Linux was implemented by loading the ntfs.sys driver from Windows into the Linux kernel. There were open source GPL patches to GCC that allowed … – Jörg W Mittag Jun 13 at 7:31
  • 1
    … saving intermediate stages of the compilation to files in a standardized format and reading them back, which then allowed proprietary optimizers to read those files, perform optimizations, write back the optimized result, and resume compilation. And so on and so forth. – Jörg W Mittag Jun 13 at 7:32
  • Thanks. But unfortunately, just naming other examples doesn't help too much to understand the details of GPL - and that is, what my question aims at. (Sorry, if I wasn't clear enough about that). However, it would be helpful if you could create a separate answer that explains - with reference to GPL text - why those two are GPL compliant and how that compares to the case I cited. – reg.cs Jun 13 at 14:03
  • 3
    In every single one of those case, there was never a trial, so nobody has ever determined whether or not those case are or are not GPL-compliant. – Jörg W Mittag Jun 13 at 14:31
12

Your question already contains the relevant analysis, and without knowing details about their protocol there's nothing to add here. So this is a case where the software could be compliant, and is not obviously non-compliant. Ultimately, this is not for the FSF or me but for a court to decide. So we'll never know unless and until a Blender copyright holder sues OTOY. Due to the way how the GPL is structured, only copyright holders but not end users have standing to enforce the GPL.

As to why the software is distributed as a bundle rather than a plugin: there's probably no licensing reason for this. However, there might be non-licensing reasons such as ease of installation or lock-in effects desired by the vendor. There could also be technical reasons, e.g. if the necessary integration is not possible using only a plugin.

11
  • Thanks for your input and confirming that both of my interpretations are valid. I will still keep this question as "unanswered" for now to see, if other opinions or insights come in. – reg.cs Jun 12 at 21:25
  • It just occurred to me that you wrote in your answer that we will never know “unless and until a Blender copyright holder sues OTOY”. Isn’t the danger of being sued a bit bigger? Could not actually anybody who gets into possession of the modified Blender version sue OTOY to release their source code of the render engine with the argument that it falls under the GPL? (Just trying to understand what legal consequences their could be and if the outspoken “OK” from the Blender copyright holders would suffice to protect against any law suits in that case) – reg.cs Jun 14 at 9:14
  • 1
    @reg.cs The GPL does not contain a right for end users to receive the source code, but instead requires those who distribute the software in original or modified form to also offer the source code. That ends up having the same effect, except that it's a contract between the copyright holders and those who distribute the software. The end user is not party to this contract, and therefore has no standing to sue. The next generation of copyleft licenses is trying to fix this by explicitly including all recipients as third-party beneficiaries. – amon Jun 14 at 9:35
  • 1
    @reg.cs Yes, there's a GPL between Blender→OTOY and OTOY→End User. But the GPL only imposes conditions on the recipient, not on the licensor. The end user cannot sue if OTOY is violating obligations from the “Blender→OTOY” contract. If a licensee violates the conditions of the license, that's a copyright violation and usually only the copyright holder is entitled to sue for this. – amon Jun 14 at 11:07
  • 1
    I agree that the question of third-party rights is too complex for a comment field, but I'd also recommend a new question, as I do have some useful light to shed, from an excellent legal talk given at FOSDEM a few years back. – MadHatter Jun 16 at 13:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.