---

The Time Trading Development Technique: Controlling Time-Waste in Open Source Projects

By Lyn A Headley, [email protected]

Time is money, they say, and while this article has nothing to
do with money, it most certainly treats time as a resource. Not a
new idea, in fact I’m sure many of you already regard time as your
most important resource. You’ve spent your life
allocating your time, between friends and family, between leisure
and work. But have you ever seen developer time traded for the
advancement of an open source project?

The basis of this technique presupposes the following: Every
open source developer admires many other open
source projects, besides the ones he or she steers. What is lacking
is a structured way to contribute to projects which you do not
necessarily plan to jump into fully. In short, we need a system for
culling bits of time from isolated developers and mending them into
project contributions.

The idea is simple: let’s say rodney the programmer thinks
apache is a kickass web server, but it lacks a fully threaded
control module for his favorite programming language (Common Lisp).
Rodney knows the Apache C-API and his Lisp’s foreign function
interface, but he’s not all that knowledgeable about apachi’s
internals, and especially not its threading code.
Rodney can contribute to both the Lisp and apache communities, and
keep his day job, by trading 10 hours of his time working on the
project for 1 hour of that of a senior apache developer, with the
understanding that Rodney will post all code and documentation
produced during his “shift”.

11 hours later, what has been accomplished?

  • There is public documentation and/or source code which shows
    progress made on an interesting project.
  • Rodney (and therefore the apache and Lisp communities) has
    learned much more in those ten hours than he could
    have on his own.
  • Perhaps Rodney’s interest has been piqued so much that he
    commits himself more fully to the project
  • Perhaps they will decide to trade again on the same project, or
    a different one.

I believe this technique could drastically improve the flow of
communication between open source developers. It encourages senior
developers to explain things fully to new developers with the
*guarantee* that their time will not be wasted. As a communication
channel it gives new developers specific and
detailed information about whatever project
scratches that particular developer’s itch.

But it has even more potential: I imagine an online “Time
Database,” where developers register time spent on projects and the
results achieved, while propping up their resumes with feedback and
praise from their mentors and students. A place you can go to get a
feel for a developer’s interests, accomplishments and standing in
the OSS community. A testament to the effectiveness of OSS
development, and human cooperation in general.

To show that I am not completely full of hot
air, and because this article was born out of my interest in this
particular problem, I hereby offer 10 hours of my time in return
for 1 hour, to any knowledgeable developer who can flesh out the
task of adding thread support to the GNU Eiffel compiler.

As for my own projects, I am willing to act as senior trader for
the
Referendum group understanding tool
and the Lyntin agent development
environment.
Please email me at [email protected] if
you are interested.



copyright 2000 Lyn A Headley
First published on elj.com
You may distribute this article freely.

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends, & analysis