Contributing to RT

Jesse,

Thank you for RT. You have given the open source community
something of value. I wanted to say that up front, so that
if you take what I say below as criticism you will know that
what I say is with the understanding that you gave when you
didn’t have to and you don’t owe anything to the RT community.

Being that I am developing a not insignificant add-on for RT
I may be more sensitive than most to the problems I see. It
feels that the community involvement in the direction and
improvement of RT is more limited than it needs to be.

The feedback to submitted bugs and patches has been sporadic.
Especially in the case of patches I have submitted code and
get no sense of when it will be reviewed and possibly included
in RT. With every patch or improvement I contemplate writing
for RT I hesitate because I get the sinking feeling that
my patch will disappear into a black hole. By extension I am
concerned that others may feel discouraged too. That I can’t
know but I hope it is not true.

I am open to the possibility that my code sucks or that I find
myself in this situation because of lack of good communication
on my part. Or perhaps because my code almost always comes
without tests.

I am also open to the possibility that RT simply doesn’t evolve
at the rate that I would like. Best Practical (BP) does have
customers to support so maybe controlling the pace of evolution
is desired.

Yes, I realize that BP has limited resources and paying customers
come first. Perhaps this is the sole reason for the problems
I see and unavoidable. Or maybe it is avoidable and with
discussion we could improve the situation.

This has been difficult to write because I am asking for something
from someone that doesn’t have to give anything. I also risk
pissing off the person who is the gatekeeper to contributing to
RT, but I take the risk anyway Jesse because I have not seen
you act unreasonably.

Maintaining the community around any open source project must surely
be one of the most difficult aspects of such an undertaking and
I don’t envy you for it. However you respond, I appreciate what
you have given us.

Respectfully,

-Todd

Being that I am developing a not insignificant add-on for RT
I may be more sensitive than most to the problems I see. It
feels that the community involvement in the direction and
improvement of RT is more limited than it needs to be.

Todd,

We're insanely overworked around here (yesterday was an 18

hour work day). I greatly appreciate your patches and feedback and I’m
sorry if I can’t respond quickly to every contribution. We’re a small,
growing company with three active development branches of our main
product. The pace is somewhat frantic at the best of times. I know
we’re not applying patches as fast as everyone might like. We are in
the process of bringing on more paid staff to help handle maintenance
and updates.

I'd love to have the resources to answer every question asked,

investigate every bug reported and and test patch sent in by an end
user on each of our four database platforms and three webservers. But we
don’t have infinite resources. And we do have to prioritize the folks
who keep a roof over our heads and food on the table.

Jesse

Being that I am developing a not insignificant add-on for RT
I may be more sensitive than most to the problems I see. It
feels that the community involvement in the direction and
improvement of RT is more limited than it needs to be.

Todd,

We’re insanely overworked around here (yesterday was an 18
hour work day). I greatly appreciate your patches and feedback and I’m
sorry if I can’t respond quickly to every contribution. We’re a small,
growing company with three active development branches of our main
product. The pace is somewhat frantic at the best of times. I know
we’re not applying patches as fast as everyone might like. We are in
the process of bringing on more paid staff to help handle maintenance
and updates.

I’d love to have the resources to answer every question asked,
investigate every bug reported and and test patch sent in by an end
user on each of our four database platforms and three webservers. But we
don’t have infinite resources. And we do have to prioritize the folks
who keep a roof over our heads and food on the table.

Jesse

I understand. If only we had some way to use community resources
to improve the situation.

-Todd

  • Todd Chapman:

I understand. If only we had some way to use community resources
to improve the situation.

How easy is it to set up the test suite? Unfortunately, I haven’t
tried to run it yet.

If it’s reasonably straightforward, it might make sense to implement
something like GCC’s development process:

http://gcc.gnu.org/contribute.html

To summarize: After running the test suite, developers submit patches
for review. The relevant maintainers comment. Once the patches are
approved, the original authors commit them themselves (and it’s their
job to resolve all conflicts). Most patches should come with test
cases.

The underlying idea is that because of the test suite, you can
concentrate on what the patch does, and not so much how it interacts
with the rest of the system. There’s no designated integrator, so
this chokepoint is eliminated. Of course, by implementing such a
model, you relinquish quite a bit of control.

  • Todd Chapman:

I understand. If only we had some way to use community resources
to improve the situation.

How easy is it to set up the test suite? Unfortunately, I haven’t
tried to run it yet.

If it’s reasonably straightforward, it might make sense to implement
something like GCC’s development process:

http://gcc.gnu.org/contribute.html

To summarize: After running the test suite, developers submit patches
for review. The relevant maintainers comment. Once the patches are
approved, the original authors commit them themselves (and it’s their
job to resolve all conflicts). Most patches should come with test
cases.

The underlying idea is that because of the test suite, you can
concentrate on what the patch does, and not so much how it interacts
with the rest of the system. There’s no designated integrator, so
this chokepoint is eliminated. Of course, by implementing such a
model, you relinquish quite a bit of control.

How many light years are you out? This is quite an old thread. I
can feel Jesse cringing at your suggestions above and I don’t
blame him.

What I would love to see though, is for BP to take the time to
publish specifications for wish list items they would like to
do but don’t have time for. I think they would get a lot more
community contribution that way, and would greatly increase the
chance that patches are accepted, which would probably create
some sort of really awesome feedback loop, perhaps ending with
the Singularity. :slight_smile:

-Todd