Ideas for how you could get me to contribute to Thunderbird

I’m a long time user of Thunderbird. Netscape Mail (or whatever it was called) was my first email client. Way back at version 4.x or earlier… I moved away to GMail for a while, but when I started running my own email server, Thunderbird was the client I picked. So I really really want to see Thunderbird gain a LOT of momentum.

Before I jump into my ideas, I want to acknowledge that I am suggesting some very, very big changes. I expect there would be a very large cost to implement them, and I expect a lot of current developers would not like the changes at all. I’m also just a user, I haven’t contributed any real time to the project, so I’m missing a LOT of the picture.

That said, please try to look at my ideas objectively. Maybe they’re exactly what this project needs. Or maybe my ideas are terrible. As long as you take a few minutes to think them through, I’ll be happy. :slight_smile:

If any of this has been discussed before, could you link us to an archive of the discussion?

Mozilla or not?

Please clarify Thunderbird and Mozilla’s relationship. Thunderbird users all heard loud and clear that it was being cut off from Mozilla. Then, when you revived it, suddenly it isn’t being cut off, or it’s sorta being cut off? What the heck???

For example, this Discourse forum. Why is it on discourse.mozilla.org? Why not discourse.?

Where is Thunderbird’s new site, again? I tried Googling. I found the mozilla.org site, a real estate company, and a school.

It’s really confusing. And that doesn’t help encourage new users or new developers. Something linked to on the front page of the site that explains things would be helpful.

Even more helpful would be to move the site, code, bugs, blogs, forums, and everything else off of any mozilla.org domain.

Where’s the code?

I asked this on the “What Thunderbird Learned at FOSDEM” blog post. (Why is that still hosted by Mozilla again??? :wink: ) Ryan pointed me to https://hg.mozilla.org/comm-central/ When I load that page, I’m left scratching my head wondering how I’m supposed to get the code and do any development.

For a first step, I’d really really like to see a link to Thunderbird’s code directly on the front page of Thunderbird’s site. Or at least a “Developers” page. Something like on libreoffice.org. You use the “Get Involved” menu, click “Developers”, and that page has a nice large “Get the Code” link. That page tells you where the code lives, how to get it, and links to documentation on building and getting started.

Next, I’d love to see a GitHub like solution for both code and issues. I have no idea if something like that exists for Mercurial, so I’m going be crazy and suggest switching to git. Yes, I went there.

Specifically, I suggest GitLab. You could host for free on GitLab.com, or you could build your own instance.

I run an internal GitLab server at work. We don’t have any big projects, but I can see that GitLab has built a very useful system. Lately I’ve been learning how their CI/CD system works. It’s pretty straight forward.

Overall, considering how git seems to be the biggest VCS out there, a lot more developers would be able to jump on board if you used it. And while it’s not perfect, GitLab’s UI is far easier to figure out than whatever hg.mozilla.org is on, or Bugzilla.

Clarify communication

So, how to communicate bugs, or ask for support, or just post ideas, is not an easy thing to figure out for Thunderbird. That’s a bit ironic considering it’s a communication tool… Thunderbird isn’t alone, I’ve noticed a LOT of projects are terrible at showing new users where to go for what kind of communication.

Here’s my suggestion:

Create a top level “Communication/Support” page on the website. It would contain links to the various communication channels, as well as simple explanations of what each channel is for.

  • GitLab issue queue for bugs and development communication.
  • A Discourse forum for support and other ideas.
  • A security announcements mailing list or subforum.
  • A list of mailing lists, if you still need them. I’d hope most could move to Discourse.
  • A list of chat channels. IRC, Slack, Discord, etc.

For bonus points, some kind of wizard that asks a few questions and tells users where to go.

(In my dream world, everything would be able to move between systems. A user starts a chat, but has to leave, so it gets converted to a forum topic. They get back, and start a chat again. Or a developer looks at it, and sees it is a bug, so they convert it to a ticket on the issue tracker. And so on.)

Thunderbird Next

This seems to be in progress right now. But I wanted to mention it anyway. Users and developers all want to know what the plan is for the future of Thunderbird. Will it remain useful and not succumb to bloat? Will it gain a bunch of awesome new features? Where is it going?

Donations

Another thing I’d like to see on the front page of the site is a way to donate to Thunderbird directly. Not through Mozilla. Even better would be ways to put money towards specific issues or features.

Conclusion

Anyway, those are the thoughts I’ve had. Hopefully they inspire some useful discussion. And, maybe, someday I’ll figure out the current development infrastructure, and be able to contribute code instead of words.

Hey there!

Thanks for the feedback! This is a lot but I’ll try to answer it thoroughly and succinctly.

First: you can find instructions on building Thunderbird here, which is a good place to get started contributing: https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Simple_Thunderbird_build

As for finding resources via the website, I have proposed a few of the changes you outlined to the website before, they are in the process of getting implemented - but you should propose further ideas you have here: https://github.com/thundernest/thunderbird-website in the issue tracker.

As for our relationship with Mozilla. It is complicated, they don’t fiscally support us, but do offer up infrastructure to us (like this Discourse instance). We don’t know what the future holds for this relationship, but we’re not too hasty in burning bridges and cutting ties before we have all our ducks in order and have figured everything out.

I hope that begins to answer your questions. Let me know if I didn’t get to everything.

2 Likes

Has there been any discussion about moving to a different vcs and issue tracker?

Or, maybe, just reorganizing things to make it a bit easier for unfamiliar developers to figure things out?

I did post a feature request for the site: https://github.com/thundernest/thunderbird-website/issues/19

Ryan also asked about the possibility to move to a different vcs when he got started. The thing is, our build system re-uses a lot of code from Firefox in order to save us the work of doing it ourselves. So to make git the canonical source for Thunderbird, it would be best to convince Firefox first. From what I gather, hg performance is superior for large repositories. I can’t find a good article on this, but here is a start.

That said, there is a possibility to download via github. This is just a mirror though, we don’t use the bugtracker there since it is not as powerful as bugzilla, nor is this a supported development path.

Either way, we definitely want to make it easier to contribute, and easily accessible documentation on how to get started is essential to that. Your ideas, as well as others posted here on discourse, are great starting points to improve on that.

Thanks for filing the github issue. Would you be interested in diving in to the website code to also fix the issue you filed? Ryan has already started this work, so it would be best to coordinate with him.

Thunderbird’s current stance on the future is here: https://blog.mozilla.org/thunderbird/2017/05/thunderbirds-future-home/ which you might have already read. This is the latest stance. I can imagine it is a bit confusing, the back and forth since 2012, but either way we are doing our best to provide Thunderbird with a bright future!

I have scanned a few of the articles about git performance as they’ve come up on hacker news. So if hg is better that way, I can understand wanting to stay.

Is there a GitLab/GitHub like application for hg anywhere?

Things like:

  • Syntax highlighting
  • Easy to find list of branches. (I had to look very carefully to find the link to the branches.)
  • Better UI. ( I just opened up the same file on both github and hg.mozilla.org, github is way easier on the eyes.)

Hmm… Looking at all the features I found in 5 minutes on hg.mozilla.org vs. what’s on GitHub, for code browsing, they’re pretty much the same. Github is just easier to use.

Is there any kind of equivalent to the pull request? I have not done a lot of collaborative work, but the few times I’ve used a pull request, the ability to comment on specific code in the request and just general comments was very very useful.

I was thinking of doing so. I guess I’ll go see how hard it is to build a local dev instance of the site. :slight_smile:

Yep, read it way back when you first posted it. It was still good to read it again. Though, this line:

… but Thunderbird will migrate off Mozilla Corporation infrastructure …

I think is why I didn’t think to find Thunderbird still living alongside all of Mozilla’s stuff.

Oh, here’s a thought. Is it possible to alias, or change, https://hg.mozilla.org/comm-central to https://hg.mozilla.org/thunderbird ?

The first time I saw “comm-central”, I was scratching my head and wondering what the heck it meant…

You might want to look at https://searchfox.org/comm-central/source which is much nicer for code search. It has syntax highlighting and better UI. The branches thing is a bit different than you’d expect. hg branches are not quite the same as git branches. Mozilla chose to go with different (related) repositories for beta vs nightly. There is http://hg.mozilla.org/comm-central/ for the nightly builds, and http://hg.mozilla.org/releases/comm-beta for beta, and http://hg.mozilla.org/releases/comm-esr52 for the ESR 52 which is the last major release.

Mozilla is experimenting with phabricator, which would allow per-line comments. Here is an example: https://phabricator.services.mozilla.com/D387

Great!

Thunderbird is very intertwined with Mozilla Corporation’s infrastructure. We generally want to move off of anything that incurs an additional maintenance effort on MoCo’s side to support Thunderbird. This is a gradual process. We’re making careful decisions on what to migrate in what order given the resources we have. hg and Bugzilla might be one of the last services we move off of.

1 Like