Songs of Doom

Dictatorial development

February 28, 2005, 6:53 pm
Thoughts

Looking to replace Psi’s CVS repository with something less horrible, I’ve been investigating GNU Arch (which seems to offer the kind of things I want). While searching, I found a mail sent by Matthew Palmer. In the mail he discusses the need for community control of community projects, in contrast to a single person acting as gatekeeper to the project. This reminded me somewhat of my current position in Psi, where I take too long to check patches and commit them. Is this why we have Psi-PSZ? It doesn’t seem to contain anything that is a particularly bad idea. I haven’t checked all the patches (part of, or possibly all of, the problem), they may be badly written, which would get them rejected. The problem just seems to be that actually checking patches other than your own is a terribly dull job. The question that presents itself then is; what would happen if I was less stringent in my commital of patches? Would the world fall apart? Or would other people later make patches to replace the bad code when they come to extend it?

Today’s Psi Activity

I had a couple of minutes free around lunchtime today at work, so I quickly checked and committed PSZ’s patch to remember paths for file dialogs between sessions.

I then had a couple of minutes more, so I worked on tabs. They can now be positioned at the bottom instead of the top of the window. Tabs can be dragged and dropped at will between tabsets and the tabs themselves now contain icons, which become close buttons when moused over, hopefully fixing the horrible graphical glitch in the QT widget on OSX.

Not a bad day.

3 Responses to “Dictatorial development”

Remko wrote on March 1, 2005

A lot of patches are badly written, and are really ‘patches’ of the current system. Becoming more liberal in committing these kind of patches looks like fun on a short term, but is horrible on a long term if you look at maintainability of the code, and adding of more fundamental features. So please, do not become more liberal on patches; i would even suggest that the developers let their code be looked at by another developer before committing it.

Something else on this: As someone who is very picky on well designedness of programs and clean-ness of code, i am under the impression that, when i look at the Psi codebase, there already is a lot of code in there which is just plain wrong and ugly. I don’t know if they come from external patches, were written in a hurry, come from keeping on dragging old code along and trying to make it fit to the new things, or just because of laziness of doing it right ™, but it’s just wrong. A lot of parts of Psi need a big refactoring, and i hope that, when someonoe does it, it will be someone with a good OO analysis background, otherwise it’ll just be a waste of time again.

Sander wrote on March 2, 2005

What he also can do is to create a separate branch for these patches in cvs…maybe that is a solution?

Kev wrote on March 2, 2005

It’s something I’ve been considering.
People have proposed to me before that there could be an ‘experimental’ branch. So far I’ve dismissed this out of hand, because branching and merging in CVS is a PITA and not really an option. With arch, if I go that way, it does become an option, as changesets make things viable.

The question then is “is the reason I can’t just mass commit patches to the main trunk stability, or code style?”. There is certainly a train of thought that says “if we’re only worried about stability, an experimental branch would provide a reasonable testing ground”. The problem is that, in a way, I’m more concerned about the style of the patches than of their stability in the short term. Stability will sort itself out soon enough, but bad code style could bite us months or even years into the future.

If you were suggesting that I commit patches to the experimental branch as soon as I get them, but then still intend to do a review of them, that’s an option I hadn’t considered.

Care to comment?

Bad Behavior has blocked 799 access attempts in the last 7 days.