Bug 1885722 - Thunderbird 78 should not be published in Fedora 33
Summary: Thunderbird 78 should not be published in Fedora 33
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: thunderbird
Version: 33
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jan Horak
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-10-06 19:44 UTC by Gordon Messmer
Modified: 2020-10-28 16:07 UTC (History)
16 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2020-10-07 12:04:44 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Gordon Messmer 2020-10-06 19:44:11 UTC
Description of problem:
Thunderbird 78 is be a major "breaking" upgrade:
https://www.thunderbird.net/en-US/thunderbird/78.2.1/releasenotes/#changes

We're past the beta freeze, and IMO, this violates the updates policy which states "Package maintainers MUST:   Avoid Major version updates, ABI breakage, or API changes if at all possible."

https://developer.thunderbird.net/add-ons/updating/tb78/changes

Thunderbird > 68 has significant API changes.  XUL has been completely removed for extensions, as well as numerous other breaking API changes, including to preferences and address books.  Extensions are not expected to be compatible without significant effort.

Personally, I think this change warrants its own self-contained change proposal in the next release of Fedora, even though Thunderbird 68 will not receive updates after Sep 2020: https://blog.thunderbird.net/2020/09/openpgp-in-thunderbird-78/

Having rolled back my own system so that I can continue to use the SOGo extension, the Lightning extension isn't enabled or even visible in Add-ons, so I have to figure out how to fix that.

Given that downgrading is not trivial, can this update be backed out ASAP?

Comment 1 Vitaly 2020-10-06 19:53:25 UTC
I disagree with you. Thunderbird's update is not broken, it has no API/ABI breakages. Everything works just fine.

Version 68.x is now EOL. It will no longer receive even security updates. All users must switch to 78.3.x branch as soon as possible.

Fedora is a bleeding edge distribution. If you need a legacy version of any package, you can always build it in COPR. I want to use the most recent version.

OpenPGP is now build-in into Thunderbird core. No third party addons required.

Comment 2 Miro Hrončok 2020-10-06 19:58:58 UTC
Considering this has already been updated in Fedora 32 (stable) as well as Fedora 31 (pending), I don't think this is viable to revert in Fedora 33.

Comment 3 Harald Reindl 2020-10-06 20:21:03 UTC
the cat is out of the bag - thunderbird-78.3.1-1.fc32.x86_64 - over and out - enigmail is included

Comment 4 Gordon Messmer 2020-10-06 20:57:44 UTC
The issue isn't enigmail, it's the entire ecosystem of add-ons that are obsoleted by significant changes in Thunderbird > 68.

Given the policy that package maintainers "must" avoid breaking API changes within a release, why was this released for Fedora 32?

Comment 5 Harald Reindl 2020-10-06 22:05:06 UTC Comment hidden (abuse)
Comment 6 Brandon Nielsen 2020-10-06 23:29:45 UTC
This isn't the kernel. When a kernel is marked EOL, it doesn't see any additional upstream activity. That is not the case here. Additionally, consumers of the kernel often backport security fixes to EOL kernels, just as Fedora package maintainers often backport security fixes to packages as a "downstream" consumer. But that's the kernel, not sure why we're talking about it in the first place.

This seems like it was really a no-win situation for the maintainer. Thunderbird's support policy seems ambiguous: "Unlike the Mozilla Firefox ESR, Thunderbird does not provide a separate ESR release. This is because the regular Thunderbird release is already an ESR release. It remains stable and on that major version for approximately one year."[0] The 68.x branch is still seeing updates[1] (that, ironically, disable updates to Thunderbird 78). Even worse, Thunderbird didn't seem to want to officially support updates to 78 couching their release notes with "Thunderbird version 78.0 is only offered as direct download from thunderbird.net and not as an upgrade from Thunderbird version 68 or earlier. A future release will provide updates from earlier versions."[2] While the caveat is gone with 78.2.2[3], I don't see any mention in the release notes of supporting updates. Extension developers seem to not be real on board with the update either.

That being said, there are CVEs only marked as fixed in 78.X[4], and 68.X certainly doesn't seem to be seeing any kind of regular security fixes, and asking a maintainer to backport is a significant maintenance burden, and also not without risk of its own.

I think in this kind of no-win situation, the needs of the many outweigh the needs of the few. Most people benefit from security fixes, only a few seem to have their settings broken.

[0] - https://www.thunderbird.net/en-US/organizations/
[1] - https://www.thunderbird.net/en-US/thunderbird/68.12.1/releasenotes/
[2] - https://www.thunderbird.net/en-US/thunderbird/78.0/releasenotes/
[3] - https://www.thunderbird.net/en-US/thunderbird/78.2.2/releasenotes/
[4] - https://www.mozilla.org/en-US/security/known-vulnerabilities/thunderbird/

Comment 7 Harald Reindl 2020-10-07 04:28:45 UTC Comment hidden (abuse)
Comment 8 Gordon Messmer 2020-10-07 04:44:24 UTC
I don't think it's useful to argue this by anecdote or analogy.  I believe the facts of the matter are:

1: Thunderbird 78 is a breaking change.  Following the upgrade, a significant number of add-ons do not function.  Simple desktop users may be unaffected by the update, but business users that sync calendars and contacts with groupware servers like SOGo may lose critical functionality.

2: Fedoras policies state that maintainers must avoid major updates and API changes "if at all possible".  This change is without question a major update with API changes, so the only question is whether or not it was possible to avoid updating.  I believe that this policy serves several purposes, including not breaking user applications and communicating significant changes in advance.  This update breaks user applications without any notice.

3: There has only been one update in the 78 update channel since the last update in the 68 update channel, and the release notes indicate "In general, these flaws cannot be exploited through email in the Thunderbird product because scripting is disabled when reading mail, but are potentially risks in browser or browser-like contexts."

4: I've tested an existing install of Thunderbird on a Windows system.  That installation auto-updated to version 68 and now reports "Thunderbird is up to date" and "You are currently on the release update channel".  The vendor is not yet automatically upgrading TB 68 users to version 78.

Based on those facts, I think that the upstream vendor manifestly does not believe that the fixes in 78.3 warrant breaking the application for users of 68 at this time.  They *do* plan to automatically upgrade the application for those users, but haven't done so yet.  If the upstream vendor doesn't believe that an upgrade is *required*, then it should be permissible for Fedora to push no update at this time, consistent with the upstream vendor's policy.

I'm sympathetic to the view that this is a no-win situation, but I think Fedoras policies represent an agreement to communicate significant changes so that everyone has the opportunity to avoid unexpected breaking changes, and that didn't happen in this instance.  If nothing else can be done, we should at least plan to do better the next time.

Comment 9 Martin Stransky 2020-10-07 08:10:18 UTC
If you don't like 78, use 68 if you wish. 68 won't get any updates anyway (from upstream or any other side). If you ask maintainers to backport security fixes from 78 to 68 to keep 68 up to date, that's unreal. We don't even do that for RHEL for paying customers.

Comment 10 Miro Hrončok 2020-10-07 09:23:36 UTC
"I'm sympathetic to the view that this is a no-win situation, but I think Fedoras policies represent an agreement to communicate significant changes so that everyone has the opportunity to avoid unexpected breaking changes, and that didn't happen in this instance.  If nothing else can be done, we should at least plan to do better the next time."

Martin, this is certainly realistic, isn't it?

Comment 11 Martin Stransky 2020-10-07 09:32:47 UTC
(In reply to Miro Hrončok from comment #10)
> "I'm sympathetic to the view that this is a no-win situation, but I think
> Fedoras policies represent an agreement to communicate significant changes
> so that everyone has the opportunity to avoid unexpected breaking changes,
> and that didn't happen in this instance.  If nothing else can be done, we
> should at least plan to do better the next time."
> 
> Martin, this is certainly realistic, isn't it?

Yes, you're absolutely right. There should be better communication from TB maintainers side about such radical changes next time. There's no doubt about it.

But I believe this but asks to remove TB78 from Fedora 33 which is unreal. I'm not sure why did you opened this bug what do you want to achieve by it?

Comment 12 Harald Reindl 2020-10-07 09:36:10 UTC Comment hidden (abuse)
Comment 13 Vitaly 2020-10-07 10:29:03 UTC
Thunderbird does not support downgrading. If you will downgrade a package via Epoch bump, you will break the profiles of users who have already installed this update. They will loose their settings and email. This is unacceptable at all.

Also Thunderbird 68.x has reached its EOL and has at least 3 critical vulnerabilities with assigned CVE numbers. Forcing users to use the vulnerable version is a bad practice.

Comment 14 Miro Hrončok 2020-10-07 12:04:44 UTC
> I'm not sure why did you opened this bug what do you want to achieve by it?

I wanted to continue the conversation about the problem. You are right that this BZ might not be the best place for that.

Comment 15 Gordon Messmer 2020-10-07 15:00:17 UTC
As the person who opened the bug, I want to clarify:

I was not asking for change to be backported, that would certainly be unreasonable.

I think the vendor *has* provided better communication about "radical" changes.  They've been vocal about the API breaking changes, and clear that they are not currently upgrading existing users, but will soon.

By opening the bug, I had hoped that the thunderbird 78 package would simply be removed from the updates repository, for several reasons.  Primarily: Fedora 33 is currently in beta and I believe that policies require no major version changes with breaking API changes within a release, and surely during the beta period.

Thunderbird 78.3 does have serveral fixes with assigned CVE numbers, but they are "moderate" risk, and the vendor notes that they are not exploitable while viewing email, and manifestly does not view them as a compelling reason to either upgrade users of 68, or to publish an update for that version.

I am not monitoring other groupware vendors, but at least SOGo expects a new plugin very shortly:
https://marc.info/?t=160097859300004&r=1&w=4

I'd like to further suggest that Fedora's code of conduct applies not only to how we treat each other, but to how we treat other developers as well.  Rather than calling them "fools" who are "living under a stone", we should understand that they are actively working on adapting to a very significant change in Thunderbird, and the upstream Thunderbird maintainers are giving them time to make those changes by not automatically upgrading Thunderbird 68 users at this time.

I'm happy to discuss this elsewhere.  Please let me know where the discussion is moved, if possible.

Comment 16 Martin Stransky 2020-10-07 17:15:15 UTC
(In reply to Gordon Messmer from comment #15)
> As the person who opened the bug, I want to clarify:
> 
> I was not asking for change to be backported, that would certainly be
> unreasonable.
> 
> By opening the bug, I had hoped that the thunderbird 78 package would simply
> be removed from the updates repository, for several reasons.  Primarily:
> Fedora 33 is currently in beta and I believe that policies require no major
> version changes with breaking API changes within a release, and surely
> during the beta period.

Unfortunately there are only two options here:

1) Stop updating TB on all releases and keep 68 line there. It has security implications.
2) Update TB on all Fedoras. That may break user experience.

We took the second way and updated Fedora 32/31. We also have to update Fedora 33 to avoid profile breakage when users update from 32 to 33. That should not be shipped as 0day update as it may cause more confusion. I think it's better to ship F33 with the TB 78 as we have on 32/31.

If we strictly keep a Fedora policy of "no major version changes and API changes within a release" we can't update TB in any release as well as we can't Firefox in any release.

Comment 17 Miro Hrončok 2020-10-07 17:21:44 UTC
It is possible to request and communicate policy exceptions.

Comment 18 Martin Stransky 2020-10-07 17:25:55 UTC
(In reply to Miro Hrončok from comment #17)
> It is possible to request and communicate policy exceptions.

I'm for any improvement which helps users to bear with such issues.


Note You need to log in before you can comment on or make changes to this bug.