Thanks for all your responses guys. It is very much appriciated.
However, I seem to have got conflicting view. Let me explain the
situation more:
Basically, I have developed a file format that encapsulates extreamly
complicated information. The code I have written to load and use the
information stored in these files is obviously also extreamly
complicated. Due to the nature of the problem that they files were
designed to solve, I would like it that no money should be made from
any program that wishes to load and use these files.
So basically, if you want to use the files contained by this file
format, your program has to be free in both senses of the word.
The application that wants to use these files, comes in two forms. A
free public version, and a pay-for version that provides some other
related bits and support supplied by a company not related to the
authors of the program, but is distributed with permission
(obviously).
I would like to set it in stone that that company (or any other
company) may not make any profit from a program containing my source
code to a project that I have been working on for over two years. I
don't object to this idea in general - it is just that *for this
particular situation* no money should be made.
So basically, the company in question will have to disable/remove my
code before they can distribute the program. The end result is that
the commercial version will not be able to load files of the file
format that is described by my code.
That is it really!
Both myslef and the authors of the program would like to integrate our
code, because it has advantages for everybody. However, due to the
problem domain, I seriously object to any money being made from it.
Anyway, on to the mails...
> If your code is entirely yours, and doesn't depend on any other GPL'd code
> then yes. You simply add an exception to the GPL which states what you
> want. There are, however, some implications you need to consider about what
> people that use your code for other purposes might have to deal with.
Yes, my "module" is completely mine, and does not use any other
libraries. Howvere, the application that I would like to use *my* code
is not at all mine.
Quote:> This sounds like the code may not be entirely yours, in which case the
> answer is no. The GPL does not allow adding extra restrictions unless all
> authors agree to those restrictions.
So if the authors of the application that want to use my code agree to
add such a restriction, they can use my code? Obviously they will have
to disable my functionality when bundled in the "commercial release" -
but that is exactly what I want.
Quote:> > - but
> > apart from a free version, this program is also distributed as part of
> > a commerical package (I have no problem with what they do with their
> > program of course). But I want to make sure that if this happens, it
> > cannot include my code in that version. Can I put such a clause in my
> > GPL'ed source code license? Will it still be license compatible with
> > the GPL'ed program?
> You mean, you want to use their code, but you don't want to let them use
> yours?
Not sure how you interpreted it like that. Basically no, not at all. I
wrote some code - both I and the authors of the application want it to
be used in said application. That is it. I don't want to use their
code. I just want them to be able to load and use these very complex
files.
As I said, the problem is that I do not want any money to be made from
the result of my code being in the application. If people want to use
my code, then they will have to only supply that functionality in a
"free beer" version of their application.
Quote:> > For clarification: My source code is like a module. There is no
> > technical reason why it cannot be easily disabled without effecting
> > the application as whole.
> Not relevant. If your code is an actual seperate program, called by a pipe
> or similar mechanism, then it's not considered a derived work. If it is
> called within the same process context, then it generally is.
This is better explained in the description of the situation at the
top of this post. But basically it is not a seperate program, it is a
description of a file format. Code to load and use files in this file
format.
Anyway, thanks again for your ideas guys!