From: Trans Date: 2007-10-15T02:50:29+09:00 Subject: Re: MIT vs. Ruby/GPL License On Oct 14, 10:00 am, "Terry Poulin" wrote: > I don't think the difference between MIT and GPL License has much purpose in > connection with Ruby ^_^ Let's go license free! Kind of like skinny dipping ;) > As far as licenses go: > > I generally find the ISC, MIT/X and BSD Style licenses (in that order) much > preferable to the GPL. Namely because it does not have much chance to get in > my way. I also don't trust the Free Software Foundation and their GPL not to > screw me over at a later day (e.g. GPL 2 or above; e.t.c.) > > Any one with questions about the GPL should check the FAQ > > http://www.gnu.org/licenses/gpl-faq.html That link helped --well almost. This is what it says on the subject: What is the difference between "mere aggregation" and "combining two modules into one program"? Mere aggregation of two programs means putting them side by side on the same CD-ROM or hard disk. We use this term in the case where they are separate programs, not parts of a single program. In this case, if one of the programs is covered by the GPL, it has no effect on the other program. Combining two modules means connecting them together so that they form a single larger program. If either part is covered by the GPL, the whole combination must also be released under the GPL--if you can't, or won't, do that, you may not combine them. What constitutes combining two parts into one program? This is a legal question, which ultimately judges will decide. We believe that a proper criterion depends both on the mechanism of communication (exec, pipes, rpc, function calls within a shared address space, etc.) and the semantics of the communication (what kinds of information are interchanged). If the modules are included in the same executable file, they are definitely combined in one program. If modules are designed to run linked together in a shared address space, that almost surely means combining them into one program. By contrast, pipes, sockets and command-line arguments are communication mechanisms normally used between two separate programs. So when they are used for communication, the modules normally are separate programs. But if the semantics of the communication are intimate enough, exchanging complex internal data structures, that too could be a basis to consider the two parts as combined into a larger program. Kind of fuzzy. T.