So, Thomas and Benjamin touched upon some of the difficulties in getting GStreamer 0.9 rolling. This is a difficult topic, not in the least because on the one hand, I’m indefinitely thankful to Fluendo for paying me so I can work on GNOME all the time, but on the other hand, I have seen some issues in this process so far, too. It doesn’t make the topic any easier, though.
The truth is, we indeed face issues.
- Wim did all the design way before our February meeting in Barcelona. Actually, most of the design was done by then. Most criticism on it was discarded as “you don’t have something better”. That is painful, and possibly unfair in hindsight, especially to people who had really good ideas back then.
- Seriously, the two meetings were very different. The one two years ago was in a very relaxed atmosphere, and I don’t think we ever did more work in a single week than back then. The thing is, we had tens of things to work on and thus everybody got to do something useful and it was all put together in the end. The environment, location, wheather, everything was perfect. The meeting in February just wasn’t perfect. There was some measurable tension already, we were in an office (which just isn’t the same), and most of the week was discussion rather than coding. And discussion wasn’t “how do we get this perfect”, but a lot of defense for this plan vs. that. It’s just not the same.
- We were very focussed on deciding on a design within only four days. With this environment and pressure, it just didn’t feel all right.
Right now, though, it appears that most of the design is very flaky and subject to change. That’s both crap (because we agreed on working stuff already, or at least supposedly) but also good (because now we get to improve it). I try to make the best of it, giving feedback on proposals and the like.
Some parts of the process annoy me, though. Some are because of earthwaves and cannot be blamed on anyone, and most aren’t even targetting specific persons or companies. However, they are very tough issues that I don’t like talking about, but they are feelings nevertheless, and have to be said:
- For the past half-year, I’ve been the sole and only developer spending considerable time on GStreamer 0.8. I dare say that more than 50% of all work is mine, and possibly up to 2/3rd or even 3/4th of all commits are mine. That is seriously a lot. I feel really happy that applications such as Totem are working out so well, and am happy to be given this option. But I’d love for others to help me a bit more. It really feels lonely. I have little to no time to comment on 0.9 stuff, because 0.8 sometimes takes full days to keep up with. Some fixes are yet unreleased, and some features still unimplemented. Totem is getting there, but is not there yet.
- Having said that, even though I spend considerable attention on getting Totem user-ready and am, as arrogant as that may sound, fairly succesful at that so far, my opinions on 0.9 design as far as I have time to comment on it are pretty much discarded. Annoyingly, not by the developers, but by non-developers. Wim takes considerable time to take notice of my comments and adapt design to it. I regularly get doubt-founded comments on design proposals of mine from others, however. Seriously, if I were stupid, GNOME 2.10 would be media-player-less. It’d be nice if we didn’t endlessly try to discuss, proove and FUDify and otherwise make development boring and even downright annoying. I don’t give shit about the 1% of finetuning if we’re currently 90% wrong and I can make it 90% right. I won’t even consider suggesting 10% improvements if I spend 90% of my time on explaining and defending them. I have a life, I prefer to spend it otherwise, and I will spend it otherwise. Screw the design. Scheduling indeed needs design, but that doesn’t mean everything does. Most stuff gets there by mere, mortal coding. Design is currently heavily overrated in the GStreamer camp. This makes stuff boring.
- Also, I regularly get no comments at all. I mostly get told that the SMTP of Wim is broken then, but god… This seriously sucks. If Wim is the only one able to give any useful comments on my emails which do not only consist of questions and downright false statements, then we’re in some serious trouble.
- GStreamer suffers from the same communication problems as GNOME itself does. Mailinglists are hopelessly failing, with discussions usually endlessly moaning about unimportant points, where the main issue is disregarded and ignored. IRC works, somewhat, but lacks archives and requires better timing coordinations, which is hard in a free software hacker community where not all of us live in the same timezone or work on this fulltime. Yarrr may fix it, but is unfinished, leaving us with a black hole right now. I’d rather fix this yesterday than today. Until then, we need to learn to stop moaning about details; they’re irrelevant. Until then, we need to learn to focus on the main point we’re discussing.
Christian and Thomas asked for more comments on and help with Wim’s work. I’d love to, and I would do so even more than I do now, if only it was fun. Keep it fun for me. Stop talking, just let me (us) do it.
That said, GStreamer is still a lot of fun, even if only because of the many thankful emails I get from users telling me (or Bastien) how happy they are with Totem and its continuously improving media support. Thank you, you make my day. As always, the next version will blow your eyes out with support for ALAC (via gst-ffmpeg), QDM2/WMV9 (via PitfDLL) and a lot more.
GNOME-media is slowly but steadily advancing without endless discussions. Right now, we’re down to 60 bugs alltogether, or 20 if I omit gnome-cd (which I still plan to ditch at some point in the near future) and all enhancements (which aren’t bugs). Explicit thanks for this goes to Nirmal and Madhan, who did some excellent work on this while doing their internships, although many other contributors also deserve thanks. Like in the previous cycles, I’m positively confident that GNOME 2.12 will feature a more enjoyable user experience than 2.10, which was pretty good already.
Totem, too, is getting nicer and nicer. While GStreamer is slowly finishing complete DVD playback support (including language support (finished), DVD subtitles (half-finished, patches in bugzilla) and menus (in progress), Totem itself is getting more and more finetuning, too. This flower has some serious power.