[Cryptography] Open Source developer employment agreements, was: Cue the blamestorming

Sandy Harris sandyinchina at gmail.com
Fri Apr 25 13:11:24 EDT 2014


On Wed, Apr 23, 2014 at 6:18 AM,  <tpb-crypto at laposte.net> wrote:

> To achieve what you want we have two hurdles to overcome:

> - Education: most of us code-monkeys are good at math and numbers, not language. When language becomes mandatory inside a system, ie. writing missives about our code, we slow down and lose a lot of time to do it. We ain't no Mark Twain, we more like Sir Isaac Newton, sorry;

> - Time: we are trained to spit out code and solve issues and create features as fast as possible so our bosses can put things for sale before competition catches up, our survival depends on that speed. A demand which is compounded by the first issue about the fact that we are slow at language;
>
> Once we have learned enough to code well, we also have learned to do it fast enough for survival. People won't change that until their professional survival is no longer at stake, that is our modus operandi.
>
> The only way out of it seems to be the creation of a jedi order of sorts that would code very important software, like encryption, networking and storage systems for peanuts, but whose survival would be guaranteed by the larger community. By training a small number of very good coders in human language and giving them enough time, you can achieve all documentation dreams.

You can also use technical writers. As in any field, the bad ones are
useless or even damaging. The good ones, though, definitely have quite
a bit to contribute. Not only do they take a lot of the documentation
load off developers, leaving them free to do what they are best at,
they are also the first to use the product, so informal testers and QA
people. I've caught more than one gratuitous user interface idiocy,
things that developers had not thought of, that way. I've also found
oodles of early-version bugs; with the worst I crashed a several
hundred user mainframe three times just by using an editor before
developers admitted maybe there was a problem.

Of course even good writers can be made useless by developers who
don't care enough to talk to them or, more often, by bad management.

In years as a tech writer, though, I've found that Dijkstra was mostly right:

"Besides a mathematical inclination, an exceptionally good mastery of
one's native tongue is the most vital asset of a competent
programmer."
http://www.cs.virginia.edu/~evans/cs655/readings/ewd498.html

Yes, I've encountered illiterate programmers and engineers galore.
However in my experience, the really good ones are almost invariably
competent writers as well. Then the question is what they should write
-- for maximum clarity and and accurate correspondence to the
implementation, they should do some -- and what should be left to the
tech writer. One division that has worked well on several of my
projects is having programmers do man pages for their programs or
library functions and having the tech writer do everything else.


More information about the cryptography mailing list