On 10/02/2013 06:23 AM, Kinkie wrote: > On Fri, Sep 27, 2013 at 7:12 PM, Alex Rousskov > <rouss...@measurement-factory.com> wrote: >> On 09/27/2013 03:52 AM, Amos Jeffries wrote: >> >>> As for this code specifically I see the unit tests in StringNG as having >>> three authors with various parts by each of us three. >> >> Please keep in mind that a code author is not always a code copyright >> holder. If you decide to go down this path, please make sure you list >> copyright holders.
> as a lets-meet-halfway proposal, how about changing from "(C) > someone" to "Main author: someone" Hi Kinkie, If you think "main author" is a middle-ground solution, then you do not understand the problems I am trying to solve. "Main author" is even worse than the existing "author" or "(C)" lines! This is probably my fault: Apparently, I did not explain the rationale for my request well. There are several problems associated with the current approach: * A specific "author" or "(C)" line implies that others are not the authors or copyright holders of the code that follows. That is sometimes false at the commit time and usually false as the committed code lives on. Both "at commit time" and "after commit" aspects are important here. * Once an author/(C) line is added, it becomes morally difficult to remove even when information there is no longer true because removing such a line may be perceived as a direct attack on somebody's contribution and associated rights. This thread is a case in point, and we are not even talking about committed code developed by a single person here. Squid code is full of stale (C) and author lines that are very misleading if not plain wrong. * Once a single line is added, it becomes more difficult for others to add their claim if they are adding a little bit to the existing large work. Many of us would feel bad about adding "author" or (C) lines for adding a method or two to an existing class, for example. This makes the information in the first added line stale faster. * Once multiple lines are added, it becomes difficult for others to resist carving their name too, and the misleading list of claims starts growing. The "main author" solution is even worse because it would make removal of that line (and adding the second line) even harder, while carrying most of the other problems associated with "author" or (C) lines. A correct label that does not cause most of these problems would be something like One of the original authors: ... or One of the creators: ... but it looks silly, and I doubt many folks would be happy with that. And it certainly does not solve all the problems anyway. It is sad that many think that a source code file of a large project is an appropriate place to claim their legal or moral rights, especially in an open source environment. That fundamentally flawed idea is at the core of all these problems. The best solution I know about is to place all those claims in a file dedicated to such claims, with whatever details the claimant feels are appropriate. If the amount of your resistance is a good predictor, we will have to live with these problems forever. If so, it would be doubly wrong to force you, a key contributor, to be a rare exception. You are still free to add whatever claims you want, preferably using a format already used in many other Squid sources. As you know, my request has never been a blocker for your merge. I will still propose to add a standardized boilerplate to Squid sources in a few days (I need to finish the code adding it), along with several related maintenance changes. I believe its reviewed/adjusted version will be accepted, but I suspect it will not replace all the misleading author/(C) lines, unfortunately. Adding a standardized boilerplate would still be better than maintaining the current status quo IMO. Alex.