> Another difficulty I have is, how does one give attribution when the
> code you write is heavily based on code by someone else (where their
> code *IS* GPL'd), but your code has been rewritten to the point where
> you can't just put their copyright notice on the code?
>
> There is an example of this in a very small section of my quadratic
> sieve. I rewrote and made use of some (but certainly not all) of the
> F2Matrix code used in Pari (and made it 20 times faster on some
> architectures). It is still recognizable, but virtually no line is
> precisely the same as used in Pari. Any ideas how I properly attribute
> this? I've tried contacting the original copyright holder, but didn't
> yet get a response.

That seems like an incredibly easy question.  Just put the paragraph you
just wrote above (with slight modification) at the top of the file.
It's just like writing a research paper -- you have an acknowledgements
section.

> A similar issue is likely to arise for portions of the NTL replacement
> library I am writing. There I can just contact Victor Shoup and see
> what he wants me to do to properly credit him.
>
> Some portions of the code are so similar (virtually just translated)
> that it might be appropriate to just make them copyright Victor Shoup
> and note that I had made contributions!! Other parts are of course
> uniquely mine.

Even a slightly modified version would be copyright both of you.


> P.S: Unfortunately msieve itself is (currently) only fast on an Athlon
> machine and is otherwise not portable due to the use of assembly
> language (if I understand correctly), so we can't just use it in SAGE
> for factoring (it's about 8 times faster on an Athlon than the current
> factoring implementation).
>
> Jason P's license restrictions are actually compatible with the GPL I
> suspect, so this would be theoretically possible, if it weren't for his
> home brew MP library.

Incidentaly -- I'm really looking forward to fully integrating your
quadratic sieve into SAGE, but I haven't yet, since I have to implement
all other other stuff you asked for first :-).

William

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to [email protected]
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/
-~----------~----~----~----~------~----~------~--~---

Reply via email to