[265] in BarnOwl Developers
Release engineering, packaging and momentum
daemon@ATHENA.MIT.EDU (Sam Hartman)
Thu Oct 29 18:04:18 2009
Resent-From: nelhage@mit.edu
Resent-To: barnowl-dev-mtg@charon.mit.edu
From: Sam Hartman <hartmans@MIT.EDU>
To: dirty-owl-hackers@mit.edu
Date: Tue, 31 Oct 2006 14:50:26 -0500
Hi, folks. First, thanks for all the great work. I have not quite
migrated to owl as my jabber client but have been playing with it and
expect to do so within the next two weeks especially if things
continue.
I strongly urge you to continue the momentum this project has built
up. While I think working with kretch is really important, I think
making forward progress is far more important. You should set a
deadline past which you want to try to start recruiting users.
However, the current barnyard-owl snapshots (I'll use that name until
someone comes up with a better one) lack something critical that owl
had. Owl was easy to start using: you typed owl. You didn't need to
find someone to sleep with in order to set up your dotfiles so it
would work. You didn't need to copy random hacked up vt files out of
someone's directory. We've lost that. I understand why, and in a
small community of developers, I think that's OK. But I propose
fixing it before a release.
I propose that owl gain the concept of installation configuration in
addition to home directory configuration.
Basically, for core modules like jabber, I think that you should be
able to drop them into @datadir@/owl/modules and have perlwrap.pm load
them. That probably means much of owlconf.pl moving into perlwrap.pm.
You'd probably want to support modules in both ~/.owl and
@datadir@/owl/modules. You'd need to make owl's @datadir@ available
to perl, presumably by populating a variable with it. Note that owl's
datadir may not be the same (likely is not) as perl's.
Another problem I noticed is that some modules depend on other
modules. In particular, jabber.pl seems to depend on colorutils for
is_bold. I'm not entirely sure that's ideal. I think that if that
sort of dependency is going to happen, it is important to separate
library code from module code.
To that end, I propose that perlwrap.m add @datadir@/owl/lib and ~/.owl/lib to @INC.
I propose that utility functions from ColorUtils move into OWL::ColorUtils and get installed in lib/Owl/ColorUtils.pm
I also think it is important to be careful about which modules get
installed in datadir/modules. I definitely think jabber should be.
But it is important only to install modules that are easy to use and
that most people will want.
Thoughts?
does this sound reasonable?
--Sam