85

This is a great question and speaks to a lot of confusion about the GPL. The answer is mostly “yes” here, but since the GPL is frequently seen as very scary, it is important to understand why this is allowed. Note that you say two contradictory things in your post, first that you don't actually distribute the software, only its output and the ...


38

Generally yes, the output is not covered by the license. However you say you will redistribute the virtual machine with the pipeline setup. Nope, providing the virtual machine with executable binaries is the distribution of the executable binaries so please source code on the table. Just wrapping the virtual machine around does not change anything.


18

The important thing to know is that they (almost certainly (*)) cannot retroactively change the license of the version that you are using. They can change the license to new versions they release. So, if you want to keep using what you took when it was marked MIT, you are fine. You can even make a fork and invite other like-minded people to enhance and ...


16

The GPL is generally interpreted in a manner that licensing your scripts under the GPL would not be required. The GPLv3 states that you have to license your code under the GPL if it were a “work based on the Program”, which is defined “to copy from or adapt all or part of the work in a fashion requiring copyright permission”. When a copyright violation ...


14

Distributing the Virtual Machine with the GPL-including-Software and not providing the sources (and/or the possibility to download/receive them) along with a GPL License notice is clearly a violation of the GPL itself. Furthermore and if the Virtual Machine is based on a Linux distibution, distributing the Virtual Machine without the GPL'ed sources, i.e.: ...


12

Does using a library already constitute a derivative work, meaning I would not be allowed to do that? Merely using an unmodified library would generally not be considered creating a derivative work but the devils is in the details! For instance, calling a GPL-licensed library may subject the caller to the GPL copyleft. Now the CC-BY-NC-ND is a rare, ...


10

While the position of the FSF about the interpretation of the GPL is clear, a few people have opposed this position. Linus' position that is cited in the OP is, that all combined parts must be meaningless without being part of the combination to form a derivate. Matt Asay compares linking of software to the act of referencing a character, a scene or ...


10

Well, it basically boils down to what is understood as a derivate. A program that dynamically links a library is a derivate in this point of view, because it as a whole delivers the product function to the user. If you remove the library it stops working. A similar situation with plugins that are dynamically loaded and linked - without the original program ...


10

Yes, your program must also be GPL. GPL is quite clear on this matter: if your program links to a GPL library, no matter the type of linking, then your program also comes under the GPL (when you distribute). LGPL adds a dynamic linking exception, but this doesn't apply in your case. With Java it's no different; if your program links with a GPL .jar, it is ...


10

This depends on who you accepted contributions from while the code is under the GPL license. If you didn't accept contributions from others and you are the sole copyright holder, then you can change the license to any license you want once the dependency on the GPL licensed code is removed. If you did accept contributions from others, then those ...


9

There is an exact duplicate of this question here on Programmers.SE. Yes, your understanding is correct. According to GPL, having a program run entirely on a server and accessing its output from a networked client doesn't constitute distribution (or in GPLv3 language, conveyance) to the client. Obviously this seems like a loophole given the philosophical ...


8

This pair of questions (whether dynamic linking creates a derivative or not) is really a false dichotomy. I think Linus Torvalds is spot on when he says (quoted in the question): So "linking" basically has very little to do with "derived" per se. One problem with this false dichotomy it that leads to reasoning that if dynamic linking, does not create a ...


7

Your options here are pin the version of the library you use at the last point where it was licensed as MIT. fork the library at the last MIT-licensed commit Re-license your own project as GPL What you can't do is continue to use the latest GPL'd version of the library and release your project under Apache 2.0 (unless the library is LGPL and you meet the ...


7

Fortunately, this is not a tricky case at all. You are not in any way bound by any terms in the GPL if you are not distributing software that is licensed to you under the GPL. Neither you nor your users are distributing software licensed to them under the GPL. Your users are always free to use free software in any way they like. The GPL doesn't forbid - in ...


6

Absolutely yes. The GPL is very strict on this: any type of (code) linking to a GPL-licensed library is considered derivative and must also come under GPL. In Java, this means a single import statement can change your licensing options. In C#, if you use a GPL library, you must choose the GPL. It's not clear whether this only applies to code or any library ...


6

Be careful. Some uses of a program or library include parts of it in the result. Quite unlikely for a library, but a tool like e.g.bison writes a program that contains pieces of the source. In fact, bison is under GPLv3 with a special exception. Also, a compiler like GCC does something similar, and has also a similar exception to it's license.


6

The Free Software Foundation's FAQ says this: I'd like to modify GPL-covered programs and link them with the portability libraries from Money Guzzler Inc. I cannot distribute the source code for these libraries, so any user who wanted to change these versions would have to obtain those libraries separately. Why doesn't the GPL permit this? (#...


5

Apache 2.0 and all the BSD flavors have no copyleft clause. They allow distribution without sourcecode, so it doesn't matter for them. The MPL Version 1.1 only requires that you make the sourcecode for those parts available which you modified. When there are no modifications you have no obligations to convey any sourcecode. Just make sure that your end-...


5

tl;dr: Some, including the Free Software Foundation (FSF, publishers of the GPL) says no, you can't do this. Others say yes, you can. The FSF considers a work a single program if the parts communicate through function calls. If the software you publish is created to work with this GPL module. If that's the case, then you must publish the entire work under ...


5

A derivative work is a work based on or derived from one or more already existing works. In the arts, common derivative works include translations, musical arrangements, motion picture versions of literary material or plays, art reproductions, abridgments, and condensations of preexisting works. In programming, as well as in the arts, a derivative work is ...


5

The GPL FAQ says: If you statically link against an LGPL'd library, you must also provide your application in an object (not necessarily source) format, so that a user has the opportunity to modify the library and relink the application. It sounds like you already understand this, but you are concerned specifically about the user's ability to "relink the ...


5

Firstly, IANAL/IANYL, and the question of what makes a derivative work in law is still very much an open one. That said, you are right that the FSF explicitly permits the use of more relaxed (compatible) licences on your contributions to a GPLed codebase. You are also correct that the GPL requires that the derivative codebase be covered by the GPL in its ...


4

The page from the University of Washington's School of Law goes on to say Typical object oriented programming languages include a standard class hierarchy. This hierarchy provides a framework within which application developers can build their programs. The standard classes typically provide useful classes that represent user interface elements (e....


4

You should be able to publish your source code under the GPL plus instructions for the users themselves to obtain the non-GPL work independently and compile the software themselves. This works because the GPL imposes no restrictions on using works that are not distributed. If your users create the linked program themselves then they have a work they cannot ...


4

No, you do not need to change the license of your dll and you do not need to publish any source code. In contrast to a strong copyleft, non-permissive license like the GPL the BSD licenses are instead non-copyleft and permissive. Copyleft basically means that any modifications you make to a piece of copyleft-licensed software have to be released under the ...


4

This is a gray area of sorts: let me first reformulate the question a bit to support my points: Can copyleft-licensed code depend on non-copyleft-licensed code that is using a license that is deemed incompatible with a given copyleft license? Ok, now this new question is much easier to answer! For instance, say I am writing an LGPL library in C/C++ to ...


4

License compatibility is a one-way street. If A-licensed software can link to B-licensed software, this does not imply that linking in the reverse direction is allowed. The LGPL-2.1 has one-way compatibility with the GPL-2+: You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library....


3

I emailed Yoni Rabkin at the Free Software Foundation's licensing centre, this was his reply: This is because the System Libraries exception doesn't refer to the major components, but with the low-level libraries which enable the use of those major components. For example, the System Libraries exception would apply to a library whose sole job is to ...


3

Since I happen to use library and framework under GPL license like Jersey and Grizzly I am wondering should I have to stick with GPL as well? Jersey and Grizzly are not under the GPL. They are under a choice of CDDL or GPL with Classpath exception. See https://jersey.java.net/license.html You can release your own code using any license you please: MIT, ...


3

The existing answer is perhaps not clear enough. A third party cannot force the GPL on you. This is not specific to the GPL. They couldn't force a BSD or closed-source license on you either. Imagine if it was possible. Microsoft would need to create one closed-source program and have the Linux kernel run it, to close down Linux ! And vice versa you could ...


Only top voted, non community-wiki answers of a minimum length are eligible