Archive for the 'Development' Category

Page 2 of 9

Why GIMP and Inkscape are not funded by Linux vendors

Martin wrote few days ago about why GIMP 2.8 is delayed. Apart from some annoying yet predictable mini-hatefests an interesting comment was provided by Alexander Hunziker:

One thing I wonder about is why none of the big Linux distributors steps forward and funds development. Both Gimp and also Inkscape I feel are very close to being useful also for professional designers, so just a handful of full-time developers could make a big difference. Surely, this would be an interesting market to enter into?

It’s a very valid question, and it is actually easy to answer. There are, in short, several reasons why it hasn’t happened yet.

1. Canonical already tried that back in 2004. The full story is here. TL;DR: money doesn’t magically solve everything.

2. The Linux vendors that have commercial interests (i.e. RedHat, Novell) make money on enterprise clients and governments, and their few attempts at non-enterprise desktop software (Banshee for Novell, GNOME Color Manager for RedHat) are rather personal hobbies of developers than paid projects. Entering a market means doing business with people. I’d love to see a business model around GIMP that would work for someone like RedHat.

The rest? Mandriva recently had a very instable finanical situation, followed by separation of the core team into a new project. As for Canonical, they still have problems making money and anyway they are now more focused on cloud computing which doesn’t have much place for heavy desktop apps such as GIMP and Inkscape. (As a matter of fact, three of the former active Inkscape developers work for Canonical.)

3. The teams themselves have diverse opinions on paid development. Inkscape committee is 3/4 (or 4/5?) dead against it. The GIMP team doesn’t seem to be sure: a year ago they didn’t mind, fairly recently they did mind (or so it seemed to me).

The way I see it, the future of these projects is in the hands of people who care about it so much that they are willing to work on it come hell or high water. So unless you can come up with a business model that doesn’t rely on donations, and the teams suddenly stop minding paid development, the state of affairs won’t change drastically.

Is it waving goodbye to GIMP and Inkscape? Not really. Relying on volunteers is what these projects have been doing for years, and despite the will of some people they are still around and about. A great many thanks for some of the new stuff (up to 50% in case of Inkscape) we see in the new releases of both of them goes to Google for its Google Summer of Code program.

Finally, can we get Linux vendors do at least something for the projects? Sure. They already do something actually: both RedHat and Novell are rather open about how their designers use free software: Mairin does Inkscape classes, and the whole Fedora design team uses both GIMP and Inkscape all around; Jimmac used almost complete free toolbox (GIMP, Inkscape, Blender, Fontforge) in Novell which he now does for RedHat, and now Andy Fitzsimon is in his place at Novell doing the same. It’s much less so in case of Canonical for some reason or another. Also, both RedHat (Fedora) and Novell used to publish short tutorials on using free design tools, both don’t do it much these days, so maybe they could give the initiative another go.

The important thing to understand here is that since we do eat our own dog food, we shouldn’t be shy about it. After all, not using Adobe products isn’t a mortal sin. If we don’t share excitement of using free tools, then who will?

Contributing to free software projects

If you keep an eye on this blog, you definitely noticed that I’m quite concerned about community involvement into free software projects. Having circled around the monster I started working on in January long enough I’m so sick of polishing it here and there that it’s finally out: “Contributing to free software projects”.

The ultimate goal is to both answer the question “How can I help a free software project, if I don’t code” I keep seeing asked, and help teams to understand how to improve their work with communities. Yes, it’s also a shameless plug for several major projects. If you like to yell — I’m all ears :)

Now that it’s out, I’m unpausing other projects I had to put on hold. The GSoC guide is likely to be next. Stay tuned :)

Listening to users and drawing conclusions

This posting somehow complements the previous one where I quoted a couple of Audacity’s users both having diametrically opposed opninions on the tool’s usability.

Several days ago Harrison Consoles released new version of Mixbus — their Ardour-based digital audio workstation. The thread at Create Digital Music progressed quite a bit since I looked at it first, and I’ve just discovered that Paul Davis, Ardour’s lead developer, joined in and, probably not realizing it, provided the best explanation why software projects need design architects who listen to all opinions, but think about big picture first:

“Background: in the 10 years I’ve worked on Ardour, it has been my experience that listening too carefully to any one person’s experience with a given piece of technology always tends to be misleading. We have heard from people who tried Ardour and found it mostly unusable. We have others who have had years of experience with Logic or PT who find Ardour much more functional for them. Both these points of view are right, and its taken me a long time to realize that once a tool becomes even remotely complex (possibly at the point where there is any user choice at all), there’s no way to make that tool be the choice of all possible users. So these days, while I try to listen very carefully to the reports I get from people who have issues when using the software, I’ve learnt to not take anyone’s verdict (e.g. “its much harder to use than Logic”, “its ugly”, “its not mature yet”) as a comment about their specific working style and the way that Ardour fits into it rather than anything more general.”

If you take any big free software project, especially one that you bend your production workflow around, you’ll immediately stumble into X vs. Y battles. This is inevitable, but one needs to understand that any software developer who tries to please everyone usually ends up pleasing nobody, because complex software is always about vision, and visions are never shared by all of the human race, HIG or no HIG.

Parsing and viewing OLE containers

Our new reverse-engineering project, started end of last year, is progressing. We already know quite a bit about Microsoft Publisher file format, and to make this useful for Scribus team to get cracking with PUB importer, we’ll start writing the spec soon.

For ransacking .pub files Valek wrote a small tool called oletoy which is, simply put, a specialized HEX viewer with tabbed UI that reads OLE container based files and simplifies browsing chunks:

OLE toy 0.5

I’ve just pushed to Git an update from Valek that merges bits of his old(er) vsdviewer app. So oletoy is now a more universal reader of the OLE container. Right now we are not planning to work on reverse-egnineering VSD and VSS much, possible improvements are currently a middle-term goal. OTOH we do see a way to make oletoy a generalized parsing and visualization tool suited not just for OLE containers.

If you happen to have .pub files of any version (2000, 2003 and 2007 preferably) that have really crazy use of various eldritch features, we’d love to have them. Send them to alexandre.prokoudine-WE-LOVE-SPAMMERS-gmail.com.

Speaking of GIMP

The GIMP 2.8 story apparently made it big and reached as far as OMG!Ubuntu, Phoronix and OSNews, not counting few dozens of smaller websites. However, whereas some people got things right, other people took it as a signal to hatefest towards GIMP team. Which was, to be honest, only to be expected. The reason?

It’s all about pressure.

Yes, I’m a talking physics now. It’s about time some people were reminded what pressure really is. Quoting Wikipedia, pressure is the force per unit area applied in a direction perpendicular to the surface of an object. In terms of GIMP it’s millions of people per mere 2.5 people. In terms of human language, it’s like being on the bottom of Mariana Trench without any sort of protection. Gentlemenly behaviour round the clock 7 miles below surface? Right. I can see that.

Anybody with basic understanding of equations can easily figure out that there are only two ways to lower the pressure and make GIMP folks the friendlier ones: make less users (as if you had a different general purpose open source editor like GIMP) or make more contributors. And yet we keep running into people who think that it’s such a smart idea to blame the small overworked team for being arrogant instead of listening for one minute and taking a little of the load.

The problem, however, is bigger than GIMP. Let me state it once again: many major projects utterly suffer from lack of contributors. So what I think really happened is that we simply banged our head against a major milestone: projects growing too large and teams growing backwards with major issues still unresolved.

The real problem we deal with is that the community doesn’t know how to help itself and in some particular cases doesn’t even want to, and dev teams often do not know how to handle this situation. So I’m putting a couple of ongoing publications on hold to do some good there. Expect an update soon.

What’s up with free multimedia production tools in 2010

After some thinking how to best serve the dish with what little time I currently have here comes an overview of what was happening with free multimedia production tools during 2010. Read on! :)

There’s a bunch of other publications coming during the holidays season, mostly thanks to a magic gadget I stole borrowed from one vendor. The gadget takes a draft of an article and finalizes it. No more hassle of “dunno if it’s good enough to share”. It’s magic!

Nevertheless, I wish you to simply make the most of this holiday season. Stay tuned for more rants :)

On VST, WINE and all

The epic battle against Focusrite Plugin Suite is over and I’m defeated. The problem turns out to be in the license registration prompt that simply refuses to load under WINE, whether you load it in Ableton Live or in Ardour: any signal simply gets bypassed until the plugins are registered. There probably is some WINE conspiracy in support for native effects/instruments SDK over VST :)
Continue reading ‘On VST, WINE and all’

The more the better

As an appendix to the recent rant, the hilarious “Creative Suite for Linux” thread on omgubuntu brought this gem a couple of days ago:

“It [migration from Windows to Linux] will solve many issues. In free software community more users = more contributors. More contributors = better software. Better software = more users.”

Sounds like a dream, eh? Surely at least some of those people using free software want to contribute?

Let’s have look at download stats of Windows build of GIMP. The SourceForge page defaults to a week, and for the current timeframe (Dec 13 2010 to Dec 20 2010) it shows 379,681 downloads. That’s 380K downloads a week, boys and girls.

How about a year? 15,902,245.

So, how many new committed developers appeared in that timeframe? I mean, out of those very nearly 16 millions? 10? 20? 50? Um, no. It’s actually zero. Oh wait, I’m wrong! It’s actually -1, ’cause Martin is rather busy since last spring. The usual amount of people who occasionally do something hasn’t changed.

Now you might argue this is because typical Windows users are this and that, but seriously, there is no direct connection between amount of users and amount of contributors. You can have a very small, yet very focused community like the amazing gis-lab.info guys (sorry, it’s mostly in Russian) who work their ass off to make free GIS tools Just Work™ (and they use different OSes). And you can have a large project that doesn’t gain committed contributors at all despite of being well-known, popular, yadda-yadda… Amount of user base simply doesn’t affect anything directly.

Things we should do better

Earlier this year I had a meeting with Konstantin Rotkevich, who asked me in a by-the-way fashion how things were going for Inkscape. Some five minutes later he told me: “You know, Alex, every time I ask you this question you tell me some horrible stories about Inkscape, and yet the project strives”. Which is exactly true: many software projects live on the edge of complete and utter failure.

The previous blog posting covered things we don’t really do better than proprietary software vendors and things we actually do better than them. Now let’s talk about our weaknesses. This particular blog posting is loosely based around a rather angry mail I sent to one mailing list recently.
Continue reading ‘Things we should do better’

REX2 is on radar

A while ago we, re-lab project, started clean-room reverse-engineering of REX2 — a rather popular file format of audio loops supported by most DAWs on the market except free/libre ones. Before we started we actually contacted Propellerhead to ask if they are willing to share the spec and got no reply whatsoever. Since Propellerhead has a history of being not quite friendly towards open source projects, and we still want our files supported, thank you very much, we proceeded with reverse-engineereing.

Right now we have several Python scripts to parse .rx2 files and dump contents to stdout. There is also a stub of the spec that we intend to fill ASAP with what we already know. If you have a licensed copy of Propellerhead ReCycle (that is the primary authoring application for REX2) and you want REX2 supported by free audio tools, don’t hesitate to join.

The request for REX2 spec originally came from Paul Davis of Ardour fame, so we expect Ardour to be the first application to support REX2. All the work happens in Gitorious: http://gitorious.org/re-lab/audio.