i completely forgot to write the bit that fit with the title i picked in my last blog entry ("tell me that you'll open your eyes"). i got carried away on a stream of consciousness and ... yeah.
so, here goes try #2: in an article about a gtk+ app, i read today about how great d-bus was when an application uses it to export internal api and functionality; and i completely, wholeheartedly concur! the article went on to note how you can write scripts that automate things. how wonderful! the writer seemed to be writing from a place where this was the first time they'd really experienced this flavour of coolness. either that or they are good at getting excited repeatedly.
now, why would i say such a thing? because since version 2.0 kde has provided this same functionality via dcop, a tradition we continue in kde4 though via d-bus. kde apps have been exporting interfaces since the turn of the century to the joy and merriment of kde users around the globe. was the writer aware?
it does surprise me how people who don't use kde as their primary desktop never seriously bother to take a look into applications that run on their own platform (which is linux, bsd, solaris, etc). normally i'd be tempted to say, "hm. obviously we're not communicating about this well enough." but no, because in this particular case our user base tends to know about dcop and what it can do.
on irc or a mailing list when the answer is, "try dcop" i almost never see "what's dcop?" in response. 5 years ago, yes. today, rarely. so i think we've communicated it decently, but somehow primarily to the kde user base.
is it because we aren't talking enough to the wider spectrum of free software users? well, our communication is often popped onto sights such as lwn, linuxtoday, osnews, etc.
or is it because the group of people who don't use kde, which is a sizeable minority of the total user base, just don't bother as soon as they see those three letters "k, d and e" in succession?
given that i've heard people who are not just users but contributors to and even supposed thought leaders in our community spout the most heinously wrong stuff, like "linux doesn't offer good printing GUIs" (the issue was cups integration, if anyone cares =) which i heard at an osdl desktop architects meeting to "free software pdf readers don't provide ways to honor drm" (not that i think drm is a good thing; that's a whole other topic) and all sorts of things in between.
well, free software desktop community (not that they are reading my blog en masse ;) : if you think it doesn't exist and you haven't yet looked at kde, you're risking looking a bit foolish if you open your mouth and say "XYZ does not exist/work/etc on the free software desktop" or "such-and-such only works in Foo environment".
now, i've met free software desktop users who don't use kde who are aware of what is available on kde and elsewhere; to them: bravo and my sincere applause. i just wish they were the majority. i wish more people who actually use the platforms we support would open their eyes to what is around them. (there, that was the title tie-in ;) of course, i encourage kde people to do the same thing as well.
another reason i think it's the people closing their eyes is the reaction i often get from people who don't use kde when i remark that inkscape is a great vector app so why should the kde community invest huge amounts of time in creating a k-version of it? to me this is common sense. few kde users do more than nod when i say that. but i get all kinds of comments, usually of the unexpected-but-great-to-hear variety, from non-kde users/supporters/developers. weird.
yet another reason i think it's the people closing their eyes is that i have been told, point blank, by a group of gnome developers at a dev conf that kde and gnome are separate platforms just like windows and mac are and so who really cares about little things like, say, being able to share default app settings. (yes, that was the actual issue.) i responded with, "i bet google, with their mix of desktops, cares. i can name a dozen more such places if you'd like ..." not that that budged anyone. after all, if our eyes are closed, we can't see the users either can we?
we have a real issue in the free software desktop community here. and maybe that's partly why some projects tend to recreate what kde already has done years after we've done so and moved on to other things. this happens at an astounding rate.
of course, if you don't mind waiting for your features that's fine. but try at least to be aware of the landscape before talking about it like you know the terrain.
* don't go around stating things don't exist when they do.
* don't feign surprise and excitement when your desktop gets a feature that's been elsewhere on the same platform for years
* don't recreate what's already good; we have enough stuff that's missing. so when i hear of an app whose stated goal is making a gtk+ version of amarok (exaile) or a gtk+ version of kalzium (i forget the name of that one) it just about makes me puke.
just don't. it makes us all look like fools, starting with you.
now, i should probably say a wee bit more about the third point above about application duplication. if you're doing something different in an interesting way, the toolkit choice is a personal and secondary issue to that in my most humble opinion. but if your goal is to clone another free software tool, particularly one that is well maintained ... i have to ask you: why? yes, i understand the "because i want to write a foo app" but that's not what i'm talking about.
example: i understand the duplication between gaim and kopete based on the integration issues. i think it's interesting that the backends of instant messaging apps on the free software desktop are moving towards commonalities (read: sharing) since the innovation, integration, etc happen above that: they all speak the same protocols, but provide different ways to interact with them. cool.
example: i understand the duplication between gimp and krita; both are essentially bitmap editors but the latter has an emphasis on things like natural media and colour spaces which isn't seen in the former and both are performing interesting and, imho simultaneously successful, experiments with user interface.
counter example: i understand juk, amarok, banshee, etc, etc.. they each do things a bit differently and there's probably an element of "beacuse i wanted to". but i don't understand exaile, which is described as a gtk+ clone of amarok. seriously, go look at wikipedia (i can't get to the exaile website right now, but that was how i was initially introduced to it: as a gtk+ amarok)
now, i'm sure someone is going to jump up and say "but i like all my apps to look the same!" as a justification for blatant cloning. ok, that's cool. overrated and largely mitigated by universal theme engines (a sub-set, indeed, of all engines), but understandable. however, i don't think it validates the blinders i see on people's eyes and it certainly does not explain away non-gui reimplementations. remember, this blog started way back there about d-bus, which is decidedly non-gui.
next someone might say, "but Foo apps take too long to start up / too much extra memory overhead / <insert rational&;gt; in Bar environment". this is indeed something we need to work on; that said, it's gotten better over time (and i'll bet will get a bit better even in kde4 =) and operating system vendors and system integrators could do things to help out in how they install and set up systems ... but again, these are issues we can and are addressing. is it really a reason to utterly ignore what others are doing?
i am aware that this isn't just free software desktop related: i see it all the time in other free software realms such as open source databases. mysql users are frequently innocent of what is offered by other solutions. more than once i've seen someone bung something together clumsily with mysql simply because they didn't know there was a better solution for that particular problem out there in the free software world.
perhaps this is all because for many in the community, from enthusiast to professional (and back =), the ability to be involved gets confused with an expectation of loyalty. can we grow past that? (honest question)
a related concern to me is that many people who don't use kde will miss out on a lot of the very nice features that kde4 is bringing to the table. and just as in the past, others will probably get around to duplicating some or even many of them eventually, perhaps unnecessarily to boot.
i'm already seeing it in articles written about kde4 by people who don't use kde. such a recent one that claimed kde4 had moved from aRts to gstreamer; yes, there is gstreamer support in kde4, but the real story is that it's not the only backend thanks to phonon; i fully expect other projects to eventually adopt similar solutions in the future after retracing our steps versus paying attention and learning something. but it kind of amazed me that someone would write that kde is now using gstreamer ergo gstreamer is becoming the de facto standard. holy not paying attention and applying other project's agendas to kde. whether or not gstreamer does become the de facto standard (that's something i'm probably not the most qualified person to comment on) is moot compared to writing about something you've obviously not really looked at.
to be honest, sometimes i think "maybe i should care less about the whole ecosystem and care a whole lot more about only kde. i can't fix what i'm not fixing, after all. and i certainly do spend much of my time supporting kde ... " but isn't that the exact attitude that annoys me? =) yes, it is. so i'll keep on caring and hoping; i'll continue to challenge our community (particularly as that community grows) to open our eyes. because, as the song says, "i need you to look into mine."
i really want the idea of someone "from" project X caring also about project Y to be the norm, not an anomaly.
(hm. re-reading this blog entry i think maybe tonight's yoga session really got to me. =)