CCL: Where can you publish articles on software?



 Sent to CCL by: "Perry E. Metzger" [perry*|*piermont.com]
 "Cory Pye" writes:
 > One difficulty with making a program publically available is it can
 > mutate into a non-viable form by an inexperienced programmer, and if
 > the mutant happens to be widely circulated, then a lot of the blame
 > ends up on the original programmer, who has essentially given up his
 > "baby" for adoption, instead of the modifier. One can easily
 waste
 > weeks of time addressing irate "customers" because of someone
 else's
 > goof-up.
 I've been writing open source software for something like 15 years
 now. I've never once had this happen to me or to anyone I know -- not
 once.
 > Suppose a junior faculty member publishes a paper and publicly
 > releases some code with his first graduate student. The idea becomes
 > so popular that a senior researcher or company takes that
 > open-source code, with acknowledgements, and incorporates it into a
 > popular commercial program, with some modifications and writes 2 or
 > 3 papers describing the advances. Science is advanced. Lots of
 > people use it, but only quote the paper in the manual of the senior
 > researcher.
 >
 > Now suppose that the advances were supposed to be the rest of the graduate
 > student's Ph. D. work. This student cannot re-publish this work because the
 > other ideas have been published already by the borrower.
 Well, suppose you publish some research and, even without the use of
 your code, other people make advancements that you wanted to make
 first just by looking at your work and saying "hey, this is a cool
 thing to try next". Tough luck for you. That's how science works. Of
 course, if you aren't silly, you don't mind and it doesn't hurt
 you. Einstein didn't come up with spacetime -- Minkowski did, looking
 at Einstein's 1905 papers. Did Einstein then winge "you did that
 before I could"? No. Did Poincare spend all his time complaining that
 Einstein was influenced by him and published first? No.
 As it happens, I've had code I've written incorporated into commercial
 products that have made other people money and I haven't gotten a
 nickel. I've had code I've written taken by others, improved and
 re-released as open source, too. I have no regrets at all and continue
 to write open source software. My goal when I release something is for
 it to be used, you see. If no one uses it, it's as useless as writing
 a symphony no one will ever hear or painting a canvas no one will ever
 see. Who wants that?
 > Has science advanced at the expense of the careers of the two individuals?
 I'm going to be so bold as to say that science doesn't exist to
 advance people's careers, and that good science isn't done very often
 by people so obsessed with careerism that they withhold information in
 the hope of gaining an edge over scientific competitors. I'll go
 further and say that people obsessed with their careers to this extent
 don't actually have good ones, either on the level of enjoying them or
 on the level of getting ahead. Not so paradoxically, doing good work
 is more important than relentless scheming and gamesmanship. That
 doesn't mean you should ignore personal advancement, but it does mean
 that spending all your time being a backbiting bitter schemer doesn't
 really do as much good as having good ideas and getting them out.
 If you want to live in a world filled with smart people who withhold
 information from each other and spend their whole time being
 cuthroats, become a hedge fund manager instead of a chemist. Most
 chemists are smart enough to do that for a living, and it pays
 literally orders of magnitude (no exaggeration) better than
 chemistry. If your goal is not to live in that sort of world -- if the
 reason you are in science is because you love science (and if you are
 in science for any other reason you're probably foolish -- the money
 sucks and the recognition sucks compared to almost anything else a
 smart person can do for a living), then feel happy that others have
 built on your work and build further on it or do something else
 interesting. The whole point of science is for people to stand on each
 other's shoulders, not on each other's feet.
 Long ago in my computer science career I was one of the co-inventors
 of a computer security protocol that is currently in use by a large
 fraction of the planet. (It is called "IPSEC" for those that know
 anything about such things.) Very quickly after I helped create it,
 other people became far more expert on it than I was and advanced it
 far past where we started. Am I bitter? Of course not. If you're bitter
 about stuff like that you're in the wrong field of endeavor. I'm
 HAPPY. The thing I helped bring into the world grew up and had a life
 past me.
 > The sad reality is that things like this can and do happen and a little
 > paranoia goes a long way.
 So you claim, but I really think you're presenting a very twisted view
 of the world. If you really live your life that way, you're going to
 be bitter all the time instead of productive.
 >> Is there ever a legitimate *purely scientific* reason for settling with
 >> empirical evidence alone (just test results) when mathematical proof is
 >> itself attainable (via inspection of source code)?  I cannot think of
 >> any.
 >
 > Source code is "not" mathematical proof,
 No, but it is just as valuable to show your code to someone as to say
 what your equipment was, and IMHO just as necessary.
 By the way, I'll point out that the bioinformatics guys seem to be
 doing all of this right. They don't seem to spend all their time being
 paranoid that someone out there might actually USE something they
 built as intended -- they seem happy when it happens. They've got big
 public databases filled with useful information, lots of tools anyone
 can use, they code in high level languages, they aren't insanely
 secretive, etc. I think they're a good model to follow.
 Perry