Posts tagged: Open Source

Forced Downgrades

A few days ago, Sony announced that it will be removing its “Other OS” feature from Playstation 3 units in its upcoming upgrade. Apparently, this is to stop a hacker who claimed to be able to use a security hole in the feature.

Among the programmers who love the PS3, the decision caused a scream of rage (and pain) that echoed through twitter. Considering the difficulty of programming for the platform as it is different than most other platforms out there, you could think Sony would care about the programmers that want to experiment on it. On a personal level, I don’t care — I simply don’t have the time to tinker with Linux on my PS3.

But if you want to program for a current generation console out there for real, this is your only option. The Xbox 360 with its XNA and software abstractions doesn’t really do it — coding a game on XNA is not a feat really with the distance being put between hardware and software. Coding a game on the PS3 in Linux, however, would probably land you a job.

And let’s face it: with all the bragging about how the PS3 can do things that the Xbox 360 can’t, Sony really needs programmers who can push it to it, who love the system and will squeeze the last bit of performance out of it. Those programmers are all sad puppies now.

The decision is just flat out wrong in so many ways, the most obvious being that of consumer rights. It does not matter how small a percentage of the user base that uses a feature, if you stick it on the package of a product and use it as a selling point, it’s supposed to be there when I use the product.

You could argue that I’m not forced¬† to upgrade, which is bogus since I am forced to upgrade if I wish to keep the functionality of my PS3 intact. Imagine a DVD player that is suddenly “upgraded” to not support the remote control anymore. You only have to upgrade if you want to be able to watch new DVDs though, if you settle for your old collection, you can opt out. Oh, and subtitles stop working too. Sorry ’bout that.

The example is absurd, but in all essential parts a direct mapping of what Sony is now doing. Come tomorrow, you may choose which way to cripple your console — no Other OS or no new games or PSN.

Laws differ, but I’m quite sure this sort of act from a company is illegal in Sweden, where I live. Quite possibly it is in several other places around the world… it would be interesting to find out.

The second interesting thing to mention is how a large international company again fails to recognize the Streisand effect. I really had no idea some dude had started cracking the system… nor any interest in it. Now I know, and now care. The Sony decision was quickly met by a promise to fix an alternate firmware version which could be used without disabling the feature:

Hacking isn’t about getting what you didn’t pay for, it’s about making sure you do get what you did. And this is about more than this feature right now. It’s about whether these companies have the right to take away advertised features from a product you purchased.

By doing this, Sony puts a big spotlight on hacking the console, essentially starting an arms race — one it is virtually guaranteed to lose. Until now, the homebrew community has had no reason whatsoever to try to crack the PS3. Now they do, and probably will fairly quickly. I think it’s likely that when it happens, Sony will end up having helped hasten the day when piracy appears on the PS3, in its flailing attempt to prevent it.

Don’t Be an Open Source Douchebag

I love open source software. It provides both a neat training ground for programmers, a good place to go scratch that itch. On the other side of things, it provides awesome software for people, including some software that would never come out of a big development house.

Still, there are some issues with free software that don’t really show up to the same degree with commercial software. One such thing is documentation. It’s painfully obvious that documentation is written by people who:

  1. Already know the software in and out.
  2. Don’t like writing documentation.
  3. Know nothing about how people learn.

For instance, when I started a side project a few months back, I was looking for a build system. After settling on CMake, I set about trying to make sense of it. There’s the ever-present getting started example, of course. And then there’s the full reference of everything you could possibly want (almost).

But in between those, there’s nothing. Well, nothing except a book, which just goes to show you that there’s something missing — a professional writer could obviously make some money out of explaining things in a reasonable way.

The problem with this is that it doesn’t match how people learn. Getting started is a good step, but a relatively small one. Most of the time will be spent incrementally expanding the knowledge, moving from beginner to expert. Most time will thus be spend in some kind of zone in between the “getting started” and “reference of everything” levels.

Worse than that, some open source programmers have a tendency to view their full reference documentation as an appropriate resource for everyone. “It’s all in there,” right? But pointing a beginner at a 40-page document detailing all the options of some application when all they want is to run it properly isn’t very helpful. I’m sure you know what I’m talking about if you’ve ever used an open source command line tool.

That ends us up with the really dark side of free software culture. The true douchebags out there will not only be extremely smartass in their RTFM comments, they’ll also be incredibly sensitive and defensive about the software they’re working on.

I ran into a problem with cygwin’s SSHD implementation last week. In searching for the solution, I found this mail list answer:

  Wrong.  That is uninformed speculation and guesswork.  Stop
spreading misinformation.

  Cygwin SSHD has had the support for fully logging in as any
user since 1.7, as you have already been told and completely
ignored.  Go and read the manual.  The link was in the previous
email I sent in this thread.

  freesshd works exactly as Cygwin *used* to before it got
subauth support: when you log in with a key, rather than a
password, you just end up as an admin user.

Wow. This kind of answer is wrong on so many levels. First of all, while he makes it seem like the functionality has been there forever, cygwin 1.7 is still not even out of beta. The chance that an end user has it is about 0. So, with the current version (1.5),  supposedly cygwin sshd works just like freesshd. This is clearly false, because the original poster reports one working and the other not (which is, by the way, exactly the same results that I had).

So, a user reporting a problem about logging in gets pointed to a long documentation about security settings in a beta version, doesn’t understand a word from that document (no surprise there), and as a result gets told to “stop spreading misinformation”. Truth is, simply installed like any normal user installs applications, one works and the other doesn’t, something made quite clear by an answer from the original poster in a different place in the thread:

> Are you talking about password or public key authentication?
> If the latter, Have you tried the LSA authentication package
> in Cygwin 1.7?
I don't know. I'll try to deciper that. Sounds complicated. In
the meantime, friend is using freesshd.

The essence of what he’s saying (which has been completely missed by the cygwin developers) is that the effort required to get cygwin to work like one would reasonably expect of it is much higher than the effort required to just google for something that just works out of the box. The fact that you could potentially make it work is irrelevant, because he’s not getting any help actually making it work.

He might as well just have said, “I don’t care about making it work for you. It works for me.”

Software companies usually compensate for their complete lack of useful technical support with a good (or at least reasonably decent) amount of help documentation. Free software usually has neither.

I encourage any programmer to practice their technical skills on an open source project. But while you do so, take the opportunity to practice your people skills a bit as well, or why not your writing skills? Don’t be an open source douchebag — someone reporting your software’s flaws is not attacking you personally.

WordPress Themes