No announcement yet.

Interpreted code vs GPL clarification

  • Filter
  • Time
  • Show
Clear All
new posts

  • Interpreted code vs GPL clarification

    My case is pretty much identical to Blender/Blender Game Engine. Blender has got a python api(bpy) which is used to implement plugins and games. Blender source is GPL and Blender is linking against GPL libraries afaik. They have got an exception for scripts, stating that they are not affected by the GPL. Is this actually possible?

    FSF FAQ:
    The interpreted program, to the interpreter, is just data
    when the interpreter is extended to provide “bindings” to other facilities (often, but not necessarily, libraries), the interpreted program is effectively linked to the facilities it uses through these bindings.

    Is an API in an interpreted language something one would call a "binding"? And in general, how can an interpreter affect the license of the code/data it interprets?

    A more extreme example. Lets assume someone wrote a flash interpreter inclusive class libraries using GPL libs. Would that make all flash scripts GPL? Obviously it can not, right?

    I've assumed the FSF would be the instance to ask and contacted them per e-mail, but have got no response. Are there any GPL experts who could eventually clarify this issue?

    PS: Personal pov is appreciated, links to/info from someone with GPL legalese experience are preferred though.
    Last edited by log0; 07-30-2012, 04:58 AM. Reason: add ps

  • #2
    I think the FAQ is trying to say that the same rules apply whether your program is written in a compiled or an interpreted language.


    • #3
      So the same issue might affect compiled code too? Let's say you have got a generic API where one certain implementation is based on GPL code, see Blender or the hypothetic Flash class libraries. In general you can not know how the API is implemented. Would the GPL apply to you if you are linking against the API?


      • #4
        AFAIK it's pretty clear-cut if you statically link against the GPL implementation. Where it gets interesting is when your program dynamically links to the library and there are both GPL and non-GPL implementations of that library which can be used interchangeably... at that point you get into murky "who owns the API ?" questions.

        I don't think anyone is going to argue that the mere existence of a GPL implementation of a pre-existing API "taints" that API, but then again I do get surprised by what people argue some times


        • #5
          I agree. The dynamic linking part looks like a serious GPL exploit imho.


          • #6
            Originally posted by log0 View Post
            I agree. The dynamic linking part looks like a serious GPL exploit imho.
            No, it does not. Because you are not closing the original source down. GPL is geared towards protecting freedom and if you are not preventing it, you are ok.