monetary thinking

My conclusion in a nutshell: these things would not happen this way if the community at large would know about Nokia’s open source contributions.

Quim about Nokia’s PR desaster

I’ve long since thought that this line of thinking, that apparently quite a few companies believe in, is wrong: “Hey, we have contributed lots of money to your cause, now we must have something to say!” I’m sorry, but that is wrong. There’s a reason why it’s called the open source community, not the open source stock exchange.

How much you have to say depends entirely on how much respect you have with your peers. And of course, you can be respected differently depending on topic. There’s a reason why some people are role models when it comes to technical opinion, but not when it comes to licensing questions. And for others this is different again.

So to wrap it up: If Nokia comes along and tells that they have contributed lots of code, I might expect Nokia to have technical know-how. If it also tells me I need to accept closed source, I will not trust it with leadership. So Nokia, I’ll be very happy to work with your engineers.

questions of the day

Why do lots of OpenBSD developers treat you as an asshole if you have a different opinion then them?

Related to the above: Why does ALSA run even on Pulse Audio or Jack, but not on BSD?

Why does the absolute favorite WE end up last in the most prestigious league?

Why are all the decadent people only talk about what we need to do and not about what they will do themselves?

Related also to the above, but mostly to the party yesterday where I met lots of friends from school: Why do so many people seem to forget/bury their childhood dreams once they start a family?

When will I finally get a new unstable Swfdec release out?

+5, Insightful

When did open source become not about making great software, but about punishing yourself in order to achieve some greater level of software “purity”?

— +5 Insightful

Uh, it was about that already when it started?

Either Slashdot is overrun by clueless people these days or the Free Software world is very bad at communicating its goals. Likely both. And the second one worries me.

Mozilla

In the recent times I often wished Mozilla would just go away. This has been the case whenever I had to write code that interacts with Mozilla. You can witness the frustration in swfdec’s mozilla-sucks directory. It’s an experience I wish noone has to live through. And after talking to Vlad and Reed (You need a blog, where am I supposed to link to?), I now think I understand why interacting with Mozilla is such a bad experience.

The problem with Mozilla – note that I’m saying “Mozilla” when I mean “the community of people that make up the Mozilla project” – is that it’s focused on building a stand-alone project. A number of products (like Firefox) are built with the single goal of putting out an awesome complete product. For this goal, Mozilla takes responsibiltiy for all the software it uses and makes sure it is tuned to work perfectly with the product they ship. This is likely the best way and maybe even necessary if you are in a “hostile” environment like Windows or OS X, where the people building the operating system ignore you or are your biggest enemies for market share. However, it is somewhere between unfortunate and hostile if you behave like this in a cooperating environment like Linux.

The way I experience building Linux is that everybody works together to ship awesome software. Everybody has different goals, but there’s a constant exchange of this so people are aware of each other’s issues and ways to fix stuff are worked out. It also means that everyone customizes each other’s stuff all the time. Sometimes this works out well, sometimes not so well. But at all times it is encouraged to cooperate to achieve whatever you want.

The most obvious example of where Mozilla’s goals contradict with other Free software projects is the trademark issue, which is a licensing question. This leads to a problem between distributions and Mozilla about the question of how much customization they may do to Firefox to integrate it into the distribution. Then there’s the missing integration of Mozilla technologies into other projects. Mozilla does not only have a great web browser, it also has the fastest Javascript implementation or a complete network library that noone but them uses and everyone else has to redo. On the other hand they still insist on weird technologies that just don’t fit into my GNOME desktop.

I guess this absence of Mozilla from the Free software community and insistance on doing their own stuff is what causes frustration with Linux people and fuels the buzz about browser replacements. Mozilla seems to see the problem, but I don’t think their solution is right. We don’t need just a technical solution. We require a solution in people’s minds.

senior developer

If anyone asks about it in the future, I go by the term senior C developer now. I’ve found a real bug in gcc.

</show-off>

webkit time

So it seems gtk-webkit can support Free plugins, too. Even though it has its own quirks.
And it also seems Swfdec runs the new Youtube beta fine, too.

But be careful with poor Webkit, it likes to crash.

required reading

Here is required reading for everyone wanting to hack on Swfdec. It’s a nice 280-page introduction on the topic. Go Adobe for publishing it. Keep up the good work.

I think it’s a smart move of Adobe to try to go a more open way in pushing Flash (and its successor AIR) in the embedded context. After all, there’s at least three competitors in the new browser wars about “rich content”: Adobe, Microsoft and the W3C. But then, my previous statements about the topic are still relevant I think.

Update: Since lots of people asked: I don’t expect this will effect Swfdec very much.

on marketing

Marketing is a societal process … attempting to move the consumers toward the products or services offered.

I hate marketing. With a passion. The sentence above shows the 2 biggest problems I have with it. One is the word consumer, which often means “too stupid to make its own decisions”. The other is the fact that it doesn’t talk about the quality of the offer, but only about “moving towards”. To me that means that marketing is deeply unethical because its definition already violates the golden rule and the categorical imperative.

But before I get lost in another philosophical discussion with Christian I’ll get back to Open Source. And no, I’m not going to speak about the fact that “ODF good, OOXML bad” is just a big marketing campaign to close Ubuntu bug #1 or about if Linux is ready for the desktop, because that’d just get all the carnival barkers back on their podiums. They are just good as examples for the point I’m trying to make. And that point is that people generally behave seriously braindamaged when it comes to deciding about products or services they have no clue about (and yes, that likely includes me). Of course, we’re all trained to do the faith-based consumer approach by all the marketing that gets thrown at us, so we have a “good” excuse: And after all, how could the people we trust be wrong?

Turns out, the people we trust have no clue either. That bug report is Debian wondering which Flash player to ship in the default install. Apparently the most important thing in deciding about it is wether Flash starts paused (changing that is a one-line diff) or the amount of people that have submitted code. Stuff like feature completeness or code quality don’t seem to be that important. Why should they be, those are hard questions, answering them is way easier than looking at statistics or the big play button in your browser. Another hard thing for people is realizing that one doesn’t have a clue and asking the developers of the respective projects for their opinion. It still baffles me that people don’t ask.
Apparently in these cases marketing is very easy. Since the people don’t even have a clue what the right questions to ask are, marketers are free to make up their own questions to ask about the project and provide the answers. Which is what is happening in the bug linked above: The Gnash maintainer markets Gnash with made-up questions, the Swfdec maintainer does the same for Swfdec.

An interesting thing about all of this is that the Gnash and Swfdec projects have been using a very different approach at marketing. I have always been very careful, telling people they’d better try themselves, and not promising features; instead reminding them that reverse-engineering a product of that scope is hard. On the other hand, Gnash promoted itself as having “full Flash 7 support” by the end of 2007. That was a year ago. So you have one project that overpromises and another one that underpromises. Now if you browse discussions about Flash players on various mailing lists or forums, you’ll notice that Gnash is known way better. People are very more aware of an application that claims to almost support Flash than an application that claims it might not even work. On the other hand, the perception of Gnash is more negative. Gnash does not deliver its promises. Swfdec on the other hand promises nothing, so it’s likely it’ll be better than people expect, which makes them happy. Now, the question is: What’s the better approach? It’ll be interesting to follow it on Google blogs. If I ever figure it out, I’ll blog about it. Until then, it’ll probably remain nothing but an interesting thesis project for someone studying marketing.

Welcome to my world

Hello system monitor developers! Have a nice stay, enjoy some Youtube videos while you wait. Maybe even try to fullscreen them!

back to the roots

I meant to blog about this for a while, but I guess I’m not that bloggy. Anyway, I’m still hacking Swfdec. I didn’t write a blog post for the recent Swfdec 0.6.2 release nor for the swfdec-gnome releases I do all the time to go with Gnome releases. I didn’t even write a proper blog post for Swfdec 0.6.0, and that was a major release.

But still, stuff happened. All distros I know about have the 0.6 version of Swfdec in their repositories now – and that even includes Ubuntu, thanks to Adam Caldwell – you rock, dude! But the most important thing I guess is that due to the awesome work of Brian Pepple Swfdec will be included in the default install of Fedora 9. So if you want Swfdec working on a Live-CD you know where to look.

We’ve also been adding features to Swfdec’s unstable branch. The most user-visible feature is editing support for text entries. So you can actually enter text now! I also made the script engine twice as fast by accident. But the most interesting feature for me is a feature I intend to use for debugging Swfdec: the addition of a “script translation engine”. What does it do? It translates an absract syntax tree from/to the byte codes inside the flash file or Actionscript code. This means we have a compiler and a decompiler for Flash now. And that in turn should help debugging Swfdec internals tremendously. Expect a 0.7.2 release with all these goodies soon.

The down side to all of this is that my GVfs hacking has suffered (read: gone nonexistent). I intend to do some hack weeks on GVfs to get some more features included and bugs fixed and of course I read GVfs bugmail, but I guess that’s about it for a while.