Which License should I pick?

Scott Long scott at neuralnw.com
Wed Dec 3 21:21:11 UTC 2003


Hello, everybody,

I am planning to create a SourceForge project in the near future. I've
been working on a project, and it's starting to become complicated
enough and functional enough that I'd like to have it hosted somewhere
other than my home server. I have two lines of questions. The first is
in regard to the license I will choose for this project. I'll discuss
that first. This is going to be a moderately long message, but I
believe the license to be one of the more important things to get
right in a new project, and I have a list of specific things I'm
looking for in the license I use.

FIRST LINE OF QUESTIONS:

My personal preference is for the project to be as unrestricted as
possible; i.e., I do not want to prevent people from taking the code
and using it in other projects, in either source or binary-only
form. Specifically, I do NOT want to use something like the GPL which
forces the user of the code to license their own code under the GPL. A
provision like that would severely restrict the number of people who
could make use of the code.

I do, however, want to ensure that my name and copyright remain
attached to the code. An acknowledgement in the documentation and an
ASCII string within the binary itself are sufficient for me. I simply
want to prevent somebody else from claiming that they were the
original programmer, regardless of any modifications they may have
made.

I also feel that a person shouldn't be made to read kilobytes of text
in order to understand the license agreement. Therefore, the brevity
and clarity of the license is also a factor. (This also has to do with
my ability to understand my own license, because legal language causes
my eyes to glaze rather rapidly.)

Unfortunately I also must disclaim any responsibility for any unwanted
or damaging effects of the code: no warranty. I'm more than willing to
find a way to provide support, but I simply can't be responsible for
something that I do in my spare time.

I have briefly skimmed the list of licenses at
http://opensource.org/licenses/ and the BSD license looks like it
fulfills my conditions. I'm posting to this list to see if my
interpretation of the license is correct. I'm also open to suggestions
for other licenses on the list of OSI accepted licenses.

SECOND LINE OF QUESTIONS:

The project itself performs actions on the in-core binary images of
running processes. It is capable of saving snapshots of the address
spaces of running processes to disk. I would like to have
clarification whether or not such snapshots would be considered
"derived works" of the programs they came from. Would it be legal to
distribute one of these binary snapshots if it came from a running
program which is licensed under a more restrictive license such as the
GPL?

The question is not necessarily easy to answer. The binary snapshots
this program produces, in fact, consist SOLELY of the portions of the
address space of the process which are DIFFERENT from the code stored
on disk. What this means is that it is impossible to use such a
snapshot to reconstruct the running program image, unless one already
has possession of the binary for the original program.

To make this clear, let me use an analogy. Imagine that I take a
painting -- for example, the Mona Lisa -- and I draw a horse into the
background. Clearly, the result is a derived work. I cannot
redistribute the modified painting, since that would violate its
license (let's just imagine the Mona Lisa has a license for a
minute). However, is it okay for me to distribute a set of
instructions, by which another individual can take his own copy of the
Mona Lisa and draw this horse into the background? For example: "Take
the Mona Lisa, go six inches from the upper edge and two inches from
the left edge, and draw a horse."

This brings up a related question, which although it doesn't directly
pertain to my project, is equally important: most UNIX-like operating
systems are capable of creating core files of crashed processes. Are
these core files "derived works" of the programs which produced them?
After all, they contain portions of the address space of the processes
in execution -- they contain binary code. If they are derived works,
it would appear that all the various crash-reporting applications
which send core files to a central location for analysis are actually
breaking the law!

Sorry for the long-winded message, but I am very anxious to get this
project off the ground, and I can't do that until I have the licensing
questions firmly worked out.

Thanks for your help,

Sincerely,

Scott Long


--
license-discuss archive is at http://crynwr.com/cgi-bin/ezmlm-cgi?3



More information about the License-discuss mailing list