Categories
General

The GBGames’ Blog Year in Review

It’s the one year anniversary of my blog! Since January 27th, 2005, I’ve made over 250 posts on topics as varied as game development, game design, general geekery, health and fitness, marketing, politics, and books. There have been over 200 almost 300 comments on my blog, and I’ve gone from 50 accidental hits a day (people leaving within milliseconds) to somewhere between 450 and 600 hits per day depending on which web stats package I use. w00t!!

Here are a few of the posts that I think were significant:

January 29th, 2005: I wrote My Ability to Create in which I wrote about…well apparently Steve Pavlina if you didn’t get past the first few paragraphs. I think I’ve improved my writing and blog posts since then. You know what the heck I am writing about by the time you hit paragraph two at the latest. B-) Anyway, I also talk about how, objectively speaking, I did not have the skills to create a product. I couldn’t really prototype, let alone make something to sell.

I noticed at the time that a big part of the problem was that I was expecting to improve my skills by squeezing time in between all of the other aspects of my life. I was going to grad school AND working full-time. I was making plenty of time to be with friends, and dropping other tasks to do so easily. I was driving to a train station in Chicago and then taking a train downtown in order to get to work, which meant that I was commuting 10-20 hours a week!

I have since been taking a train that has a stop near my house. It’s a little more expensive, but being able to get to work on a train that I am almost always guaranteed a seat on is great. I read books, articles, and otherwise make good use of my commute. It’s also quicker. I get to work within 30-45 minutes. Getting to leave my house later and getting home earlier really frees up a lot of my time. Money well spent.

I also stopped going to graduate school. My thinking was, “I already have a degree. I don’t have professional experience in software development, so what good would it be to spend another couple of years getting another piece of paper that says I went to school?” Not having to worry about classes, homework, and exams, especially for topics that have no direct relation to my game development, has been great.

Now I dedicate certain nights to coding and development. Those are MY nights, and I will only occasionally allow some other event to interfere, such as an IGDA or Chicago Indie Game Developer Club meeting. I’m not always great about making optimal use of my time, but it is definitely better than hoping I can squeeze some time in.

Looking back, I’m very happy with the decision to stop going to grad school. I’m also happy with the amount of time I freed up with the other decisions I made. Now, I just need to be more vigilant about guarding that time. For a good example, part of this blog post was written on a development day, which shows I need to set a goal to be more efficient with my development time. B-)

January 30th, 2005: How I Want to Make Games just pointed out that I wanted to make games available for Gnu/Linux. Some people think I want to do so exclusively, but I also understand that I’ll need to make games available for Windows and Mac OS X. My main point, and I still maintain this point, is that I don’t want to ever release a game that isn’t also available for Gnu/Linux. I never want to release a Gnu/Linux port months or years after the Windows release either.

March 21st, 2005: Learning Kyra was the first part of a series of blog posts in which I write about the Kyra Sprite Engine, a cross-platform library for handling 2D images in games. I found that writing about the experience was good for helping me to clarify my own knowledge, and I hope it has been helpful to anyone else who is trying to learn about Kyra. I’ve learned a lot since this first post. For instance:

#include “SDL.h”

All well and good, but why not use the system include instead of a local one? If you know, please let me know why the first way would be preferable.

Since then, I was informed that “SDL.h” is used instead of <SDL.h> because it is what the libSDL documentation and examples use. It is more cross-platform friendly. I’ve also learned that my concept of system includes vs local includes was muddy at best. You link SDL using the compiler. It is sort of like having the libraries brought to the compiler. I was under the assumption that if you were using system libraries, they would never use quotes since those were for local files such as your own code.

It’s little experiences like this that show that I’ve improved as a programmer, if only marginally.

April 15th, 2005: The Courage to Take a Seat is about the importance of courage in business and in life. If you don’t play, you’ll be forced to stand on the side and watch as other people play instead.

May 23rd, 2005: Out of Touch with Games was about the idea that novelists can’t write great novels until they read lots of novels, good and bad. Maybe it was written around the time I read Stephen King’s On Writing? Anyway, game developers can’t expect to make great games if they work in a vacuum. They need to play great games. They need to play bad games. But they need to play games. A lot of developers will be asked “What games are you playing these days?” and the answer will almost always be, “I don’t have time to play games.”

I can’t say that I’ve made too much headway in this regard. I still rarely play games, although being a staff reviewer at Game Tunnel has helped by providing me with eight to 12 indie games a year. I schedule time to play those games, but I feel guilty scheduling time to play other games when I could use that time to make my own. But let me never say, “I don’t have time to play games” since it is more accurate that I haven’t dedicated the temporal resources to them. B-)

June 10th, 2005: June’s Game in a Day Theme: Fusion was the first of a number of updates of my progress from Game in a Day. My project wasn’t exactly a big success. It wasn’t anything like I wanted it to be. TomB was right when he said I would spend too much of my time buildig infrastructure instead of a game. I had eight hours left before I finally had ANY kind of gameplay.

It was surprisingly fun for what it was, but the main thing was that I did it and survived. I need to participate in a few more of those this coming year. Heck, I even get my name up in lights!

July 27th, 2005: Simple Game Project for August: Oracle’s Eye was a description of a game project that was supposed to be simple enough to be completed within one month. I finally got it to a playable state at the end of November, and spent December tweaking it as I could. I learned a bit about project management, but not nearly enough! I decided to keep working on it even after “completing” it. The first 90% was complete. I just had to work on the remaining 90%.

I also enjoyed all of the feedback I was getting from a number of game developers. People were quick to give me encouragement and one was apparently bored enough to spend the time porting it to Windows. B-) I’d like to say thank you to everyone who has been so supportive of this game. If I ever code it so that credits appear, I’ll be sure to add your names.

August 7th, 2005: Secret to Getting Results wasn’t exactly a huge or popular post, but it seemed important enough to mention here. I found that the link to the referenced article was broken, but it is fixed now.

August 22nd, 2005: In Incorporating GBGames, I realized that I couldn’t just keeping thinking about forming a company. I had to actually DO it at some point. That realization made a huge difference in my thinking and, as a result, my actions. I have since decided to go with an LLC instead of an S-Corp, but it doesn’t change the fact that I am now much more dedicated to starting this business.

August 27th, 2005: I’ll Look for Anthony Salter’s Name links to an inspiring article about taking action towards your goals.

September 21st, 2005: Report: Grand Rapids Schmooze 2005 documents my contact with a number of people from the ASP over the course of a weekend. It was definitely one of the best trips I had ever taken.

September 22nd, 2005: Returning from Grand Rapids, I learned about the The Death of John “overcode” Hall on September 17th. I basically wrote about how surprising it was that John was only a year older than I was and had accomplished so much. It really made me think about what I was doing with my life.

October 14th, 2005: IGF 2007 declared my intent to enter the Independent Games Festival for 2007. I felt a bit discouraged by the lateness of Oracle’s Eye, but I decided that I might as well aim for a big target. I got quite a few supportive comments here, too.

November 20th, 2005: On this day I announced the “completion” of Oracle’s Eye.

November 22nd, 2005: On this day, I announced the continuation of Oracle’s Eye. I’ll finish it.

November 30th, 2005: Action vs Waiting, Practice vs Talent was concerned with the idea that experts become experts through practice, no matter what the subject matter. By doing something more, you learn more. Experts do 10,000 hours worth of more than non-experts, but even dedicating 10 hours to mastering a topic can only help you.

December 2nd, 2005: Somewhat Interesting Game Idea: A Buggy Game was just a fun exercise in creativity, but a number of people responded with comments and concerns. I plan on posting other Somewhat Interesting Game Ideas in the future.

December 20th, 2005: Forming an LLC in Illinois documents what I had learned about forming an LLC. I figured that putting it up would be useful to others, and it inspired a similar post for Wisconsin.

January 4th, 2006: The First Law of Motion discussed the idea that until I take action, I won’t change my course in life. At the same time, once I take action, it will probably be very easy to continue to take similar actions.

January 9th, 2006: The Thousander Club follows along the same lines as the November 30th post on the importance of practice. 1,000 hours in a year is aggressive for part-time practice, but by accomplishing it, you would have no choice but to improve. Even if you don’t do 1,000 hours, you should show some definite increase in knowledge.

I’ve made many observations about game development, some that seemed to be insightful, some that betrayed my lack of experience, but looking back, I see that I’ve definitely grown in this aspect of my life. In fact, I can look back and generally say that I’ve improved in a number of a different areas. That’s not to say that I don’t have a long way to go.

Here’s to a second year!

Categories
Game Development

Oracle’s Eye Development: Taking an Hour

Thanks to a comment from a previous post, I decided to follow the advice on GameProducer.net specified in the article 1 hour solution to any problem.

… decide that you won’t check email before you have done that one daily hour. Don’t watch tv, don’t visit those nice discussion forums you usually do, don’t allow yourself to do any nice thing you usually do – until you have took action for at least one hour.

So I did it. I set an alarm for an hour and started planning my next steps with Oracle’s Eye. Before I get to the results of that hour, let me just say that I couldn’t believe how easily distracted I could get. I’d want to check my email to see if someone responded to a message I sent the day before. I wanted to see if a question I asked on the Indie Gamer forums was answered. I even wanted to start a blog post! There were a number of smaller things that I refused to do during that hour as well. Still, I didn’t think that hour would be so difficult. Perhaps with practice it will get easier.

So how did I productively spend that hour? I started by trying to picture what I wanted Oracle’s Eye to be like when it was completed. I then worked backwards by trying to list each “accomplishment” I would need to complete the entire project. Among the subprojects: defining a level structure, creating a level editor, selecting a level, loading a level, playing background music, and playing sound effects. I also wanted to add animation to a number of objects, fix the collision detection, improve the frame-rate independent movement, and create a menu system. I want to be able to build the project for Gnu/Linux and Win32 from a single codebase.

Having all of these specific subprojects is a bit less unwieldy than simply wanting to “complete the game project”.

I then needed to manage what actions will be involved in actually trying to finish a subproject. I picked frame-rate independent movement first. Here is a portion of my next actions list:

Frame-Rate Independent Movement:
    - To get game time to run at regular intervals
        - find/read FRIM references
        - define # of milliseconds in interval
        - verify that the code already in place will run updates at interval
        - change/update code so that it does, if needed

That doesn’t seem so hard, right? Perhaps I’m leaving out some details, but the very next action is good enough to get me going when I do sit down to work on this part of the code. It might be all I need to keep myself going, filling in the gaps as I go. Otherwise, I’ll just run this exercise again to get a better next actions list.

I’m still surprised at how easily distracted I was. I’ll need to work on that issue. I have a sign on top of my monitor that says, “What is the best use of my time right now?” that I apparently ignore now. I do so many things from one moment to the next without consciously thinking about whether it is the best thing I could be doing at that moment. In the future, I think during the hour it should be ok for me to at least write down those things I think to do. I can remember to do them later when it is more appropriate. It won’t really serve as a distraction in that case since I can get it down on paper and get it out of my head. We’ll see.

In any case, forcing myself to work within the hour actually made me more efficient with the time I utilized. When I needed to look up something for my list, I noticed that I was much quicker about searching than I would have been if the hour deadline wasn’t approaching. It would take me less than a minute to get the information I would need. Normally I might take five minutes or more because I would check if there are any comments on my blog or check for interesting new posts on the forums. I had a feeling that each second counted, and for the most part I treated them that way.

The next time you have a project that is sticking around on your list for too long, try to take at least some of it out in one hour. Even if you get somewhat distracted as I did, you might find that the time you do focus on the project will be incredibly productive. For another example, I dedicated an hour to catching up on magazines and got through a few of them before stopping to make dinner. I might catch up on the last few Escapist issues if I dedicate another hour tonight. B-)

Categories
Politics/Government

Defending Games from Politicians

Tom Buscaglia’s awkwardly titled article on Gamasutra, Game Law:
Prior Restraint the Games – a Rant
, was printed on January 19th, 2006, but I only just now read it.

It is easy to complain on web forums. It is easy to say, “Good job!” when someone writes a well-opinioned piece on games. Buscaglia argues that it is easy and it isn’t enough. Gamers and game developers need to organize in order to make sure that change is effected that preserves the game industry.

When Illinois Governor Rod Blagojevich was trying to pass a law banning the sale of violent and sexually explicit games to minors, I wrote a few letters. I wanted my concerns to be heard. I had to push, but I eventually got a response.

The Sun-Times never did print my letter regarding this law. Unfortunately, I never sent similar letters to the Chicago Tribune. I never sent one to smaller, local newspapers. I never sent them to national newspapers. I never submitted it to any gaming news sites! There was definitely more I could have done to raise awareness of the issues. I am glad that people like Jason Della Rocca are around, but I really can’t depend on everyone else doing the work for me.

I do know that I will not be voting for Blagojevich in the future. I won’t be voting for Don Harmon or Deborah L. Graham either. I guess what frightens me most is the idea that the alternatives won’t be any better, but I don’t like the idea of having my vote held hostage just because the politician is “good enough”.

Categories
Game Development

Oracle’s Eye Development: Halted Development

My last documented development session was mid December. It’s now about a month later, and I haven’t worked on Oracle’s Eye.

I could list a bunch of reasons why I haven’t been able to work on it. Christmas took up a lot of my time. I was out of town for a week at the end of December, and I don’t have a laptop I could have used to work on the project. I moved during the first week of January, and only now do I feel that my computer area is mostly distraction free.

But those are just excuses. Clearly I didn’t give my project the priority it deserves. Still, I think there was something more to it.

I would decline invitations to events and say, “No, I really need to get some work done.” Then, during the time I should have been working on game development, I would get too easily distracted. Email would get checked way more often than it should have. I’d shuffle through papers on my desk. I would handle other tasks in my list of things to do. Then it would be incredibly late, and I would have to go to sleep to go to my day job in the morning.

It would be another evening wasted. I could argue that I at least got to cross some things off of my list. “The day wasn’t a total loss!” Of course, that’s not a useful justification when I haven’t done what I should have been doing for a month. If I keep this up, December 2006 will show up and I still won’t have a game to show for it.

So why haven’t I been able to even look at my project for so long? I finally identified it as fear. I’ve gotten the project to a point where I don’t have clear specifications and so it is hard to know exactly what to do next. I had the same problem when I started the project. I didn’t know what to do, and so I didn’t do anything. I didn’t want to do anything wrong! I’ve since learned that it is better that I do something rather than nothing. By hacking at my code until I have something useful, I now have a base to work with. Now, when I have to decide on my next task, I can more easily see if it will make the project better or worse.

So I sat down and wrote down all the things that would need to be accomplished in order for Oracle’s Eye to be considered really finished. For each of those accomplishments, I can then write down a plan of action. Afterwards, it should be a simple matter of just following the plan. Once the plan is completed, I can repeat the process with another accomplishment. It won’t always be easy to list out exact actions, of course. After all, I’m still learning about the problem domain. Still, it should get me out of this slump.

While I was writing this post, I realized I was referring to my lack of progress as a slump, which reminded me of Steve Pavlina’s article From Slump to Supercharged. Rereading it, I see that I was able to diagnose the problem correctly.

So let’s dive right into the heart of the problem. Why are you in a slump? You’re in a slump because you’re afraid. And you’re expending a lot of energy avoiding what you fear. It may not even be the subject of your work. It could be something totally unrelated, but it’s something that’s very important to you.

Near the end of the article, he talks about how fear and love are opposites. When you get rid of the fear of a challenge, you replace it with the love of the challenge. I noticed that when I was able to get past the fear of doing the wrong thing and could jump into development on Oracle’s Eye, I was loving it.

This week, I’m tracking my development time very closely. I’ve joined The Thousander Club at the beginning of January, but I haven’t done anything to show for it yet. Essentially that means that I am almost 85 hours behind for 1,000 hours of development time this year. I intend to catch up, which means that I’ll need to work on a plan to do so.

In the meantime, I just want to get out of my slump and start loving my game development again.

Categories
Personal Development

Problems with Part-time Game Development

It is commonly understood that it takes 15 minutes to get into The Zone, the state of being where you can do no wrong and everything just flows. Getting interrupted for even a moment can disrupt that state, requiring another 15 minutes to enter again. Still, once you’re in The Zone, hours can go by before you even notice. Lunch, dinner, and bed times all fly by before you know it. It’s great. On the other hand, leaving code alone too long can really disrupt your work.

I came back to working on Oracle’s Eye after leaving the project alone for a month. Normally when I start up a session, I can check out a copy from my Subversion repository. This time, I find that what’s checked in and what is checked out is different. Apparently I made some changes but wasn’t finished with whatever task I had. I didn’t want to check in changes that would break my build, so I left them unchecked.

Coming back to them a month later, I have no idea what I was trying to do at the time. I think I was working on improving frame-rate independent movement, but where did I stop? How do I continue? Now I have to decide between throwing out the work I did before and work on the last known, good, and checked-in code or sludging through the new code and trying to remember what I was trying to do. If anything, it shows that I really need to be more disciplined about working on the project. Leaving it alone too long results in wasted effort trying to remember what I was doing and what I need to do.

It is the complete opposite of being in The Zone. When working on any non-trivial project, it is perfectly fine to focus on one aspect. You might forget about some details in one component of your engine, but you’ll know another component like the back of your hand. You have to get that intimate with your code when you work on it so closely and frequently, and it is perfectly normal to forget details about a part of the project that you haven’t looked at in some time. If you leave the entire project alone, however, the entire project slowly gets forgotten.

If I was working on game development full-time, I probably wouldn’t have the problem of leaving a project alone for a month. Since I am working part-time, I have to fit game development into my schedule that already has a full-time job plus all of the tasks of living a life: laundry, cooking, transportation, reading, gaming, paying bills, eating food, having a social life, etc. It is very easy to feel too tired and say, “I’ll work on the project another night.”

Too easy.

To help, I’ve started to think about the end results. What will it be like when the game is finished? When will I get the first sale? How many sales will I get within the first month? How many people will play MY game? How many will give me feedback to make it better? What kind of postmortem will I write?

Each time I think about it, it motivates me to work on the project. Each day I delay is one more day that I need to wait before I can let someone play the game. Each hour I waste is one more hour that’s needed before I could see my first sale. When I let go of an opportunity to work on the project, I also lose the results.

Just thinking about what it will be like when I am finished is inspiring. I will need to remember to do so if I ever get into a slump again.

Categories
Game Development Marketing/Business

Freedom and Independence

Freedom and Independence is an essay by Dan McDonald on the Game Tunnel website about the reasons so many people have been going indie.

With so many people becoming independent game developers, the question is, “Why?” What makes it so appealing?

McDonald thinks that being able to create a game the way you want to make it without worrying about appeasing Marketing or some third party investor should be the big reason. Being indie because you want to be indie.

He then argues that the goal of financial independence actually constrains you and makes you less indie. By allowing your game design and creation to be dictated by the bottom line, you necessarily restrict what you might develop. Perhaps, but there is no denying that worrying about the Marketing Department is completely different from worrying about marketing. When you’re indie AND trying to make a living, your customers matter most rather than a checklist provided by a separate group in your company.

On the other hand, maybe the definition of “indie” has been stretched. Is the freeware developer who makes whatever he wants any more indie than the shareware developer who makes what his customers want? It’s one way of looking at it.

McDonald finishes the essay with the following plea:

So to new independent developers, I encourage you to enjoy your freedom and make something you are passionate about. Like most things in life, if you follow your passion you will eventually find financial success. It’s not a valid business plan, but there is enjoyment and significance to be found in creating games with passion. The potential for those kinds of games is why sites like this exist. Do you think they really want to review another game packed full of casual mechanics and themes (or whatever else is the hot selling trend of the day)? No, they exist because they want to support developers who are free to create games that are expressions of their own appreciations and personality instead of what everyone else who’s bound to the almighty dollar is doing.

When I was younger, I wanted to make video games, but I never thought it would be to specifically make clones and derivative works. I’m sure most people wanted to make the “best-RPG-ever!!!!”, or some incredibly involved simulation game. Some people have gone on to make such games. Others might have forgotten to even think about what their dream game would be…

/me adds “Decide on dream game idea” to New Year’s Resolutions.

Categories
Game Development General

Rescheduled: January Chicago Indie Game Developer Meeting

Since a number of people couldn’t make it to the meeting this past Tuesday, including myself, I’ve rescheduled it:

Where: The Starbucks at
Streets of Woodfield
601 North Martingale Road
Schaumburg IL, 60173

When: Monday, January 30th, at 7PM.

Same place, same time, just a different date.

Next month’s meeting will be in Chicago, but we can discuss where and when at the meeting and on the Indiegamer forums or the Chicago IGDA forums. Hope to see you there!

Categories
Game Design

Game Design Notation

Danc at Lost Garden posted Creating a system of game play notation, which attempts to create a notation to document the game play of any game. Lost Garden has had previous posts that strongly emphasize the importance of regularly occurring rewards for the player’s actions. The description of the notation seems to be geared towards such designs.

It starts with a history of musical notation. Once it was possible to record music on paper with accuracy, it was easier to communicate the music to others. Also, it was easier to identify and fix bad compositions. You could analyze a composition on paper rather than require the music to be played over and over again. It also allowed more complex and sophisticated music to be created. I think it is like the idea that the human brain can only handle so much at once, but if you were to write down your thoughts, you could free up your mind for higher-level thinking.

Danc argues that game design language is currently in the same situation that music was before the invention of the musical staff. The idea of a language for game design isn’t new, and some attempts at providing a vocabulary exist, but I don’t know of anyone who has tried to codify it as extensively as the description at Lost Garden.

I think one of the coolest parts is the application of business information visualization to game design. Danc refers to it as making complex game data “glance-able”. The science behind it is that the human eye can take it huge amounts of data at once. Present someone a paragraph of text, and it might take some time to read and understand. Present that same person with a bar graph, and they can instantly tell you that one bar is bigger than another and by how much.

My favorite quote:

What we do get is the ability to describe a game using well defined terminology. Instead of saying “This is boring”, you can point to a period of 5 second in buzz graph with no rewards and identify the events leading to that situation.

Can we get that precise? It would be amazing if we could; however, some people would argue that game design involves much more art than science. The idea of codifying game design might be similar to “An Introduction to Poetry” from Dead Poets Society: “I give American McGee’s Alice a 42 but I can’t dance to it.” Rather than help with improving game design it would actually result in a bunch of games that look and feel exactly the same.

I personally think that it won’t be the case. For one, without such notation the game industry has already been accused of stagnating. It can’t hurt to form a common language. Once you can identify the chords, you can learn to put them together in different combinations to make your own great music. Once we can speak in a standard way about game design, whether with Danc’s notation or the 400 Project, we can piece the different parts together to make great games.

Categories
Geek / Technical Politics/Government

Free Software and the Power of Language

It’s been coming up a lot recently, and I, as a Gnu/Linux user and Free Software advocate, am getting tired of being lumped in with software pirates. Free Software and Open Source Software is not about getting something for nothing. They aren’t about stealing anyone’s livelihood. They aren’t about ripping off hard-working programmers.

The use of the word “free” is unfortunate in that people think it means “$0” or “no price”. The Free Software Foundation won’t use another word because they want to emphasize freedom; “open source” doesn’t call to mind the idea of freedom at all. The FSF philosophy is that all users should have the freedom to run, copy, distribute, study, change and improve the software.

Free Software refers to freedom, not price. Most people get that part.

What is frustrating is the number of people who support Free Software AND miss the entire concept of freedom. These people are worse than the ones who are against Free Software because they think it is about giving away things for free; they make it seem like the GPL was created specifically to prevent commercial use!

I’ve argued that the distinction between “free software” and “commercial software” is false; they are not mutually exclusive. A lot of people on all sides of the argument are careless with these words, which only muddies the waters and makes “free software” much more confusing to talk about. The use of the right words makes all the difference. “Death Tax” sounds a lot worse than “Estate Tax”, for instance, and the use of one term instead of the other helps to change the way you think, especially if you can’t be bothered to learn about the facts.

From gnu.org’s Words to Avoid:

“Free software” does not mean “non-commercial”. A free program must be available for commercial use, commercial development, and commercial distribution. Commercial development of free software is no longer unusual; such free commercial software is very important.

“Commercial”

Please don’t use “commercial” as a synonym for “non-free.” That confuses two entirely different issues.

A program is commercial if it is developed as a business activity. A commercial program can be free or non-free, depending on its license. Likewise, a program developed by a school or an individual can be free or non-free, depending on its license. The two questions, what sort of entity developed the program and what freedom its users have, are independent.

In the first decade of the Free Software Movement, free software packages were almost always noncommercial; the components of the GNU/Linux operating system were developed by individuals or by nonprofit organizations such as the FSF and universities. Later, in the 90s, free commercial software started to appear.

Free commercial software is a contribution to our community, so we should encourage it. But people who think that “commercial” means “non-free” will tend to think that the “free commercial” combination is self-contradictory, and dismiss the possibility. Let’s be careful not to use the word “commercial” in that way.

How many anti-Free Software zealots would be surprised at the above? Heck, how many pro-Free Software zealots would be surprised at the above? From flame wars on a forum to government reports to FUD spread by certain organizations and companies, the use of the word “commercial” as opposite “Free Software” or “open source” makes people think that FOSS must necessarily be non-commercial. It’s not.

When talking about free software, it is best to avoid using terms like “give away” or “for free”, because those terms imply that the issue is about price, not freedom. Some common terms such as “piracy” embody opinions we hope you won’t endorse.

Let me put that part in bold: Some common terms such as “piracy” embody opinions we hope you won’t endorse.

For those who think that the FSF is about supporting piracy, how do you explain that statement?

On the same page:

“Piracy”

Publishers often refer to prohibited copying as “piracy.” In this way, they imply that illegal copying is ethically equivalent to attacking ships on the high seas, kidnapping and murdering the people on them.

If you don’t believe that illegal copying is just like kidnapping and murder, you might prefer not to use the word “piracy” to describe it. Neutral terms such as “prohibited copying” or “unauthorized copying” are available for use instead. Some of us might even prefer to use a positive term such as “sharing information with your neighbor.”

Perhaps that last line might sound like support for piracy, and I have to admit that I also questioned what it meant. I sent an email to the FSF asking for clarification. The response was from Program Assistant Tony Wieczorek:

Our concerns with people referring to piracy are that companies use that pejorative term to denounce all of our efforts. We are afraid that people will call our legitimate and legal practices piracy for lack of a better term. That, of course, is not the case at all. We believe that software should be free, and we use the law (copyright law, in the case of the GPL) to achieve that (albeit in a way that most people don’t use that law – this is the idea of copyleft).

I think that paragraph is also meant to point out that equating copying software with raping and pillaging ships is gauche. The two crimes are nowhere near similar and people should make that point when they speak of illegal copying.

So the FSF doesn’t endorse piracy and wants to make sure that Free Software is considered distinct from something illegal. I feel that they are making two arguments at once and make their points needlessly confusing, but the second argument was that copyright infringement isn’t something comparable to what pirates did/do.

For an example of why the confusion about FOSS and commercial software is a problem, check out this news item on Linux Games announcing Caravel Games’ DROD: Journey to Rooted Hold. One comment in response to the idea of an open source shareware game:

WTF? What on earth is open source shareware?

Nevermind that id had released the source to a number of their older games while still requiring you to purchase the game to play it. The idea that Free and Open Source software can also be commercial software is too confusing for a lot of people. The expectation is that if it is commercial, then it can’t possibly be Free Software.

There are practical concerns, of course. You can’t just release your software under the GPL and expect to be able to sell it the same exact way you sold your proprietary software. Still, it is possible to make a profit by way of software that doesn’t restrict your customers’ freedoms. While it is easier to earn revenue through an MMO game through subscriptions — “The client can be both Free and free, but to play on our awesome servers, you’ll need to pay” — it is also possible to sell a non-MMO, open source game and make a profit. If you immediately make the argument that EXAMPLE XYZ proves that Free and Open Source Shareware can’t work, recognize that you are coming to a conclusion based on one counterexample. Rather than asking “How can I make it work?”, you are simply stating “It can’t work.”

If you think that the effort to make a profit from Free and Open Source Software is too great to justify, that’s fine. You’ve made what is hopefully a well-informed decision for yourself. Just realize that it isn’t impossible to make money from FOSS, that it isn’t illegal to use or create FOSS, and that it isn’t about getting something for nothing. Free Software is not about supporting piracy. It isn’t the opposite of commercial software. It’s about freedom, and when it comes to the GPL specifically, the license requires that commercial software be possible. It’s not a contradiction.

You’ll find people online who support FOSS but also make confusing statements about licensing. For a good example, the Linux Gamers’ Game List at icculus.org lists games that are available for Gnu/Linux. The license section would presumably tell you what the license for the game entails, but it actually doesn’t. It tells you whether or not it costs money. The reason I was given was that someone’s grandmother would get confused about the idea that a game could be Free and cost money. I think that the column shouldn’t be called “License” if it isn’t really about the license. I would think labeling it “Cost” would avoid confusion if the purpose of the listing is to help out people who would be confused about licensing issues. I also think that most grandmothers probably wouldn’t think to look for the list in question, let alone find it.

Another example? Pick one out of the many Free games, and you’ll most likely find one. The GPL was for computer code. It makes no sense when it comes to an image or a piece of music. Still, most authors will simply license the entire game under the GPL without a thought.

People will argue that the best part of FOSS is that it doesn’t cost anything. Now, when you were first told about the FSF, the GPL, and Free Software, who did you hear it from first? Was it from people who said, “It’s about freedom! Here, let me explain what I mean…” or was it from “It doesn’t cost anything!” Most detractors seem to hear it from the latter. For example, you’ll see lines like “But the FSF is in the minority when it comes to convincing developers that giving away their software for free is the right thing to do.” Reading that line, you’d think that the Free Software Foundation WAS trying to convince people to give away code at no cost. You’d also be more inclined to believe that the GPL was about giving away something for nothing and that FOSS is about stealing the livelihood of those would dare to try to make their software into a commercial product. The funny part is that the same people who complain that the GPL is about giving away software also prefer to use code licensed under BSD, MIT, and similar licenses that basically allow you to take code and make it your own…essentially, taking without giving. So while the GPL is supposedly guilty of forcing people to give away their code for nothing, the accusors prefer code that actually is available for nothing. Interesting, eh? But I digress…

Multiply each of the above with the millions of people on the World Wide Web, and you can see why people would be confused about the nature of Free Software. There is a definite minority who are “on message” for Free Software, but they have to compete with the language of those who think FOSS is evil — calling it a cancer or referring to supporters as communists — as well as those who think it is great but don’t actually get the idea behind it.

Categories
Geek / Technical General

Blonde Joke Getting Out of Hand

Thomas Warfield has posted about the best blonde joke ever. It’s a good one so I thought I would post it here.

It’s also got the geek in me thinking. Who came up with it?