

The arrangement with my code is the same as with my text. I create, you consume. - blasdel
http://qntm.org/code

======
derefr
The author has inadvertantly stumbled upon a part of hacker culture with wide-
ranging implications, that is almost never discussed—and that is that people
expect that you _publish_ code because you want it to be _changed_ , and not
simply _read_. This stems from a deeply-rooted tradition in programming of
_not reading a codebase until you have a problem with it that you must fix_.
People don't "read for pleasure" in the programming world; they don't even
read to learn—have you ever had a school assignment that charged you with
reading more than 1KSLOC? The only reason, as a programmer, I will ever "cd
src/", is that I am on a mission to fix a problem. Therefore, publishing code
but reserving the right to derivative works, looks a bit like gloating, or
showing off—"look what I did! Look how smart I am! It's no benefit to _you_...
but look!"

This makes perfect sense in the art world (and writing _is_ a form of art), as
you never really "derive" from a piece of art; instead, you first look at the
mechanisms by which it communicated its message to add those techniques to
your repitoire of skills, and then re-use those skills on your own works. That
makes perfect sense in an artistic medium, where any single stroke or word or
note may be chosen from an infinitude of options—but programming requires
_formal grammar_ —a finite set of ways of expressing each concept—and thus
there is relatively little merit in studying the technique by which a single
problem was solved.

On a separate note, for the first few paragraphs he seems to be completely
unaware of the medium of _fan-fiction_ —which is about as core to "the culture
of online fiction" as you can find.

~~~
mattyb
_People don't "read for pleasure" in the programming world; they don't even
read To learn—have you ever had a school assignment that charged you with
reading more than 1KSLOC? The only reason, as a programmer, I will ever "cd
src/", is that I am on a mission to fix a problem._

Seriously? _As a programmer_ , the problem I'm often on a mission to fix in
/src is that _I haven't learned enough._

~~~
derefr
Yes: you are in a minority within a minority. Of the programmers who read to
further their education after school is done with (an already-small number),
most will be complacent to read books, or blogs, or at the most journal
articles. The number who dive into a foreign codebase—that is, one they have
no association with and don't rely on for anything—without the expectation of
_eventually_ contributing something (i.e. In OSS) is _vanishingly_ small.

~~~
aaronblohowiak
Random rails and jquery plugins tend to be terribly documented and frequently
make easy to fix design errors. I read code all the time -- if I am committing
it to the repo, I want to be sure I know how it works. For "black box" things
I usually won't delve that deep, but if it really needs to integrate, I
usually end up reading it sooner or later.

My only regret is not pushing more changes back upstream

------
VBprogrammer

      When HATETRIS reached Hacker News, someone posted some
      JavaScript which would modify the game to have gravity. 
    

I believe this is in response to the diff I posted. I'm sorry if I infringed
upon any stated or implied licence in posting that. I will of course remove it
if you feel that is appropriate.

Personally I feel what I posted, given the readership of this website, was
directly equivalent to simply saying "Wow, wouldn't that be really hard if it
had gravity!" That was the way I'd intended it to be read anyway.

For what its worth, I really enjoyed your programming style, it was clean,
concise and built in such a way that extending it to include gravity was
trivial. It took me longer to remember the syntax to diff than to figure out
the changes.

~~~
alextgordon
Please don't apologise. It is not the right of an author to stop people from
discussing changes to their works.

------
_delirium
Ah, but as a recipient, the arrangement with your code is the same as with
your text: if you put something where I can get it, I'll modify it if I wish.

You may of course prevent me from distributing entire derived works, but not
from distributing mere patches like the one that was posted for HATETRIS---
any more than you could prevent me from posting a Perl script that uses a
regex to change characters' names in your novel.

Particularly amusing that a rant like this would come in response to someone
modifying a game that _was itself an unauthorized modification of another
game_.

------
jsyedidia
It seems to me that the author may be interested in the license Donald Knuth
used for the Stanford GraphBase, which looks like this:

The Stanford GraphBase is copyright 1993 by Stanford University

These files may be freely copied and distributed, provided that no changes
whatsoever are made. All users are asked to help keep the Stanford GraphBase
sources consistent and "uncorrupted," identical everywhere in the world.
Changes are permissible only if the changed file is given a new name,
different from the names of existing files listed below, and only if the
changed file is clearly identified as not being part of the Stanford
GraphBase. The author has tried his best to produce correct and useful
programs, in order to help promote computer science research, but no warranty
of any kind should be assumed.

~~~
btilly
That is very similar to the license that Knuth used for TeX as well.

However in both cases Knuth made it clear that he is OK with people reusing
the TeX source code as long as they make it clear that it isn't TeX. And again
his reason is that he wants people to be able to rely on perfectly consistent
behavior from anything that is called TeX.

------
jsankey
I don't really understand the author's aversion to other people adding their
own contributions and creativity. How exactly is it harming him? He can retain
control of the original -- it's not like anyone is forcing him to accept
contributions. And indeed unless he explicitly allows it they can't even
distribute an updated version of his project.

If you put something out there, you should be flattered that people take
enough interest to tinker with it.

~~~
jacquesm
We once had an architect that sued the occupants of a house he designed
because the washing they hung out to dry disturbed the beautiful lines of his
creation.

Arrogance comes in all kinds of forms.

------
thisduck
The point being made "creations being his babies" seems somewhat odd to me.

"But it's weird to me that other people are so okay with mucking about with
other people's work."

That's also called "progress". It's how people learn and grow.

Is it okay to take Shakespeare's characters and modify them here and there,
play with the setting a bit, and generally muck about? It's legal, but is it
okay? I assume his feelings are hurt that someone has taken __his
___idea/characters_ and modified them. Because it's not as if he took the
_idea_ of tetris and modified it. Imagine how hurt the author of tetris would
be! Oh, but is it okay if the auhtor is dead (like Shakespeare)?

Sorry, but I don't buy the argument/complaint. You want people to follow
certain rules, put up a license. Hundreds of ideas, words and characters are
written, and a lot of them are alike. We're not all that unique.

------
philh
I would guess the majority of source code available online is explicitly open
source. So it's reasonable to assume that this particular bit of source code
available online is also (intended to be) open source, if there's no
indication otherwise. Fiction is not the same, for various reasons: a work of
fiction posted online is probably not "open source" (creative commons or
similar), so that's not the default assumption with unlabelled fiction.

This is just culture clash. You're coming from a writer background and
publishing things for people coming from a hacker background. If you
explicitly state "this is not free software: look but don't touch", people
will at least understand what your expectations are. Not everyone will
understand or agree with you, but most will respect your wishes.

Similarly, I suspect a hacker-turned-writer would be likely to have a similar
attitude to his fiction as to his code, and use a CC license. Or artists in
general, actually: two examples I can think of are Randall Munroe and Jonathan
Coulton.

~~~
abeppu
I think it's a bit more than a culture clash. The issue is not only that the
majority of source code readable online is open source; it's that making code
readable is the only thing you need to do to allow people to copy and modify
it. It's a bit like a failed Searlian speech act where an actor running lines
or a student practicing French is overheard and presumed to be saying
something to someone in particular. The OP's readers, having looked at his
post and code, quite understandably mis-inferred that he meant the posted
material to be beneficial or useful to his readers, when really he only
intends it to be useful to himself in some hypothetical future where he wants
a job.

To my mind, this is similar to saying "look but don't touch" about a door
handle, an elevator, or a platter of hors d'oeuvres in a crowded party. Of
course people are bound to be confused; that's not the way to go about
bragging to people about your fragile antique doorknob, guerilla marketing for
the Otis elevator corporation or demonstrating what a really well made (
_prototype_ ) bruschetta looks like.

This isn't merely a cultural issue, where we're used to the availability of
code being a signal that it's open source. It's a deeper issue of social
cognition than that. Other people are seeing the hatetris post, and making the
perfectly normal inferences that humans as sophisticated social creatures are
bound to do -- namely that if he's putting stuff up publicly and even points
to it enthusiastically, and that stuff offers natural interactions to the
reader, then it must be because he intends his readers to partake of those
natural interactions with that publicly available stuff. Here the stuff is
code and the affordances are reading, copying and changing, but I they needn't
be for this error to occur. The OP's just failed to consider that his
readership might mistake his exhibiting of untouchable code as an invitation
to interact with it.

~~~
GHFigs
I understand where you're coming from, but the only reason the source is
available here is that he wrote in client-side JavaScript. There is no link to
the source, no download, no indication that the source is meant to be
available, and the explicit invitation to interact with it is to _play_ the
game, not monkey with the source. You make it sound like he was exhibiting the
code just because he didn't make it impossible to see.

------
aarongough
I understand exactly how the OP feels. I still get like that, even when I have
explicitly released something as open-source.

The way I see it if someone contributes to your codebase you still have the
right, and the obligation, to veto that code if you don't feel it matches your
philosophies and quality standards. Asserting your preferences is the only way
the code is still going to be 'yours'. If your idea of good code matches up
with other people's, great! If not, the code will still be 'your baby'.

------
xilun666
The authors basically says that it does not always like when people changes
_his_ stuff, so he thinks it's fine to do a kind of read only open source with
additional unwritten rights (basically i've got the impression that it's okay
to send him he likes, but he won't tell you before the rules for him to like
things or not...)

He does not take into account at all that you can just modify copies of his
stuff. Not his own (unless he planned to do a kind of wikipedia like
repository for his code, freely modifiable by anybody without even
registration).

And also: copies are naturally free in the digital age.

Also, i'm not fond the whole "i'm a good programmer, you are only allowed to
look because you could be a bad one and do a mess in your own copy -- and oh I
forgot: I happen to like free software, but not when I write the program"
thing.

------
blasdel
Part of the problem is that there are a number of completely orthogonal ways
to aggrieve an author: Infringement of Copyright, Infringement of Moral Rights
( _droit d'auteur_ , unauthorized alteration of the work or attribution),
Plagiarism, Breach of Contract, etc.

Here he's asserting his Moral Rights. Alteration is covered in the US by _All
Rights Reserved_ as it'd be a derivative work, but you'd have to lean on
trademarks and libel/slander to fully enforce your rights regarding
attribution.

------
jcw
And what about the idea that once you display something publicly, it's no
longer really yours?

------
paulgerhardt
In a curiously relevant case, concrete poet bpNichol created a series of 11
digital poems for the Apple IIe between 1983 and 1984.

The last of which is only visible in the source code as a sort of pun:
[http://www.vispo.com/bp/download/FirstScreeningBybpNichol.tx...](http://www.vispo.com/bp/download/FirstScreeningBybpNichol.txt)
\- scroll to the very end (lines 3900 through 4000). The REM command is Apple
Basic for "REMark" or a comment line.

More info and updated ports of his code can be found here:
<http://www.vispo.com/bp/introduction.htm> \- the notion of translation
(either between languages or architectures), and not yet breached by the
original thread, should make for some polemical discussion.

------
blasdel
The previous thread he mentions regarding HATETRIS:
<http://news.ycombinator.com/item?id=1253492>

------
ff0066mote
I think he views his coded-creations as a form of self expression, or art.
This is perhaps why he wants them to be treated with the same hands-off
approach as his fiction writings.

However, when it comes to code I think it's best to make known your intentions
for it because code generally has a practical function beyond its artistic
value as a creation, and as a result people may want to alter it.

------
RyanMcGreal
I guess the author has never heard of fanfic.

The highest form of praise your work can receive is for someone to take the
time to contribute to it.

------
greenlblue
This is the way I learned to code. I just stole stuff from other people and
made it work for what I was trying to accomplish by changing it little by
little. So what was his point anyway?

------
alexkay

      I like open source software. I'm a big fan of the
      objectives that open source software is created to
      achieve. I really like not having to pay money for
      Notepad++ and TrueCrypt and so on and so forth. I
      wish the movement every success.
    

FSF is against the "open source" moniker for a reason. Some people associate
it only with freedoms 0 and 1, and disregard the other two.

It looks like the author falls into the same trap.

