Monthly Archive for May, 2010

Private vs. dead projects

Oh well, the thread in OpenICC mailing list about Elektra is growing into articulating all sorts of amusing misconceptions about public, private and dead projects.

You know, I’ve been spending an awful lot of time exploring various projects in the past years and I’ve got something to say about common mistakes developers do. So here comes the first post on the topic. The whole series is going to be harsh; at some point you might find yourself swearing in presence of kids. Be careful about that — they might point out grammar and spelling mistakes :)

The way to start this posting would be definition of terminology. Unfortunately this is possible only for “private project”, because definition of a dead project is oh so much controversial. So let’s go with “private” first.

Some likely definitions for a private project would be:

  • a project whose developers do not intend to gain public interest
  • a project that exists to satisfy one’s urge to experiment or to solve a private task
  • an in-house project

With these definitions in mind, you can visit a website of a private project only by coincidence. Even so, you are not supposed to discover any bold statements, right? Whereas with Elektra you see an attempt at unification of UNIX configuration systems. That’s rather bold for a private project, no? And what you see next is total absence of visible activity.

There is one very popular mistake a lot of free software developers do. They release source code and think it’s enough to get the ball rolling. Well, it’s not and I’m not sorry to tell you that. When your goal is to create a successful project, you have to think of many more things:

  • documentation for both developers and users
  • regularly posting updates on the state of things
  • building a strong community

That’s at the very least. And guess what — very few developers want to do that and/or are good at that. What developers really want to do is to actually work on their project, because this is what they are good at.

In my opinion everyone should be spending time mostly on things that are fun to do. So it’s pointless to criticize a software developer for not being strong community leader or a top class journalist, but it is right to criticize him/her for not attempting to build a team that covers all angles.

You’d be amazed how many important free software projects have websites that barely get updated and what kind of rumors are given life because of lack of information on the subject.

How much of that relates to small projects? A lot.

Tell me, what is the point of a private open source project, be it small or large? You apply GPL or a GPL-like license, because you want modifications go back to you to improve your mainstream code. Free open source software is really rather pragmatical. So if you are not even making an effort of telling people, if the project is alive, you might as well change license to proprietary or put a big lock on the website and tell everyone to stay out.

In the next postings I’m going to further treacherously bully smalls projects cover things like writing news and working with communities. Watch out :)

On enterprise technologies

Back in 2001 or so one of my friends told me when he heard I was experimenting with Delphi that all these Delphi, VB and C++ are dead and soon there will be only Java.

About a week ago I cooked up a list of free patch editors and managers of external synths and samplers for the recently started linuxsound.ru. And now that yet another shovel for amateur grave diggers vintage synth manager is out, I thought I’d have a closer look.

Well, guess what. There really is a bunch of Java patch editors for ext. synths written in 2000-2004. Those are mostly dead projects. How about new applications? All, and no — I really mean all of them are written in Qt/C++. Have a look yourself, why don’t you: QXGEdit, ME-Edit, FB01 Sound Editor, Fx FloorBoard, qtpod and now Yamaha DX7-II synth manager.

And since I’m basically evil, I can’t resist recalling how principle developer of Protux went mad some years ago and decided to redo everything in Java, praising this technology and saying how much better everything will become, since he was an experienced Java developer at IBM. Remon, who joined the team shortly before that, disagreed and continued development of the tool under a new name and in Qt/C++.

You don’t need to be a wizard to see through the whole thing: the Java port miserably failed. At the same time Traverso is still alive, and even though it’s probably not kicking, but merely prodding, development continues, new features are being added, UI is being improved and so on.

I’m trying to think of any desktop Java application I used in the past years, and FreeMind is the only one I can recall (and even so it’s a sad example, because 0.9.0 has been WIP for years). So I’m curious, when did you guys and girls last used a desktop application in Java on daily basis?

Scribus 1.5.0svn, what’s new

Scribus project is known for being slow or, rather, cautious regarding releases of unstable versions. The version 1.5.0 is still in works, and there’s a bunch of new things since January:

  • further work on new Preferences and Document Settings dialogs;
  • work on better color spaces support;
  • gradient meshes (yes, you got it right) thanks to Adrian Johnson’s gradient-mesh Cairo branch;
  • Illustrator-like symbols;
  • preview for all supported vector file formats in the open/import dialogs;
  • improved CGM importer;
  • new Micrografx DRW importer;
  • support for pattern fills in XAR and PICT importers;
  • support for Diamond gradient fills in the XAR importer;
  • support for gradient meshes, symbols and brush patterns in the AI importer;
  • improved SVG exporter;
  • support for vector files in the Scrapbook;
  • over 100 of bugfixes.

Unfortunately there’s still a bunch of loose ends all around, including things that should have been fixed for years. The team is currently very limited in both amount of active contributors and their spare time to undertake major projects. They also weren’t accepted as a GSoC mentoring organization this year. The only way to speed up things seems to be getting involved into programming.

Unfortunately the very same thing applies to GIMP and GEGL. The current team is 3,5 persons large. The existing ETA for 2.8 is end of November 2010 (last measured in early March), and the current estimation for 2.10 is 42 weeks while not mentioning GEGL at all.

Both projects have grown very complex over the years, and thus getting involved has become difficult. The best way to start contributing is probably studying plug-ins, since both applications have 3rd party plug-in architecture (not quite advertised in Scribus for some reason which I personally find unreasonable). Developers of both projects (less so for GIMP) are going to attend Libre Graphics Meeting 2010 next week in Brussels, so if you are close to the venue and willing to help, meeting them face2face is an opportunity not to be sneezed at :)