Thursday, August 30, 2007

Hackers and the Ordinary Computer Users

Computer Users and Hackers, a match made in heaven, right? Wrong. See, there aren't first of all, enough free software hackers to go around. They always want to work on the next version of Ubuntu, or Fedora with its six month release window (get real, most computer users would rather just use the same os the computer came with until the hardware is too slow, like what five or six years) Instead of working on the new distro every six months, they should just have upgrade (patches)

Instead the hackers should spend time writing applications that users actually want. What kind of things do users want? No, its not another emacs plug in to read text based emails or broken game development libraries, no, its actual complete working games, you know like the evil proprietary titles that people are buying off steam with DRM attached. It should be easy to create similar games to those released in the 80's and early 90's. But do we make them, no, we just play text based net hack with bad game play that no user would actually like, then we go and package up last years version of Pysnake for ubuntu or some other equally out of date and mediocre rehash of Tetris

The real people we need to talk to are the game-developers in training. The people who have decided they want to write games, and are willing to spend time and money to do it. We understand that they have fallen in with the Microsoft crowd and the proprietary software ideology because it seems like a way to make money from game design. But the fact of the mater is having the game in the first place is more important than getting paid. Even if no one ever got paid for making games again, why could they not be made. People play games because they are fun, not because it makes money.

The other side of this is the free content movement. Content is important, just as important as the software code. If we don't convince people who write stories and people who do artwork that free-culture is important, than it does not seem like some programmer should have more power than someone who can put together a coherent story. People have already admitted there are too many programmer designers, and not enough game design comes from people who are primarily interested in things other than programming. The programmers tend to dismiss them out of hand.

For the longest time, I did not care about free software, I only hated Microsoft and only installed GNU/Linux because unlike Mac-OS it would install and run on my old computer. But then I thought to myself, after reading the free software philosophy, what would my life be like if all games were free software. What kind of games would exist that do not exist now. I could see them in my dreams and I was completely frustrated by the fact that so many games do not come with source code.

Perhaps we need a multi-pronged approach to this effort. Instead of simply focusing on the easy targets, Grandpa Joe who uses his computer for email and web surfing, we should focus more on the hard targets, people who dream of making a living designing games. For instance, instead of writing a flash player, we should be thinking about software freedom for the people who make the flash movies and games. They are the people who drive people to download flash players in the first place. We need to think about the trend setters, not just the general populace or people who are behind on the trends.

Compelling content will get people to throw out what ever philosophies people have, because it bypasses all the logic, and simply appeals on an emotional level. You can't ignore the kind of marketing like a cute Free-licensed (as in what a Debian hacker would call a free license, not some artist) anime series that promotes free software. I know hackers think of marketing as an evil word, but we are trying to appeal to an audience, that in our eyes, could qualify as evil. They operate purely on selfish emotional drives, never caring about other people, instead living on a selfish level of getting what you want no matter what.

Monday, February 05, 2007

The Myth of Meritocracy

Some people like to work on open source projects. They seem to think it is a meritocracy and they will get to work for people who are much more skilled, nicer, and less full of themselves then their bosses at their corporate job. However, these issues are not going to go away in the open source world, or anywhere else for that matter. Perhaps a simple explanation is an order, so people can quit having unrealistic expectations for how things are supposed to work.

First of all, people have to understand why successful projects are started and what kind of person tries to start a project. Doesn't it seem easier to work on something that is already being started? If you actually have some skill, then yes, because people want you to volunteer to work on their project. Most open source coders are very happy to have bugs fixed. If however, you are incompetent, and your code looks like something a junior high school student would write, spaghetti code with memory leaks, then you will not be able to get on an open source project that is already highly successful. The better coders will tell you to read the fine manual or other less friendly terms.

As a result of this, the incompetent coder does not get his or her stuff in the project that is already successful. Where they go from there, however is another matter. Many just decide “hey I suck” and go work for Microsoft, play proprietary games, or “volunteer” for proprietary projects, such as being a windows beta tester or volunteering to write a manual for a proprietary game manual and giving the copyrights to the company.

A small minority of the people who end up being told that their code (or artwork or music) sucks, decides that they are right, and everyone else is wrong. They then proceed to ignore or fork the project, and start a totally new and “better” project knowing that eventually, everyone will see how great they are. Most of the time, they suck too much to pull this off. Either they lose interest, or they are just too stupid to learn. The dead project sits around sourceforge taking up space, and no one uses it because it is in pre-alpha, the code doesn't work, and the developer hasn't updated it in years.

Occasionally, however, the monkey pounding at the keyboard produces the open-source equivalent of hamlet. Whether this is from sheer ego and stubbornness, or actually having enough skill to make software that is actually usable I am uncertain. Perhaps due to the stubbornness, they eventually create something worthwhile. The successful projects sooner or later attract other developers, who come to the egotistical keyboard monkey and say “Hey, I can do this better than you.” Now the monkey has a choice, either the monkey can keep an empire of one (or two, or however many idiots the project started out with) or have a better project. The successful projects chose the later route.

The next developers that join the project tend not to be very good, although they have to, by definition, be better than the original monkeys that started the project. They too have big ego and lack skill, but fortunately for us not as much as the original founders. These people, in turn, attract new developers who say “I can do better than these slightly talented monkeys. Now the second layer of monkeys have a decision to make. Either they can let these new, better developers on the project, or they can shoo them away. Now, this is a harder decision, the new monkeys will never let someone who they think is worse then them on the project. The simple reason is this, the original boss monkeys left them in charge of part of the project, it has to get better, not worse, so they only have people working under them who are better than this second later set of monkeys.

This continues down the layers of management depending on how large a project gets, it could stop here, or it could potentially go down hundreds, even thousands of layers. And this explains essentially why it is always mean, egotistical incompetent people who lead these open source projects. It wont' change, because it is hardwired in the fundamental human nature.