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