Chad Perrin wrote: > On Mon, Oct 15, 2007 at 06:47:19AM +0900, Charles D Hixson wrote: > >> Chad Perrin wrote: >> >>> On Mon, Oct 15, 2007 at 02:50:29AM +0900, Trans wrote: >>> >>> >>>> Kind of fuzzy. >>>> >>>> >>> My understanding is that a gem distributed under the terms of the GPL >>> then causes the program in which you use it via a `require` statement to >>> be subject to the terms of the GPL as well. This is, for an interpreted >>> >>> >> Kind of fuzzy isn't the half of it! >> >> *It's not that clear. * Ruby programs are typically not distributed as >> compiled works, so each file is separate. You don't distribute the >> complete program, only the pieces that you wrote. The gem comes from >> elsewhere. And the GPL doesn't limit execution of programs, only >> distribution. (Most of the commentary is written from the perspective >> of C programmers, and doesn't necessarily apply to Ruby programs.) >> > > Yes, but . . . it's entirely possible that someone might want to ship a > bundled application. In such a circumstance, you're probably trying to > make things convenient for an end-user that shouldn't have to know > anything about, say, ruby gems. An installer that sticks everything in > place really changes the face of things for you in such a circumstance. > > As I said, "Kind of fuzzy" isn't the half of it. So in the case you're considering, what does the installer do? If it downloads and installs the gem, then you aren't distributing the gem. OTOH, if you include the gem (perhaps to ensure that it's the version that you expect), then you are. It could go either way in different circumstances. Some gems require that the version of the gem match libraries installed on the system, in which case you had really better not be distributing the gem, no matter *what* the license. Some don't. Actually, gems should probably be under the LGPL rather than the GPL for just these reasons...but they may not be. OTOH, if you're distributing the code, why are you using gems, anyway? Just distribute the source, and let your installer handle it. If you distribute the source, you're ALWAYS satisfying the GPL (unless you obfuscate it or something). But that said, there ARE corner cases. It's fractally fuzzy.