Engineering Council plans
R Kent James
kent at caspia.com
Tue Jul 18 18:17:57 UTC 2017
I've mentioned a few times here my perception that we need some
reorganization of project leadership, and mentioned an Engineering
Council as part of that. We've had discussions with the Thunderbird
Council about that, and are ready to proceed.
A. Why do we need an Engineering Council?
Generally, there are several problems we are trying to address.
A.1: Lack of a single focus point for technical decisions
Mozilla has used a module system for many years as a way to manage
technical issues. But there are some issues with that system, both
within Firefox (see
https://www.oxymoronical.com/blog/2017/07/Thoughts-on-the-module-system)
as well as how that has functioned within Thunderbird.
Within Thunderbird, we've found it difficult to make technical
decisions, particularly if they are larger than the scope of an
individual bug. Existing forums such as tb-planning or m.d.a.thunderbird
are not really designed to reach a concrete decision.
The module system more or less assumes an individual will be the
owner/dictator for the technical decisions, but there really is no one
individual with the experience and trust of the community who could own
the technical direction of the project. To some extent this role has
then fallen to the Thunderbird Council, but for reasons to be discussed
below that is not really appropriate.
So an Engineering Council will be tasked with setting the technical
direction of Thunderbird.
A.2: Need to involve people outside of the Thunderbird Council in
key decision discussions.
There are two classes of people whose input is sorely needed who are
left out if a closed Thunderbird Council tries to set technical direction.
- Thunderbird staff.
As we move toward having around 6 full-time equivalent staff people for
Thunderbird, those individuals will be carrying a lot of the load of
moving the project forward technically, and are in a good position to
give input toward issues. For a variety of reasons not all staff will be
or should be on an elected Thunderbird Council. This is particularly
important since the Thunderbird Council has fiduciary responsibility for
managing donations, including hiring and managing staff, so a
staff-dominated and closed Thunderbird Council would create many
difficult-to-resolve conflict of interest problems and perceptions of
insider dealings.
- Key volunteers.
There are a number of individuals who as volunteers put a tremendous
about of technical effort into Thunderbird, and who should also be
involved in setting technical direction.
A.3: Need for more open discussions
The Thunderbird Council has some issues that need to be discussed
privately, and for that reason their main discussion list is a closed
list. But we should strive to be as open as possible, and that means
that we need a publicly accessible place where decisions are discussed
and reached.
B. How will the Engineering Council function?
B.1 Location of Engineering Council discussions
We have setup a Mailman list maildev at lists.thunderbird.net for
Engineering Council discussions. The information page for this, where
people may subscribe or view the archives, is at
http://lists.thunderbird.net/mailman/listinfo/maildev_lists.thunderbird.net
Anyone may subscribe to the list to receive postings, or view the
archives
<http://lists.thunderbird.net/pipermail/maildev_lists.thunderbird.net/>
(which at the moment only contain test messages). However, we want to
make sure that the discussions themselves are dominated by people who
are actively contributing as Thunderbird or Mozilla developers, or who
are key Thunderbird leaders, to keep the signal/noise ratio high. To
accomplish this, individuals who are active developers or leaders will
post unmoderated, while others will be moderated.
As the list is primarily intended as being a discussion forum for active
developers, posts by others will in most cases not be accepted, but this
decision will be on a post-by-post basis. Also, moderation requests may
not be processed daily, so it may take a few days to review any
moderated postings.
B.2 Scope of Engineering Council discussions and decisions
Within Thunderbird and the comm-central code, the core email
functionality is the dominant feature, but there are other subgroups
that may have their own issues or positions, including chat, calendar,
contacts, and SeaMonkey. We discussed how to include these subgroups,
and whether to have some complex system of dividing up discussions or
decisions by affected subgroups. Ultimately what we decided is, rather
than introduce additional organizational complexity, we would let the
core email functionality dominate, and trust email leaders to include
the interests of subgroups in any decisions that are reached. Developers
in those subgroups are welcome to join the list and participate in
technical discussions. Likewise, other technical work within the
Thunderbird project, including work on infrastructure and build
processes, should be subject to Engineering Council discussions and
decision.
The Engineering Council will not have any fiduciary responsibility or
approval authority over spending, but will be expected to make major
recommendations to the Thunderbird Council for financial decisions and
appropriations. (This is partially modeled after the organization
structure of TDF which has separate engineering and board groups).
On tb-planning and elsewhere there has been discussions of a possible
major project to completely rewrite Thunderbird (TB:NG). The proponents
of that have expressed a desire for such a project to be as independent
as possible from existing management oversight, following a so-called
Skunk Works <https://en.wikipedia.org/wiki/Skunk_Works> model. Nothing
in this proposal for an Engineering Council is intended to dictate the
management structure for the TB:NG project, which will need to be
established if and when that project is approved and funded.
B.3 Engineering Council decision process
When a concrete decision in a technical area is needed, a key leadership
group will make that decision by voting. We'll call that group the
Engineering Directors. Initially, the Engineering Directors are rkent,
BenB, Jörg, and Magnus.
In general, the Engineering Group is intended to be self-managing. So
criteria for inclusion in discussions and other organizational issues
will be managed by the group itself, after an initial seeding of the
group based on criteria setup by the Thunderbird Council.
The Engineering Council is not intended to replace the existing
technical module owners and peers, or play a direct role in approving
patches. The intent is to deal with issues that are larger than an
individual patch. These are the types of issues that would normally be
dealt with by a product management group, or by an engineering manager.
Within the overall management hierarchy of Thunderbird, the Engineering
Council sits between the Thunderbird Council and the modules owners and
peers. So an overall authority structure for Thunderbird will be:
Mozilla Foundation
⇓
Thunderbird Council
⇓
Engineering Council
⇓
Module Owners and Peers
C. Next Steps
If you are interested in following these discussions, please subscribe
to the Maildev list at
http://lists.thunderbird.net/mailman/listinfo/maildev_lists.thunderbird.net
I will be subscribing a few key people whose participation is critical
for success of the process directly.
/R Kent James (:rkent)//
//Thunderbird Council Treasurer/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/tb-planning/attachments/20170718/e89fa039/attachment.html>
More information about the tb-planning
mailing list