Jump to content

User:Lexein/Sourcecode as a primary source

From Wikipedia, the free encyclopedia
Or, Wikipedia is a harsh mistress, part 1

Software source code isn't appropriate as a primary source in prose, lists or tables, for several reasons:

  • This is not a wiki about software, nor a wiki solely for software developers.
  • Verifiability at Wikipedia is intended for general readers to be able to verify claims made in any kind of Wikipedia article (prose, table, list) in reliable sources. The primary source policy explicitly states, "A primary source may only be used on Wikipedia to make straightforward, descriptive statements that any educated person, with access to the source but without specialist knowledge, will be able to verify are supported by the source." The "specialist knowledge" clause would tend (IMHO) to prevent using program source code as a primary source for features.
  • If we were to permit software source code as a primary source, a morass of further issues arise, not the least of which is that there are many parts to "source code", which make analysis of it out of scope for Wikipedia editors as Wikipedia editors, even if they are expert software developers with massive experience with the software, its source code, its coding language, and all the development tools.

To expand on this, which part of the source code package is to be considered verification of a software feature? The existence of a source code file named the_feature.c? The compilable source code itself? The comments? The UI/forms definitions? The readme files? Or should the other documentation be considered? The wiki? The forum? The blog? A general reader will simply not know what to believe: source code often doesn't match comments or documentation. The following two examples will hopefully make my points.

Example #1[edit]

  • The blurb, as distributed with the software, and shown on download websites, claims "Includes proxies support"(sic) with no further explanation, as well as listing a number of other features.
  • The developer's official/download website mentions nothing about proxy support.
  • Independent reviews in reliable sources of the software mention nothing at all about proxy support.
  • The developer's blog (and changelog.txt) states:
Proxy compatibility done. W00t! 4/1/09 9pm.
Ouch, still broken. Ow, my head. 4/2/09 8am.
  • The developer's forum has complaints from users saying there's no menu for configuring the proxy, and nothing in the configuration file about it.
  • The source code files include proxy.c and proxy.h
  • A comment near the top of proxy.c says:
// Proxy works! Yay! 4/1/09 9pm. Drinkin! .
  • In proxy.c, the proxy message handler and exception processing are all #ifdef disabled:
#if 0
(all the actual proxy handling code)
#endif
  • main.c calls the proxy data structure initialization code but the call to start the proxy is commented out:
// proxy_start_proc(); // fxk rls without it fkfkfk

Q1. What can a WP editor write about the software's support for proxies even if he "knows" there's no support?
A1:In my opinion, nothing, because the primary and secondary sources disagree, and worse, the primary materials (website vs blog vs docs) are inconsistent.

Example #2[edit]

This is the same as #1, but most of the above potential sources are missing:

No independent reliable sources.
Website lists no detailed features, just a binary download link, and a source code package download link.
Blog links to the website, tersely explains that the developer enjoyed working on the project, but got married, so development stopped in April 2009, and wishes the reader good luck.
No wiki or forum.

Q2. What can a WP editor write about the software given only only a paltry, unexplanatory website, a terse dev's blog entry, the binary, and the source files?
A2. In my opinion, the software has no independent verifiability, and shouldn't be written about at all. I know, harsh.

The hard choices[edit]

For me, the WP editor's choices break down to three:

  1. Writing about the object itself (the software & source code), citing the software or source code as the primary source. I would consider this to be original research, because the Wikipedia editor is becoming an author.
  2. Writing about what the author of the object says about it in prose (website, documentation, maybe help files) - this is the usual interpretation of primary source at WP, which can be quite reliable, if the author has published much, wrote substantial documentation, or is cited by independent reliable sources. Here, the WP editor is citing a person's prose about their work, with perhaps distancing language. If, however, the website says little or nothing about the software, and there is no documentation, then I wouldn't consider the website either reliable or substantial, and I wouldn't use it as a source.
  3. Writing about (or quoting) what independent RS say about it (books, magazines, newspapers, etc.).

Sources which self-publish[edit]

The argument has been made in good faith that WP:SELFPUB permits source code as a publication by the author, because it is not explicitly excluded. This claim would seem not to counterbalance WP:PRIMARY in which the encyclopedia's sources must be verifiable by a non-specialist.