A question which came up a couple of times when I put HATETRIS online was what license I was releasing the code under.
This is a question which caught me rather by surprise. As most of my regular readers are aware, I have spent some years now quietly and simply creating content - almost all of it textual - and shoving it out online so that others may read and enjoy it. When I say "almost all of it textual" what I mean is "fiction". When you put fiction out online, nobody asks you what license you are releasing the characters under. I mean, what part of putting a story online implies that it is available for other people to, in any way, modify and re-release? When I write something and put it out there, I think the implication is pretty clear that I don't particularly want other people to take the setting and run away with it. If that was my intent, I would have made it explicit. This is the way online fiction works, is it not?
I enjoy coding very much and I consider myself to be pretty good at it but up until very recently it had never occurred to me to create any code for public consumption. I've started to do so mainly because I want to share examples of what I think is good code, and because I want to be able to demonstrate my coding ability to, for example, potential future employers in related fields. And, of course, I want people to be able to enjoy and make use of the code I've provided (and, in the case of HATETRIS, the game it codes).
So the arrangement with my code is the same as with my text. I create, you consume. That's all there is to it. I'm happy with that arrangement. While tersely stated, it's not evil. If you wish to create, by all means acquire web space of your own and others will happily consume your work in turn.
But software somehow seems to be a different kettle of fish entirely. Several people have asked me about what license the code is released under and several other people took it upon themselves to email me modified versions of the game which added functionality or fixed perceived defects. Why is there an assumption that all code is released under some sort of license? Is it taboo, in the world of software, to deliver code which is at the same time freely available for anybody to inspect but not available for free modification? Is it acceptable to say "look but don't touch"? This is, after all, the unspoken assumption when I put fiction out. What's the difference between fiction and code which makes one of them want to be free while the other doesn't? Isn't there the same level of respect for authorial control?
I'm not unhappy with people modifying HATETRIS. It just took me by surprise because it thrust upon me an urgent need to figure out exactly what my opinions are on a fairly complex aspect of intellectual property.
I take great pride in legible, commented code. What if someone modifies HATETRIS but makes the code into junk? Well, what if someone rewrote a few paragraphs of Fine Structure in a way that makes them happier but which I hate? I think I have the right to to be indignant in the second case. Why not the first?
I was working on performance enhancements in the HATETRIS AI algorithm. Someone, unsolicited, sent me a version of HATETRIS with all of the enhancements I was working on already implemented. For example, expressing each row in the well as a binary number encoding a bit field, instead of an array. Does that person now get co-credit on what I was about to do?
Someone turned Fine Structure into a PDF suitable for offline or ereader reading. Because Fine Structure has some difficult nested chapter navigation, he added some top-level chapter headings. These chapter headings had been invented by him, not me, and were now being presented as part of the story. It was a relatively minor change, but it made me feel really weird.
I have no problem with well-meaning bug correction. But it seems like there's less inhibition to this kind of thing where code is concerned. And there is a point, in both the case of fiction and code, where I begin to feel uncomfortable with the changes that people are suggesting.
Everybody referred to in this article has been nothing but courteous with their contributions. Certainly, nothing so uncouth as copyright violation has occurred. If someone had stolen my work and reproduced it elsewhere in the world without my permission - with or without my name still attached - then you can be assured there would be fury here, not polite befuddlement. Most of these folks sent their work directly to me for my judgement and for me to do with as I wanted.
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.
At the same time I am a creator, and I am positive on creator rights. I am okay with the idea of creators charging money for the things that they have created. I am okay with coders not being obliged to provide source code for their compiled applications in the same way that, if I am to purchase a marble sculpture, the sculptor is not obliged to provide me with his hammer and chisel, nor reveal his entire creative process, and certainly not teach me to sculpt. I see no contradiction with this viewpoint.
I guess the point is that the things I create are my babies. They are my property. I have them set up just the way I like them. When people begin rearranging my stuff, it feels personal. I'm okay with it in principle because for me to not be okay with it would just be petty and overbearing and impractical. But it's weird to me that other people are so okay with mucking about with other people's work.