I've been involved in a couple of software projects (academic and industrial), and occasionally there's a need to cite the software (e.g. in a scientific publication). It might come up in a job interview situation too where a prospective employee is trying to quantify their relative contributions to past projects. I'm currently looking at NSF biosketch instructions which require me, for each "product" (e.g. software), to:
Each product must include full citation information including (where applicable and practicable) names of all authors, date of publication or release, title, title of enclosing work such as journal or book, volume, issue, pages, website and URL or other Persistent Identifier.
So my question is how to I generate a list of authors/contributors to a software project? The issue is not just who to include, but more importantly, how to sort them. Here are the possibilities:
- Sort contributors names alphabetically. This is completely neutral with regards to how much each author contributed and so it is the easiest and unambiguous. However, some people contributed far more than others (e.g. summer interns) so it seems unfair not to reflect this.
- Sort contributors by the number of lines they added/edited. I could hypothetically write a script to scan through all the mercurial changesets and sum line counts. However, this might bias towards contributors who are prolific in less meaningful ways (e.g. just duplicate code rather than refactor) over other contributors who spend a lot of time fixing their bugs or properly refactoring.
- Sort contributors by the amount of time they've spent working on the software. For example, how long were they at the company, or perhaps more precisely, working on projects developing the code. This might also be tricky because some contributors both write the code and then use it.
- Sort contributors by when they started working on the software. This would favor people who made key decisions and contributed more foundational code, but it doesn't allow for the possibility that a later joiner might surpass them.
- Let everybody on the team sort it their own way. If it's used to promote me, I could pick whichever ordering method gets me closest to the front of the list. As long it's loosely justifiable, other contributors don't ever see it (unlikely), and nobody sees two different lists, there shouldn't be a problem.
- Don't provide a list of authors. This is perhaps the safest option, although it would be nice for a high contributor to be able to call attention to it. Maybe that would need to happen with words in another section.
Are there options I'm not thinking of? Are there industry standards?
Aucun commentaire:
Enregistrer un commentaire