I'm a chronic code copier, I know. But I just realized that I have made a few mistakes moving code around in our codebase. I moved PointToCurvilignPosition from libnrtext/Layout-TNG-OutIter.cpp to livarot/Path.cpp as was indicated in the orignial comment, "this function really belongs to Path. I'll probably move it there eventually, hence the Path-esque coding style." In doing this I forgot to copy the original copyright in the code. But much worse, I just realised that the files that I moved this code between are under different licenses. I moved a GPLed function into a PD file. This cannot happen. The possibility for other accidents in our codebase seems huge. I don't think PD and GPL can coexist well in a codebase that desires so much refactoring. Can we and should we place the PD files under the GPL?
As for attribution, what is proper and customary? I suppose I need to chase down the orignial author through the commit logs any time I want to move a function or copy code. Very often people alter code without adding a copyright notice. I haven't added a notice to any of the files I have edited. Am I endangering people of doing the same copying without attribution to me? When should I attribute myself? Right now the act of adding my name to a source file seems rather proud to me. And right now I can't imagine ill will tward someone copying my code without attribution, but as I put more and more sweat and tears into the code that may become possible.
Aaron Spike