David A. Wheeler

56 points
User profile image.

My professional interests are in improving software development practices for higher-risk software systems (i.e., ones which must be secure, large, and/or safety-critical). My specialties include writing secure programs, vulnerability assessment, open standards, open source software / free software (OSS/FS), Internet/web standards and technologies, and POSIX.
Read more about me.

Authored Content

I want YOU to open source

I recently went to the MIL-OSS ("military open source software") 2011 Working Group (WG) / Conference in Atlanta, Georgia. Topics included the open prosthetics project…

Authored Comments

No, it's not necessary. There are many successful projects that do without such rules. I agree with Arjen Balfoort, it is far more effective (in general!) to lead by example.

Also, while I think we should be respectful to people, we need to be brutal to code, because people are depending on having good quality in the code they run. It is important to distinguish between respecting people and being brutal to code.

I think it’s great that the government is releasing government-funded research software as OSS; this should help spur research.

There are even formally-published academic articles that note the key advantages of releasing software as OSS in research. Below are two examples.

“… The release of Otter at CADE-9 in 1988 was a turning point in the history of automated reasoning. Never before had the computer science community seen a theorem prover of such awesome power… perhaps Otter’s greatest impact was due to Bill’s generous and far-looking decision to make its source code publicly available. It is impossible to describe completely a reasoning program in research papers. There is always some amount of knowledge, often a surprising amount, that is written only in the code, and therefore remains hidden, if the code is not public or is too hard to read. Bill’s code was admirably readable and well organized. Other researchers, including those whose systems eventually overtook Otter in speed or in variety of inference rules, also learnt from Bill’s code data structures, algorithms, and indexing schemes, which are fundamental for implementing theorem provers…” - “Automated Reasoning and Mathematics: Essays in Memory of William W. McCune”, Lecture Notes in Artificial Intelligence 7788, preface, http://link.springer.com/book/10.1007/978-3-642-36675-8

“From the publications alone, without access to the source code, various details were still unclear… what we did not realize, and which hardly could be deduced from the literature, was [an optimization] employed in GRASP and CHAFF [was critically important]… Only [when CHAFF’s source code became available did] our unfortunate design decision became clear… The lesson learned is, that important details are often omitted in publications and can only be extracted from source code. It can be argued, that making source code … available is as important to the advancement of the field as publication.” - The paper ”The Evolution from LIMMAT to NANOSAT” by Armin Biere (April 2004), http://fmv.jku.at/papers/Biere-ETH-TR-444-2004.pdf

You can see more context about this in http://www.dwheeler.com/blog/2014/02/07/#william-mccune-source-code if you're curious.