So, I'd like to add a little block of attribution data to each page (optional, per-installation; I'm guessing Wikipedia wouldn't use this). Something along the lines of:
This article last edited on April 21, 2004 by Evan Prodromou. Based on work by Alice Notaperson, Bob Alsonotaperson, users Crankshaft, Deckchair and Eggplant, and anonymous editors.
For each (distinct) person who's listed in the old table, it'd show their real name if it's set, or their user name if not. All anonymous edits would be lumped under "anonymous editors". Contributors would be listed with real-named folks first, then pseudo'd folks, then anonymous. There's no particular reason for that; it could be any other way (although I don't see a big point making it configurable).
The goal here is to make it easy for redistributors to comply with license provisions that require author attribution (such as some Creative Commons licenses), without having to dig through a whole bunch of history pages.
Anyhoo, the Metadata.php code already does most of this logic, albeit for output in RDF format. I'd like to take that stuff and put it in the Article class, in a method like "getContributors". The method could then be used both from the attribution code and from the RDF metadata code.
getContributors would return an array of arrays, each of which would contain:
0. User ID 1. User account name 2. User real name, if set
Another option would be to create User objects for each entry in the returned array, but a) I don't think that most of the User object fields (email, preferences) are needed, and b) I'd be worried about slingin' around incomplete User objects. So, I think the arrays are the best bet.
Does returning an array of arrays seem insane? Would it be wrong to add this method to Article? If so, where else would it go?
~ESP
On Apr 21, 2004, at 19:29, Evan Prodromou wrote:
So, I'd like to add a little block of attribution data to each page (optional, per-installation; I'm guessing Wikipedia wouldn't use this). Something along the lines of:
This article last edited on April 21, 2004 by Evan Prodromou. Based on work by Alice Notaperson, Bob Alsonotaperson, users Crankshaft, Deckchair and Eggplant, and anonymous editors.
For each (distinct) person who's listed in the old table, it'd show their real name if it's set, or their user name if not.
The clear problem with this is that it doesn't scale well. The list will increase and increase and increase on popular pages, and on some pages could literally contain hundreds, maybe thousands of distinct names. Not only will this add a huge amount of text to the output, but it will require trawling through thousands of history entries to get the info, making it a fairly expensive operation. This is already a potentially serious problem with the metadata return, but there it only has to be done on request.
It would probably be a good idea to limit it to the last N editors, where N is some sensible number.
getContributors would return an array of arrays, each of which would contain:
0. User ID 1. User account name 2. User real name, if set
That's probably reasonable.
-- brion vibber (brion @ pobox.com)
"BV" == Brion Vibber brion@pobox.com writes:
Me> So, I'd like to add a little block of attribution data to each Me> page (optional, per-installation; I'm guessing Wikipedia Me> wouldn't use this).
BV> The clear problem with this is that it doesn't scale well. The BV> list will increase and increase and increase on popular pages, BV> and on some pages could literally contain hundreds, maybe BV> thousands of distinct names.
This is a good point, and one I was trying to finesse by not thinking about it. B-)
BV> It would probably be a good idea to limit it to the last N BV> editors, where N is some sensible number.
Maybe limit it to N, and if there's overflow put it on a separate page.
Actually, that'd be a good way to set the global variable:
$wgMaxAttributions = 0;
...means don't show this little paragraph at all.
~ESP
I was just made aware of this thread, and I realise that potentially a legal issue is discussed on wikitech. I would like the opinion of our lawyers on this specific point.
So, tel me if I understand well, to comply with the gfdl the best we can (and we already know it is problematic), what you suggest is to list first the real name contributors, followed by pseudonymes, then by ips. Of course, the number of names is limited. We can expect that on many articles, the number of names will be over 50 or more.
I understood the gfdl "normal" requirement is to list the 5 main contributors. We probably know that we can define who the 5 main contributors are. Indeed, unless the number of contributors is below 5, there is no way to report with honesty the legal requirements.
This said, if we can't report reality, why would we report a group of contributors more than another ? If a pseudonyme wrote 95% of an article, and 5% officially real names corrected typos, is that really correct to indicate these 5 real names and not the pseudonyme ?
I would say it is not. Legally, that is incorrect. From a community view point, that is setting a case which I am not sure is really positive. It think that it would be more correct to make random choice among pseudo or real names, or to choose among the last ones.
I will forward this to wikipedia-l and foundation-l, since I believe this is more than a technical issue.
Evan Prodromou a écrit:
So, I'd like to add a little block of attribution data to each page (optional, per-installation; I'm guessing Wikipedia wouldn't use this). Something along the lines of:
This article last edited on April 21, 2004 by Evan Prodromou. Based on work by Alice Notaperson, Bob Alsonotaperson, users Crankshaft, Deckchair and Eggplant, and anonymous editors.
For each (distinct) person who's listed in the old table, it'd show their real name if it's set, or their user name if not. All anonymous edits would be lumped under "anonymous editors". Contributors would be listed with real-named folks first, then pseudo'd folks, then anonymous. There's no particular reason for that; it could be any other way (although I don't see a big point making it configurable).
The goal here is to make it easy for redistributors to comply with license provisions that require author attribution (such as some Creative Commons licenses), without having to dig through a whole bunch of history pages.
Anyhoo, the Metadata.php code already does most of this logic, albeit for output in RDF format. I'd like to take that stuff and put it in the Article class, in a method like "getContributors". The method could then be used both from the attribution code and from the RDF metadata code.
getContributors would return an array of arrays, each of which would contain:
0. User ID 1. User account name 2. User real name, if set
Another option would be to create User objects for each entry in the returned array, but a) I don't think that most of the User object fields (email, preferences) are needed, and b) I'd be worried about slingin' around incomplete User objects. So, I think the arrays are the best bet.
Does returning an array of arrays seem insane? Would it be wrong to add this method to Article? If so, where else would it go?
~ESP
IANAL, but IMHO: * We already list *all* contributors for the page, in the page history. I'd say that the single click required to see it is comparable to turning a page in a printed version, which is not too much to ask, under any legal system I know of. * If you want to find the main contributors, go ahead and use the diff function. By listing them all, we also listed the main editors. * The fact that noone *ever* demanded to see his/her name on the article page itself indicates to me that there is strong community (=contributor) consensus regarding our current practice in that matter. * Everybody's free to use their real name as user name, or to write it on their user page. The additional click required should be tolerable, for reasons stated above.
If the GFDL really requires that list *on the same document* (can't be really the same page, think printed version again), can't we declare the whole wikipedia as one giant document in itself? [Translation to legalese would be required]
Magnus
Anthere wrote:
I was just made aware of this thread, and I realise that potentially a legal issue is discussed on wikitech. I would like the opinion of our lawyers on this specific point.
So, tel me if I understand well, to comply with the gfdl the best we can (and we already know it is problematic), what you suggest is to list first the real name contributors, followed by pseudonymes, then by ips. Of course, the number of names is limited. We can expect that on many articles, the number of names will be over 50 or more.
I understood the gfdl "normal" requirement is to list the 5 main contributors. We probably know that we can define who the 5 main contributors are. Indeed, unless the number of contributors is below 5, there is no way to report with honesty the legal requirements.
This said, if we can't report reality, why would we report a group of contributors more than another ? If a pseudonyme wrote 95% of an article, and 5% officially real names corrected typos, is that really correct to indicate these 5 real names and not the pseudonyme ?
I would say it is not. Legally, that is incorrect. From a community view point, that is setting a case which I am not sure is really positive. It think that it would be more correct to make random choice among pseudo or real names, or to choose among the last ones.
I will forward this to wikipedia-l and foundation-l, since I believe this is more than a technical issue.
Evan Prodromou a écrit:
So, I'd like to add a little block of attribution data to each page (optional, per-installation; I'm guessing Wikipedia wouldn't use this). Something along the lines of:
This article last edited on April 21, 2004 by Evan Prodromou. Based on work by Alice Notaperson, Bob Alsonotaperson, users Crankshaft, Deckchair and Eggplant, and anonymous editors.
For each (distinct) person who's listed in the old table, it'd show their real name if it's set, or their user name if not. All anonymous edits would be lumped under "anonymous editors". Contributors would be listed with real-named folks first, then pseudo'd folks, then anonymous. There's no particular reason for that; it could be any other way (although I don't see a big point making it configurable).
The goal here is to make it easy for redistributors to comply with license provisions that require author attribution (such as some Creative Commons licenses), without having to dig through a whole bunch of history pages.
Anyhoo, the Metadata.php code already does most of this logic, albeit for output in RDF format. I'd like to take that stuff and put it in the Article class, in a method like "getContributors". The method could then be used both from the attribution code and from the RDF metadata code.
getContributors would return an array of arrays, each of which would contain:
0. User ID 1. User account name 2. User real name, if set
Another option would be to create User objects for each entry in the returned array, but a) I don't think that most of the User object fields (email, preferences) are needed, and b) I'd be worried about slingin' around incomplete User objects. So, I think the arrays are the best bet.
Does returning an array of arrays seem insane? Would it be wrong to add this method to Article? If so, where else would it go?
~ESP
Wikitech-l mailing list Wikitech-l@Wikipedia.org http://mail.wikipedia.org/mailman/listinfo/wikitech-l
"MM" == Magnus Manske magnus.manske@web.de writes:
MM> * We already list *all* contributors for the MM> page, in the page history.
I agree. However, it's difficult for downstream re-publishers to distill all the names and IPs from the page history to a reasonable attribution block. The RDF pages have it now; I just wanted to make it clear on the article pages, too, so you could print out a page and photocopy it and comply with licenses that require attribution.
For Wikitravel, we've had a couple of re-publishers who haven't given attribution. I just wanted to make it easier to comply with our license, which, by the way, isn't the GFDL.
~ESP
wikitech-l@lists.wikimedia.org