Google groups seems to have just lost a substantial reply I made. This has happened more than once and seems to be related to the "reply without quote" option.
I don't want to type all that again, but here are the salient points: 1) MAPLE are pretty careful about their code. MAPLE authors also tend to be so. I once saw a very neat trick that had been implemented in MAPLE for the quadratic sieve. It seemed obvious, once you knew the trick. It had even been written up in a paper. Ordinarily I could then just use that trick and mention which paper I got it from. But in this case it had been pointed out to me by a friend of the author. Apparently the author didn't necessarily want his idea GPL'd. Better suggestions are: --Find a similar trick implemented in GPL'd software. --Find a trick implemented in source that has no restrictions. --Come up with your own trick which achieves a similar result. I have some questions: 2) Can one make use of code which has no restrictions, but which is clearly copyrighted and maintained by a particular identifiable individual, and GPL the resulting package? I note for example that some of Jason P's msieve code (which has no restrictions apart from attribution and an encouragement to notify him) has ended up in GGNFS with attribution (though I can't rule out that he contributed it himself). For example, would all of SAGE be GPL'd if it included work from someone which wasn't GPL'd but had no substantial license restrictions? [Unfortunately we can't just make use of msieve in SAGE, since it is (currently) only fast on Athlons and that by virtue of its home brew MP library which has a heavy assembly language component, I believe. Jason P is an awfully nice guy, and the code is extremely fast, so otherwise this might have been possible.] 3) How does one attribute the work of another GPL'd author when one produces a derived version which isn't just a straight modification of the original code. For example in one small section of my quadratic sieve (the F2Matrix code) a small portion of it is based on, but not the same as the F2Matrix code in Pari. My version is 20 times faster on some architectures and the underlying algorithm is quite different but some (not all) functions are still recognizable, though almost no two lines are the same. I've tried contacting Gerhard Niklasch a number of times recently without success. He appears to have written the code I speak of, or at least is the current maintainer. The specific question I have is, what copyright do I put on the code? Should I copyright the code I have put together to me and add a note that I based part of it on their work, or should I copyright it to them and add a note that I made contributions to it? Note it would be impossible to go through it symbol by symbol and note all instances where the code coincided with theirs. It just strongly resembles theirs in those few functions, without being the same. Note I cannot copyright the whole of the F2Matrix code to them, since some of it was certainly written entirely by me (including the main Gaussian reduction algorithm, which is the most important part of that module), and uses a number of tricks that I consider to be my own. Also note, my entire sieve is GPL'd. 4) In the case of the NTL replacement library I am writing (NTL is GPL'd) I can just contact Victor Shoup. In some cases I have virtually just translated his code (from C+wrappered GMP to C+native GMP), so I can probably make some of the code copyright Victor Shoup and just note that I modified it. In other cases the algorithms and code are uniquely mine. The whole package is of course heavily based on the structure of NTL, so that is quite a different situation to 3 above. It is also much easier to identify which functions are just translations of NTL functions, and which have been completely rewritten by me, using different algorithms and coding ideas. Of course, I am sure it will also be no problem to contact Victor and make sure I do what he wants. Note that I cannot just contribute the code to NTL, since NTL is implemented in a wholly incompatible way. Bill. --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~----------~----~----~----~------~----~------~--~---