IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New While we're on the GPL
I'd like an opinion here.

I'm working on a rather largish project that makes use of much code from different licenses. One hunk of code is a half finished program that has core functionality I need. I don't need the whole program - just part of it. And the program is itself GPL'd. (For the interested - the software is transmogrify - a Java source code refactoring library - it uses ANTLR, a parser generator which has a totally non-restrictive license, than adds symbol table resolution onto it and provides UI hooks into a couple popular IDE's to provide code refactoring editing - I only need the symbol table generation). This package is being mixed with BeanShell - a totally free (non GPL) java interpreter, and some code we've developed in house to provide a rules based code rewriter used to convert code from one api to another.

The code rewriter is but a small module in a rather extensive J2EE migration platform - a sort of IDE that converts a J2EE app written for, say, WebLogic, and rewrites it to run on Oracle 9iAS.

In order to keep the amount of code that comes into contact with transmogrify code small, I have the main UI exec'ing the code rewriter via the shell.

My plan is to acknowledge the existence of transmogrify's code and provide a place to download enhancements we've made to the transmogrify packages. The fact that the transmogrify jar is loaded and called from code in other java packages is the fuzzy bit.

Its the definition of derived work that's might be misconstrued. In the java world, jars is jars. Thus, my feeling is that I only need to provide source access to transmogrify enhancements added under the transmogrify package structure. Otherwise I'm just calling it as a client. After all, my program's function is way beyond what transmogrify provides but it does it by adding in more code from different free non-GPL products that are also openly available, plus some utilities we wrote ourselves.

What's the opinion of others?
The average hunter gatherer works 20 hours a week.
The average farmer works 40 hours a week.
The average programmer works 60 hours a week.
What the hell are we thinking?
New Re: While we're on the GPL
#include IANAL.c

If I understand what you are doing, I don't think your in violation but your really pushing the edge.

I would consider the deciding question to be how much your package depends on transmogrify. If your program can run and still function usefully then you should be OK.

The same problem comes up with executable programs. The opinion of the programmers of Linux in general is that just making a call to a kernel function doesn't make your program derived from the kernel. But you can't work around the GPL by building your program as a shell around GPL code. Your program has to have independent usefull functionality.

The idea is fairly simple, but where to draw the line in practice is open to debate and has never been decided in court.

It would be far more acceptable to figure out how to use ANTLR directly. Otherwise you leave yourself open to problems down the road.

Jay
New Re: While we're on the GPL
import disclaim.ianal.*; // Perhaps more appropriate for the case ;)

Adding to Jay's comments, here's a quote from the GPL FAQ which applies:
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.


As a matter of semantics it would be better to have your program expect some external program to output symbol tables in coincidentally the same format that transmogrify does, rather than it expecting to run transmogrify. To be perfectly safe, you'd have to track down the copyright holders and beg or bribe them for a license to use their code in a commercial product. That brings up the issue that they could think your current practice is a violation and order you to stop, and whether that is a risk you are willing to take.

Turning to Google for advice, [link|http://w6.metronet.com/~wjm/tomcat/2000/Oct/msg00496.html|Here begins an interesting thread about Java, GPLed, and non-GPLed programs]. [link|http://w6.metronet.com/~wjm/tomcat/2000/Oct/msg00512.html|This message] is worth noting, as is [link|http://w6.metronet.com/~wjm/tomcat/2000/Oct/msg00537.html|this] and [link|http://w6.metronet.com/~wjm/tomcat/2000/Oct/msg00514.html|this].

[link|http://www.debian.org/doc/manuals/debian-java-faq/ch2.html#s2.3.4|Debian's Java FAQ] also has a section worth looking at.
New Re: While we're on the GPL
That's just it. A *lot* of GPL'd code out there has great parts in it but the way they are arranged isn't adequate to solve the task at hand.

In the spirit of innovation, I often want to combine multiple projects to create something completely new. Some are GPL'd, some have free do whatever you want licenses, some glue I write myself to stitch them together.

I don't mind giving some new code to the GPL'd project, but I can't push the other-licensed code under the GPL. I don't own it and I'm only using it. Also, the library is maybe 20% of my product at most - so if it means figuring out how to work around not having the library, then thats what will happen, but then everybody loses.

The GPL's notion of what is a "program" is antiquated. It doesn't take into account component based development.

That's the way I see it anyhow.
The average hunter gatherer works 20 hours a week.
The average farmer works 40 hours a week.
The average programmer works 60 hours a week.
What the hell are we thinking?
New That's what the LGPL is for.
Regards,

-scott anderson

"Welcome to Rivendell, Mr. Anderson..."
New I think you miss the point of the GPL
The GPL is not designed to be convenient. It is not to be readily used for whatever you want.

It is to try to force all useful software into a public commons to meet RMS' political aims. RMS wants you to be forced into a choice, and to choose to tie the GPL around your code so you can use a piece of GPLed functionality.

People who think this goal is great tend to like RMS. People who don't agree with the goal and wish he would stop complicating their lives tend to not like him so much...

Cheers,
Ben
New All?
It is to try to force all useful software into a public commons to meet RMS' political aims. RMS wants you to be forced into a choice, and to choose to tie the GPL around your code so you can use a piece of GPLed functionality.
I think that wuld be entirely within RMS's belief system.....

But I don't see how the GPL can accomplish that.

If you don't want to use GPL'd code.....

#1. Write your own.
#2. Contact the original author and arrange a new license for yourself/your product.
#3. Write your own.

I think the GPL is a great idea for ensuring that GPL'd code is always available. But it doesn't stop anyone from re-licensing their own code.

If you use GPL'd code WITHOUT arranging with the original author, then you have to release your code under the GPL, also.

If said author cannot be contacted, his/her code will always be available for everyone to use (see above line).

Again, I think the GPL is a GREAT idea.

Not for everyone and not in every situation.

But in the situation of ensuring that your code and any works based upon your code are always available for further development (under the GPL, of course), it is perfect.
New Desire and immediate tactics differ
RMS' belief system is that everything should be free software, and the GPL attempts to create (and maintain) a commons of such software.

The ultimate goal is not, however, accomplishable by any one license. And so the GPL is designed to enable this commons to be created and extended towards the point where his goal can be achieved.

If one agrees with RMS, then the GPL is usually the right license to use. (Sometimes he will advocate a BSD style license.) If you disagree, well the GPL is sometimes appropriate and sometimes not.

Cheers,
Ben
"... I couldn't see how anyone could be educated by this self-propagating system in which people pass exams, teach others to pass exams, but nobody knows anything."
--Richard Feynman
     GPL court case - (Silverlock) - (24)
         What the judge is thinking . . - (Andrew Grygus) - (15)
             Wrong: With all the anti-GPL "but is it enforceable?" FUD... - (CRConrad)
             The judge is an idiot - (ben_tilly) - (13)
                 Or just a republican - (Silverlock) - (12)
                     Well... - (bepatient) - (9)
                         That's ironic - (Silverlock) - (1)
                             >irreparable<...see answer to CRC -NT - (bepatient)
                         Doubly ironically, as even in purely financial terms... - (CRConrad) - (6)
                             Christ in a sidecar people... - (bepatient) - (5)
                                 Christ on a crutch, Bubba, maybe it's *you* who doesn't... - (CRConrad) - (3)
                                     I see your point... - (bepatient) - (2)
                                         The case is there, she's a judge - WTF is she waiting for?!? - (CRConrad) - (1)
                                             That was almost a record ;) - (bepatient)
                                 FWIW, agreed - (ben_tilly)
                     Or just a Clinton appointee - (marlowe) - (1)
                         Nickel -NT - (Silverlock)
         While we're on the GPL - (tuberculosis) - (7)
             Re: While we're on the GPL - (JayMehaffey) - (6)
                 Re: While we're on the GPL - (tangaroa)
                 Re: While we're on the GPL - (tuberculosis) - (4)
                     That's what the LGPL is for. -NT - (admin)
                     I think you miss the point of the GPL - (ben_tilly) - (2)
                         All? - (Brandioch) - (1)
                             Desire and immediate tactics differ - (ben_tilly)

If you throw enough pasta at the wall, some of it will stick.
75 ms