Caspia projects and Thunderbird

R Kent James kent at
Thu Mar 23 19:06:11 UTC 2017

I'm recycling an old trademark that I've used, Caspia 
<>, to describe my projects to involve Washington State 
prisoners in open-source projects. After an afternoon of brainstorming, 
Caspia is a new acronym "Creating Accomplished Software Professionals In 

What does this have to do with Thunderbird? I sat in a room a few weeks 
ago with 10 guys at Clallam Bay, all who have been in a full-time, 
intensive software training program for about a year, who are really 
interested in trying to do real-world projects rather than simply hidden 
internal projects that are classroom assignments, or personal projects 
with no public outlet. I start in April spending two days per week with 
these guys. Then there are another 10 or so guys at WSR in Monroe that 
started last month, though the situation there is more complex. The 
situation is similar to other groups of students that might be able to 
work on Thunderbird or Mozilla projects, with these differences:

1) Student or GSOC projects tend to have a duration of a few months, 
while the expected commitment time for this group is much longer.

2) Communication is extremely difficult. There is no internet access. 
Any communication of code or comments is accomplished through sneakernet 
options. It is easier to get things like software artifacts in rather 
than bring them out. The internal issues of allowing this to proceed at 
all are tenuous at both facilities, though we are further along at 
Clallam Bay.

3) Given the men's situation, they are very sensitive to their ability 
to accumulate both publicly accessible records of their work, and 
personal recommendations of their skill. Similarly, they want marketable 

4) They have a mentor (me) that is heavily engaged in the 
Thunderbird/Mozilla world.

Because they are for the most part not hobbyists trying to scratch an 
itch, but rather people desperate to find a pathway to success in the 
future, I feel a very large responsibility to steer them in the 
direction of projects that would demonstrate skills that are likely to 
be marketable, and provide visibility that would be easily accessible to 
possible future employees. Fixing obscure regressions in legacy 
Thunderbird code, with contributions tracked only in and 
BMO, does not really fit that very well. For those reasons, I have a 
strong bias in favor of projects that 1) involve skills usable outside 
the narrow range of the Mozilla platform, and 2) can be tracked on github.

I've already mentioned one project that we are looking at, which is the 
broad category of Contact manager. This is the primary focus of the 
group at WSR in Monroe. For the group at Clallam Bay, I am leaning 
toward focusing on the XUL->HTML conversion issue. Again I would look at 
this more broadly than just the issues in Thunderbird, perhaps 
developing a library of Web Components that emulate XUL functionality, 
and can be used both to easily migrate existing XUL to HTML, but also as 
a separate library for desktop-focused web applications. This is one of 
the triad of platform conversions that Thunderbird needs to do (the 
others being C++->JavaScript, and XPCOM->SomethingElse).

I can see that if the technical directions I am looking at turn out to 
work with Thunderbird, it will mean some big changes. These projects 
will mostly be done using GitHub repos, so we would need to improve our 
ability to work with external libraries. (We already do that with JsMime 
but poorly). The momentum in the JS world these days, unfortunately, is 
with Node and Chrome V8. That is going to cause a lot of grief as we try 
to co-exist with Node/V8 and Gecko. I could also see large parts of our 
existing core functionality (such as the IMAP backend) migrated to a 
third-party library.

Our progress will be very slow at first as we undergo internal training, 
but I think these groups could start having a major impact on 
Thunderbird in about a year.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the tb-planning mailing list