What’s wrong with open-source and plugins

Posted by SupSuper on 23rd June , 2007

Open-source. It’s a great concept. It’s free, it’s open, it’s for everyone. Who wouldn’t like that? But one thing many fail to realize is that open-source, like everything else, isn’t perfect. In fact, it can be a very bad thing. For the sake of not writing “most” in every line, I will now be generalizing. It’s something I do a lot. Get used to it.

So, you have your Average-Joe. He has some coding skills, he has an idea, he puts those two together, sets his goals and starts working on a project of his own. If his idea is good enough (and even if it isn’t), he’ll publish it online and make it open-source. He’ll work on it for the users that start popping about. Releasing new bug fixes, new features, all following his little goals until v1.0 and possibly moving on from that. More people join him in his work, the user community works, and a new successful project is made.

However, many things can happen in open-source. Usually the founder will eventually leave the project once he’s done with it or just doesn’t have time anymore. This leaves the rest of the team free to set up their own goals, their own rules, slowly taking the project away from its original intent to their own scheming. Or maybe the founder himself decides to take another angle on the thing, or take his goals too far. The community that grew with the project will commonly follow wherever the project takes them and blindly obey whatever’s set, creating some kind of locked community, a secluded society.

Open-source projects tend to have very strict goals and rules, which the developers will follow whether it will actually improve them on anything. Unlike commercial projects, open-source abides by the “you’re not paying me for this so deal with it”, leaving developers to do whatever they want with the project no matter how ridiculous. Maybe they’ll just focus on releasing version after version of shinier cleaner code that makes no visible change to users. Maybe they’ll just slowly make the project futile and no longer please as it did originally. Whether the users like it or not is none of their business, the goal is their own and to hell with everyone else. They will quickly dismiss any ideas, suggestions or tips from users, if they don’t abide by their strict plans, and aided by their locked community, the project will slowly become more and more exclusive, with new users and maybe even existing ones being driven off by a no longer wanted and loved project, assisted by a stagnant community, fueled by any slight bit of ignorance and with open ears only for their rulers, the developers.

You may thing I’m making this up, possibly even exaggerating. Perhaps. But there are plenty of examples out there. MAME, a popular arcade emulator went too far with their goal of “historical accuracy”, ruining a once good and easy gaming experience. No matter how or where you get the ROMs for it, there’s a pretty good chance they won’t work in the latest version, or even the next. Or maybe just work horribly bad. In fact I’m not the first to realize this, Stuart has caught on way ahead of me.

In fact, this accuracy thing is pretty common. Many projects remaking some popular / obscure / whatever game strive to reproduce the original by every pixel, or sometimes even by every original bug. This is silly. Just because it was good, doesn’t mean it can’t be better. Fix every bug, correct every flaw, hell, even update it to today’s standards with shiny new graphics or whatever. If you’re worried about the community, make it an option. Of course don’t go filling it with all your own wacky ideas and completely turn the original game around, or otherwise don’t even bother referencing to the original. No I don’t care if you’re just doing a lame attempt of scaring away any evil lawyers and if it’s “your own game and I’ll do with it as I please”, if it pleases nobody else you might as well just keep it, the Interwebs is rubbish enough, thank you.

Another thing there’s a lot of is multi-IM applications. Because with the huge variety and possibility of IMs, and with all your friends deciding to spread over all of them, you don’t want to lug around 6 different IMs. But if you’re gonna implement all the other protocols, implement them properly. If all you’re gonna do is have some plain window with a contact list and a textbox that allows you to send/receive text between them, well, I might as well just go back to e-mail then. The reason there’s lots of different protocols is because they all differ, each having their own unique and cool (or annoying) features. I understand you don’t have to support every single thing and it’s hard to keep up with paid developers, but at least don’t shrug off everyone that points out that Miranda IM still doesn’t support invisible messages even though WLM8 has been out for months. If more and more people keep pointing it out, then it’s because it’s that big a deal. Give us avatars, give us status, give us logs and emoticons and maybe even video and audio. Because if you all you want is plain text, 10 other things have beaten you to it. The fact that Trillian seems to be the only one that provides these options is truly a sad sight, specially because it’s a commercial application yet it’s still broken ten ways to Sunday.

And finally, there’s Firefox. Firefuckingfox. Yes it’s a browser. Ok, a good one. Get over it, it’s still just a browser. They’re not any holier than thou. So quit blabbering about it in every sentence. Quit advertising it. Quit making entire websites about it. Quit plastering it all over your sigs and have it fight it out with other browsers (or, more commonly, eating / biting / chomping and even saber-fighting Internet Explorer), and for crying out loud, quit drawing fuckin’ fanart of it! Next thing you know, people will be talking about making love to it. Oh who am I kidding, this is the Interwebs, I’m sure there’s a Firefox fetish site out there somewhere.

And no, just because it has plugins doesn’t make it the best application EVAR. In fact, that’s another thing common in the open-source world: plugins. Yes I get it, it’s pretty much your “get out of jail free” card for all those feature requests. “Want something? Add it yourself. Heck, feel free to add whatever crazy thing you want, I won’t stop you.”

So what’s wrong with them, you ask? Well, for one thing, people seem to think that an application that supports plugins immediately can do anything possible evar and should be valued as such. Or that developers can get away with implementing an application that does barely nothing but has plugins. And it’d sell. So I could go “this is a plain ol’ box, but it supports plugins, so worship me”. Eventually someone would turn it into a box on wheels with titanium armor, USB 1TB drive, time-travelling support, built-in toaster and a cup holder. But the Average-Joe would still get a plain ol’ box!

Plus as soon as something has plugins, any single feature request is completely brushed off with “make it yourself”. Or sometimes “get someone to make it” (because clearly, random users have nothing better to do than serve other random users). Because clearly, every single person is capable of knowing completely well the language the program was designed with (or the pseudo-language it created for plugins), as well as all the intrinsic knowledge about the program and its properties that are pluggable. And if they do, they might as well put their skills to good use and join the project, since after all, it’s open-source. Ok, so commercial programs do this too. But not a lot.

And then of course, you have the opposite end of the spectrum. People hellbent on adding every possible feature as a plugin, even if it has absolutely no relevance with the program in question. If I’m using a word processor, the last thing I’m looking for is some MMO game to add into it. If I’m using a file browser, I don’t give a rat’s ass that I could have it check my e-mail as well. Not to mention everything these days seems to be capable of checking your e-mail. Even computer viruses.


Leave a Reply