Neil Williams wrote:
If yes, what license would be best ?
There are so many, I wouldn't know where to start.
I'll put in my 2 cents, then.
There are TONS of free licenses, but for all intent and purposes, I
really suggest you answer to yourself a couple of basic questions, and
choose one of three licenses according to the answers.
First question - do you want to insist that anything your write and
release as free code will remain free, no matter who or what? If the
answer is "no", take the three clause BSD license or the X11 license.
Bear in mind that abuses have happened in the past. One example that is
close to my heart is Wine. It started as an X11 license. A company
called Transgaming kept using it commercially, performing development
over it, but the almost all the contributions the community saw back
from it were in the forms of promises (if we sell X licenses, we'll
release the Direct3D code) which never transpired.
Eventually, all further development was switched to a license that does
not allow such behavior (LGPL). If you don't like the idea that this
should happen to your code, don't go for the X11 license. If you don't
think there is anything wrong with it, the X11 license is what you want.
Second question: Is it ok with you if code you write will be used as a
library that is used by potentially non-free software? If you only want
your actual code to remain free, and don't particularly care how it's
used, go with the LGPL. If you want all code which makes use of your
code to be free as well, go with the GPL. Three licenses.
There are some things to bear in mind here too, though:
If you go with the LGPL, always remember that someone may create any
APIs they want out of your code, including APIs that are cut in
different locations than where you intended them to be. In effect,
making code LGPL protects the actual algorithmic implementation, and
very little else.
Conversely, bear in mind that the GPL only reaches as far as the
copyright law lets it. There are cases today where a non-GPL program is
using GPLed library/provider, and people have accepted it as a
non-derived work relationship, which follows that the program is not
required to be GPL as well.
Whatever you do, please avoid licenses outside those three unless there
is a REALLY good reason. The most important feature of these three is
that they are all upward compatible, and are fairly well understood.
Writing your code with either one of these three licenses maximizes the
amount of projects that can use your code, as well as the number of
other people's code you can use.
and if you do use the exception, make that clear too as it does
have implications for those who would modify or distribute your code.
Actually, the GPL exception was intended precisely so that it doesn't
gravely implicate people using your code. The use of a non-free library,
however, is something that needs to be pointed out clearly.
In the same way, if I wrote a program using java (Sun), could i
distribute it under the GPL license ?
That would be the LGPL, if I read the gnu site correctly, but I don't use Java
at all, so I haven't really looked at that.
I think you misread it. The GPL specifically allows you to use libraries
that are part of the development tools. Java clearly is.
Shachar
--
Shachar Shemesh
Lingnu Open Source Consulting ltd.
http://www.lingnu.com/
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]