Friday, February 22, 2008

Shell Hell

I like the title Shell Hell because it rhymes. It describes my feelings about trying to fork a free software project by using shell script to rename every instance of "crossfire" to "wograld". I thought, oh, free software project, what more do you need to know besides how to program in the language the project is written in right? Wrong. I did not know all the stuff I would have to learn, and as embarrassing as it is now to admit it, I didn't even know THAT MUCH, when I began the project. But, still even with that one little problem, I didn't let it stop me from creating a project. I figured if someone could design without knowing how to program at some of these big game companies (or rather they programed or something for a few years and then moved into management), why couldn't I do the same thing? Besides I did start out with a couple programmers, one of whom didn't do very much work, and the other decided grad school was more important
Mostly I struggled with the other aspects of the project, learning how to properly use the source forge website was an undertaking in itself. First I needed to learn CVS version control. Then I had to learn other things like website uploading, html etc. I made foolish errors like thinking I need a fancier website than I actually did, using Drupal rather than plain html or html with css. I just found ways to make things hard on myself, trying to do everything myself.

Even though the lead developer seemed to be enjoying himself writing C code, the shell script was something he “didn't want to learn.” Now, I've heard stories of people trying to contribute to a project, but if you don't want to learn something like that, it is not tolerated. I now know the reason for that. You can't get away with “just writing the code” or thinking that you can somehow avoid learning things that you don't think are interesting at first glance, even though they are needed to get the project done. Sometimes things don't seem like very much fun to begin with, but that is because we go about them all wrong, not because they are inherently uninteresting. It took me a while to find a C programming book I could actually read and understand.