Monday, April 19, 2010

Ebert and Games, Again?

Roger Ebert has once again attempted to tackle the whole question of videogames-as-art. I have a huge amount of respect for Ebert as a human being, and as a film critic. He is a giant of a man. However, let's be honest: He doesn't play enough videogames to judge whether they are or can be art. His analysis of games based on Kellee Santiago's talk is comparable to a non-classical-music-listener critiquing Dvorak's New World symphony, simply based on someone else's description of it.

Certainly, it is a critic's job to describe things in such a way that a reader (or listener) knows whether something is worth experiencing, first-hand. However, the audience needs an appropriate frame-of-reference to get any value from the critic's review. I don't expect people who don't play videogames to have the frame-of-reference they need to appreciate, from a critic's review, the artistic merit of a given game.

Why I Don't GPL

What I am about to write may be controversial with some of my friends in the open source community, but it needs to be said.

For the most part, I won't make substantial contributions to any GPL projects anymore, as a matter of principle. I think that the license is, in many cases, self-defeating, and only delivers the highest-quality code for certain types of projects, under certain ideal circumstances.

Why is this?

To put it simply, the people you probably most want contributing to your project are developers who really understand the domain, and are going to give you professional-quality code contributions.

Many companies do not use GPL code, because they do not feel that they have the luxury of GPLing their own code. This is a practical truth, whether you agree with their reasons or not. Many of your would-be expert contributors work for such companies, and are bound by non-compete agreements that would prohibit them from contributing to your project in their spare time. If their employers aren't using your code, then they can't contribute to it.

In short, if you GPL your code, you may be missing out on some of your best contributors.

If I wanted to work on a piece of game-related code, and it was under the GPL -- in practical terms -- almost nobody will use it and no professional game developers will contribute to it, no matter how good or useful it is. I mean, really, it sounds like a horrendous waste of time to me.

One great success story of open source game development technology is the Ogre3D engine. This is an open source 3D graphics engine which is arguably as good as some of the expensive commercial ones I have used. It was originally released under the GPL, many years ago, and has gradually become more permissive over time (GPL -> LGPL -> MIT). Upon the transition to the MIT license, the project maintainer, Steve Streeting, notably observed the following:
While not requiring modified source to be released might initially seem like giving up an important motivator to contribute code back to the community, we’ve noticed something in recent years: 99% of useful code contributions come from people who are motivated to participate in the project regardless of what the license tells them they have to do. It’s our experience that a certain percentage of the user community will always participate and contribute back, and therefore encouraging adoption via simpler licensing is likely to result in more contributions overall than coersion via complex and restrictive licensing does. In addition, people who are internally motivated to participate tend to provide much higher quality and more usable contributions than those who only do it because they are forced to.
This is very consistent with my own observations of open source projects. I am curious whether others have seen the same.

Now, mind you, everything I just said can depend a lot on the domain of a given project, and also whether something is an API or standalone, and a number of other factors. Linux, for example, seems to be a perfect-storm of GPL-working-as-intended. However, there aren't a lot of professional operating systems developers in the world, and many of them work for companies that sell competing products, so one can make a fair argument that Linux probably gets the best contributors they are going to get, regardless of how permissive their license is.

Thursday, April 08, 2010

The Tech Book Revisited

I used to spend a lot of money on tech books.

As a programmer who is always expanding my horizons and trying out various technologies (and generally trying to keep my skills fresh), I spent exorbitant amounts of money buying fat tomes full of wisdom that would be obsolete, oh, about 15 minutes after I brought them home. Sometimes, they would already be obsolete, by the time the publisher managed to shove them out the door.

The web changed things... up to a point. I no longer need hefty API references, since most API references are published online, and it is considerably faster to search them electronically. If I have some obscure question about how to accomplish something or solve a problem, there is usually a forum or article somewhere that will address my concern. Still, there is usually at least one good "bible" on any given topic that was worth having. What C programmer doesn't have a yellowing copy of K&R on her shelf? What Perl programmer doesn't have the camel book? What webpage will replace our Stroustrup? Our Knuth?

When I was living in Australia, I couldn't take all my books with me from the States. That was when I discovered O'Reilly's Safari. In the beginning, it was most of the O'Reilly library, online, and you could keep a bookshelf, with a few books on it at a time that you could read on the web. Today, the library has expanded to many publishers, and you can buy a yearly subscription that gives you access to the entire library. The subscription is a bit pricey, but if I truly admit to myself how much I was spending on technical books per year before, the price is not unreasonable. It is access to a giant library of the most recent version of nearly every computer book you could ever want. How do you even put a price on that?

However, like all websites containing technical information, Safari presented an interesting usage-pattern problem for me. I can use a physical technical book without taking up any of my precious screen real estate. An electronic technical book, however, uses your computer screen. If I have a second screen up, I am usually already using it for some kind of work. There is a decent mobile version of the Safari site, but I usually only use it when I'm curious about something on-the-go, because my phone screen is just too small to be a practical display for a tech book. So, if I need to refer to something, I often end up with a laptop to my left or right, displaying a book. This is ultimately a waste of space and energy.

A few weeks ago, I won an iPad in a drawing (Thank you, PayPal!). It arrived yesterday. I thought it was pretty cool, but I wasn't sure yet what on earth I was going to use it for. Before the day was out, I was already browsing a tech book on my iPad, while I coded on the desktop. Well, now, there's a perfectly good practical use for my new gadget -- technical book viewer. I wonder what else it will turn out to be good for?

Sunday, December 20, 2009

Save Frequently

I always find reformatting drives to be terrifying.

It's not that it's difficult. I know how to burn an iso, set up my BIOS to boot off of CD, and run the manufacturer's drive re-initialization utility. It's kind of a no-brainer. The thing that truly frightens me is that when I was copying all of my own personal data off of that machine, it's entirely possible I missed a batch of photos, a program, a story, a piece of artwork, or a song. My fear is that I may have created something that will be lost forever. Some little piece of me will be irreparably overwritten by zeros.

I double and triple-check my backups, and then make extra backups. I make sure my stories are all there. I fish around for iTunes songs I won't be able to download again. I marvel about some of the things that were on that drive that I didn't realize were there. There are the photos from Portugal. This wasn't even the same laptop I had in Portugal. How did they end up here?

I make one last check before pulling the trigger. I skim a few lines of one of my stories, just to be sure that this was the copy that had ALL of the text in it, and not an earlier revision. The software warns me several times that I will lose everything -- as though I could possibly need to suffer more anxiety about this maneuver.

Finally, I do it. Gone, gone, gone.

At times like these, I sometimes think I should just start keeping everything in my Subversion repository. Why is my code the only intellectual endeavor worthy of this sort of care? Documents have revisions, too. Music notation is rarely perfect, the first time.

Life is dangerous: Save frequently.

Tuesday, December 15, 2009

Independence Day

I know, I haven't been posting here much. It's hard to post about things when you're, well, busy doing them. But, it's time I spilled the beans in a more public way: I am, at long last, going indie.

I have put up my shingle here: http://pixelsea.biz/

Let me be clear: This does not mean that I am looking for a job. I have a full-time job, working for me. I keep myself very busy, and I would be very cross with myself, if I were off interviewing for other jobs, when I have so much work to do. However, if you have any short contracting gigs, I may be willing to consider having a stab at them, as I am a bit of a scrooge, and don't pay myself very well, yet.

Tuesday, May 20, 2008

Nerd Nation

Every time I hear "Handlebars" on the radio, when I hear the line...
I can make computers survive aquatic conditions.
...I just feel like saying, "Oh yeah? Well so can I. BRING IT!"

Saturday, May 17, 2008

Crime and Punishment

The hypothesis: When we make it more convenient to be a pirate than it is to be a legitimate customer, otherwise legitimate customers will turn to piracy.

We should not be punishing our customers for the actions of those who are not our customers. This makes absolutely no sense. When a legitimate customer has to suffer more inconvenience, frustration, or worse -- degraded content quality -- because of our anti-piracy mechanisms, they will turn to circumvention and non-legitimate sources for our content. The more they have to do this, the more familiar and comfortable they will be with doing so in the future.

We must always strive for a quality user experience at all levels -- including access to our content, installation of our content, and day-to-day use of our content. Remember: Our customers are the ones who paid for our content. We need to take good care of them, and let them know that we appreciate their business.