[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] Experience of using Chicken in production environmen
Re: [Chicken-users] Experience of using Chicken in production environment
Tue, 14 Apr 2009 11:23:49 +0200
I would like to follow up with a few basic (even trivial?)
considerations and ask this list for opinions on the matter.
As a developer, I'm both a user and an author of sofware. I find that
these two roles often put the focus on conflicting aspects of software
As a programmer (which means: on my own projects) I like to be on the
cutting-edge, try new things, always adding and perfecting
algorithms. I don't care for "past versions", except to trace bugs or
recover lost files. I don't care much for bugs or for testing either,
because I'll fix things as they break and don't think twice about it.
In a work environment it's slightly different, but not much. The
focus is still always on "going ahead."
As a user (which means: using software written by others, as tools for
my work) I tend to prefer "stable" and "complete" versions, which
means: 1. software on which people spent more testing and bug-fixing
time than development time, at the expense of new features; and 2.
software that has a large number of library extensions available, with
similar testing and verification status.
This is why I'll write a program in the ancient Python version shipped
with Debian, rather than go and fetch their latest development tree.
My aim is to use Python (in this example) just as a tool, so I'd
rather not worry about the tool itself: it needs to "just work" and
have every extension I might need, so I can focus on my project.
Now, this is all quite obvious, but what implications does it have for
a volounteer-based, open source project?
How do other projects cope with this problem? Do they volountarily
sacrifice development time to maintain an old, "stable" branch,
alongside the latest one? Do they somehow find a paid developer to
maintain the stable branch?
How do they manage testing and verification of "stable" releases?
In the case of Chicken, even if 4.0 was bug-free, it would still be of
little use to most users, without the wealth of eggs still to be
ported. Plus, there's the new macro and module system that will break
most user code. So it makes a lot of sense, for the sake of Chicken
users, to keep and maintain the 3.0 branch and all eggs for a looong
time. Much more than any Chicken developer would like to do. The
question is: who will do it?
Note that I'm not blaming anybody or *requiring* anybody to work for
me. I appreciate this project and will always consider anything that
comes out of it as a gift, simple as that. In the future I will
probably contribute in a more significant way, if/when I find the
time, or when I can persuade my employer to let me code some projects
in Scheme... but this is OT.
What I'm doing is just making some basic considerations of "software
engineering"; asking how other projects cope with them; and asking how
you, active Chicken developers, plan to tackle them.