Proposal: Move Thunderbird and SeaMonkey to mozilla-central

classic Classic list List threaded Threaded
143 messages Options
1234 ... 8
Reply | Threaded
Open this post in threaded view
|

Proposal: Move Thunderbird and SeaMonkey to mozilla-central

Mark Banner-4
[follow-ups to mozilla.dev.planning]

tl;dr We're proposing to move Thunderbird and SeaMonkey into
mozilla-central to reduce maintenance complexities for build systems,
and for releng. Multiple-app handling in the same repository has
improved greatly, and the general rules would remain the same.

Feedback and discussion is most welcome - we have generally discussed
this within some individuals, but not widely.


Proposal
--------

We'd like to move Thunderbird and SeaMonkey (i.e. most of the contents
of comm-central) into mozilla-central.

Schedule:

We're looking to complete this in the Gecko 31 cycle, as then we'd be
able to pick it up in the next ESR cycle.

We already have this in preview mode running on the Alder twig.

Reasons:

There are several primary pain points that make things more complicated
for Thunderbird development, and its support for releases from releng.
The overarching reason is that this merge would reduce the amount of
work required to keep Thunderbird building to support security releases
and community development, and allow more focus on other areas.

They reasons we'd like to do this are:

- Requiring that comm-central pulls mozilla-central duplicates the build
system in weird and wonderful ways.

Maintaining the duplicate build system obviously duplicates much of the
work that is already being done in mozilla-central.

- Additionally, it would simplify pieces of m-c build config logic which
are accommodating c-c.


- Due to pulling different repositories, the workarounds for releng are
complex. It requires an almost totally-separate project configuration,
and when build configurations change, these must be manually ported to
the Thunderbird project configuration.

With a similar configuration to Firefox, we could base on the same
configuration with only a few changes to project name, and specific
files etc.


- Additionally, some benefits from search&replace patches are lost as
the code is in a separate repository.

Impacts
-------

History:

The merge will include the full c-c history.

Rules:

We'd obviously keep the same rules - changes that break
Thunderbird/SeaMonkey are not required to be fixed by the Gecko change
that breaks them.

We may relax some of the existing comm-central rules, e.g. Gecko build
system review could apply to the Thunderbird parts for search & replace
patches, rather than requesting separate reviews. Obviously, we'd
confirm with the appropriate areas before this happens.

Build:

Now that bug 787449 [1] is fixed, we can easily exclude
Thunderbird/SeaMonkey pushes from triggering gecko builds.

Tree:

We envision that the existing Thunderbird-Trunk would be kept separate
to the Mozilla-Central one, however, we could consider merging these at
a later date if it makes sense.

Directories:

The additional directories would currently be approximately:

mozilla-central/mail
mozilla-central/mailnews
mozilla-central/calendar
mozilla-central/chat
mozilla-central/im
mozilla-central/suite
mozilla-central/editor/ui
mozilla-central/db/mork
mozilla-central/other-licenses/branding/thunderbird
mozilla-central/ldap (also statically importing the ldap c-sdk).

However, we would be willing to restructure/group those if they are too
much/complex.

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=787449
_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Move Thunderbird and SeaMonkey to mozilla-central

Ed Morley-2
On 3 April 2014 11:13:00 BST, Mark Banner <[hidden email]> wrote:
>The merge will include the full c-c history.

What increase will this mean for the size of the gzipped mozilla-central hg bundle and time for a fresh hg pull of mozilla-central? Will you be using hg convert with a filemap (vs hg remove) to avoid adding the history of other parts of c-c to mozilla-central's hg store? (Just thinking of new contributors who have limited bandwidth)

That said, think it will make it a lot easier for tree-wide changes to not break Thunderbird/SeaMonkey, so I see there are potential wins here :-)

Cheers,

Ed
_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Move Thunderbird and SeaMonkey to mozilla-central

Benjamin Smedberg
In reply to this post by Mark Banner-4
On 4/3/2014 6:13 AM, Mark Banner wrote:
>
> Proposal
> --------
>
> We'd like to move Thunderbird and SeaMonkey (i.e. most of the contents
> of comm-central) into mozilla-central.

I oppose this plan.

I think it's fine to reconsider the decision we made in 2008 not to
include tbird/seamonkey in mozilla-central, but I don't think the
arguments here are compelling or that the benefits are worth the costs.

Reason #1: confusion about what code belongs to what projects

Currently when hacking on Firefox, it's roughly clear that all the code
in mozilla-central belongs to Firefox in some way, and we have been
effectively removing most of the code that isn't part of Firefox. When
searching through the codebase (either locally or using the online dools
like DXR/MXR) the addition of code which belongs to different products
will significantly harm developer understanding.

Reason #2: Pull/tree size

There is a non-trivial amount of code involved in this change. In terms
of both downloading the source repo as well as the size of a local
checkout, I don't think we should include unnecessary code in the
Firefox tree.

Reason #3: It's unnecessary

It is not necessary to alter mozilla-central to put all of Thunderbird
in one repository. You can do the merge you are proposing, but keep it
as a separate Thunderbird tree and regularly merge changes from
mozilla-central into your combined tree.

--BDS

_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Move Thunderbird and SeaMonkey to mozilla-central

Bobby Holley-2
On Thu, Apr 3, 2014 at 10:07 AM, Benjamin Smedberg <[hidden email]>wrote:

> On 4/3/2014 6:13 AM, Mark Banner wrote:
>
>>
>> Proposal
>> --------
>>
>> We'd like to move Thunderbird and SeaMonkey (i.e. most of the contents
>> of comm-central) into mozilla-central.
>>
>
> I oppose this plan.
>

I strongly second benjamin's points.
_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Move Thunderbird and SeaMonkey to mozilla-central

Henri Sivonen-2
In reply to this post by Benjamin Smedberg
On Thu, Apr 3, 2014 at 4:07 PM, Benjamin Smedberg <[hidden email]> wrote:
> Reason #1: confusion about what code belongs to what projects
>
> Currently when hacking on Firefox, it's roughly clear that all the code in
> mozilla-central belongs to Firefox in some way, and we have been effectively
> removing most of the code that isn't part of Firefox. When searching through
> the codebase (either locally or using the online dools like DXR/MXR) the
> addition of code which belongs to different products will significantly harm
> developer understanding.

I agree that the confusion about what code belongs to Firefox is a
problem and merging c-c into m-c *could* make the confusion worse.
However:
 1) the current situation is worse than what you wrote suggests. Way
too often, I encounter pre-Firefox-era legacy cruft in m-c that
appears to be dead code but turns out to be in use by c-c.
 2) the confusion could be addressed by requiring
Thunderbird/SeaMonkey-only code to live in a certain directory (or a
small set of directiories).
 3) due to issue #1, searches for code deadness need to be done on c-c
MXR anyway.

(On that topic: I'm still looking for a volunteer for
https://bugzilla.mozilla.org/show_bug.cgi?id=937056 . At some point I
will have whined about this so much that it would have been more
efficient to just do the move myself even though I'm not supposed to
use time for Thunderbird development...)

--
Henri Sivonen
[hidden email]
https://hsivonen.fi/
_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Move Thunderbird and SeaMonkey to mozilla-central

Joshua Cranmer 🐧
In reply to this post by Mark Banner-4
On 4/3/2014 5:36 AM, Ed Morley wrote:
> On 3 April 2014 11:13:00 BST, Mark Banner <[hidden email]> wrote:
>> The merge will include the full c-c history.
> What increase will this mean for the size of the gzipped mozilla-central hg bundle and time for a fresh hg pull of mozilla-central? Will you be using hg convert with a filemap (vs hg remove) to avoid adding the history of other parts of c-c to mozilla-central's hg store? (Just thinking of new contributors who have limited bandwidth)

A full hg bundle of mozilla-central is 637MB. That of the new repository
would be 692MB. In general, comm-central is roughly 10% the size of
mozilla-central at present in terms of both history and file contents. I
believe this extra size would be roughly equivalent to the size of
mozilla-central a year from now if comm-central were not merged, but my
repository growth curves are hazy.

--
Joshua Cranmer
Thunderbird and DXR developer
Source code archæologist

_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Move Thunderbird and SeaMonkey to mozilla-central

Joshua Cranmer 🐧
In reply to this post by Mark Banner-4
On 4/3/2014 8:07 AM, Benjamin Smedberg wrote:

> On 4/3/2014 6:13 AM, Mark Banner wrote:
>>
>> Proposal
>> --------
>>
>> We'd like to move Thunderbird and SeaMonkey (i.e. most of the contents
>> of comm-central) into mozilla-central.
>
> I oppose this plan.
>
> I think it's fine to reconsider the decision we made in 2008 not to
> include tbird/seamonkey in mozilla-central, but I don't think the
> arguments here are compelling or that the benefits are worth the costs.
>
> Reason #1: confusion about what code belongs to what projects
>
> Currently when hacking on Firefox, it's roughly clear that all the
> code in mozilla-central belongs to Firefox in some way, and we have
> been effectively removing most of the code that isn't part of Firefox.
> When searching through the codebase (either locally or using the
> online dools like DXR/MXR) the addition of code which belongs to
> different products will significantly harm developer understanding.

It's not technically challenging to move all of the newly-added code to
a comm/ subdirectory instead of doing a flat import. That would
centralize most of the obviously-not-in-Firefox code into one directory.

That said, to reiterate Henri's point, there is a surprising amount of
code in mozilla-central that doesn't end up being used in Firefox.
Having filed several bugs for mozilla-central test failures found only
in comm-central, there are definitely cases where the failure is "oh, we
don't use <insert toolkit component here> in Firefox" (a recent example
is the toolkit's downloader). There are also cases where there is
dynamically-dead code in Firefox that is not dynamically dead in
Thunderbird: I think for a time, Thunderbird was the only one using
certain legacy HTML parser APIs.
>
> Reason #2: Pull/tree size
>
> There is a non-trivial amount of code involved in this change. In
> terms of both downloading the source repo as well as the size of a
> local checkout, I don't think we should include unnecessary code in
> the Firefox tree.

As I mentioned earlier, the size is roughly 50-60MB of extra data in the
bundle. The on-disk is 67MB not including the .hg directory and ~200MB
including the .hg directory. All of these numbers are about 10% or less
of the current mozilla-central size (637MB, 922MB, 2.5GB, respectively).
The tree with comm-central included would be roughly the same size as
the tree without comm-central a year from now, based on my prior
recollections of repository growth curves.
>
> Reason #3: It's unnecessary
>
> It is not necessary to alter mozilla-central to put all of Thunderbird
> in one repository. You can do the merge you are proposing, but keep it
> as a separate Thunderbird tree and regularly merge changes from
> mozilla-central into your combined tree.

That works much less well than you'd expect. In such a repository, it is
impossible to merge changes from comm-central back into mozilla-central
without introducing c-c's history or rather complicated changeset
manipulation. It also produces a comm-central repository that has the
illusion of atomic changesets: there is no way to make a commit that
does an across-both-trees change such as the atomic refcounting changes
or gps's DIRS introduction.


--
Joshua Cranmer
Thunderbird and DXR developer
Source code archæologist

_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Move Thunderbird and SeaMonkey to mozilla-central

Patrick Cloke-2
In reply to this post by Mark Banner-4
On Thursday, April 3, 2014 6:13:00 AM UTC-4, Mark Banner wrote:
> [follow-ups to mozilla.dev.planning]
>
> tl;dr We're proposing to move Thunderbird and SeaMonkey into
> mozilla-central to reduce maintenance complexities for build systems,
> and for releng. Multiple-app handling in the same repository has
> improved greatly, and the general rules would remain the same.

This sounds great!

This will make it significantly easier to get new Thunderbird contributors set up and hopefully reduce some of the build bustages TB currently suffers. (And also save me a few GB on my hard drive...which is a nice plus.)

Can't wait to put up patches that touch both toolkit and TB things without having to do separate patches and ensuring they land in the right order!

Thanks for working on this Joshua and Mark!

--Patrick
_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Move Thunderbird and SeaMonkey to mozilla-central

Mark Banner-4
In reply to this post by Mark Banner-4
On 03/04/2014 14:07, Benjamin Smedberg wrote:
> I think it's fine to reconsider the decision we made in 2008 not to
> include tbird/seamonkey in mozilla-central, but I don't think the
> arguments here are compelling or that the benefits are worth the costs.

I probably wasn't explicit, but I think the main benefits of this
proposal are going to be to the Thunderbird/SeaMonkey communities. I can
understand that this isn't so compelling to Firefox developers. So let
me explain a bit more:

Ever since we separated the repositories, we have spent significant
amounts of time porting build configuration patches, fire-fighting
bustage when something lands in m-c and needs porting to c-c (including
sometimes regression range finding & bisecting). Obviously fire-fighting
is a larger pain as it distracts us from whatever we were working on.

Although with recent improvements we've now vastly reduced build
configuration porting time, the fire-fighting aspects still take up
large amounts of time which we could spend elsewhere - especially if we
were able to take benefits of search & replace/repository-wide updates
(where developers are willing to include us because we're in the same
repo rather than a separate one). It wouldn't reduce everything, but it
would likely mean we could be down to a bustage every now and again.

> Reason #1: confusion about what code belongs to what projects
>
> Currently when hacking on Firefox, it's roughly clear that all the code
> in mozilla-central belongs to Firefox in some way, and we have been
> effectively removing most of the code that isn't part of Firefox. When
> searching through the codebase (either locally or using the online dools
> like DXR/MXR) the addition of code which belongs to different products
> will significantly harm developer understanding.

I don't see this being a big issue. We've dealt with this for
comm-central ever since 2008, and its easy to see where code lies in
suite/ mail/ or mozilla/browser and realise it is specific to that product.

If we need to put everything under comm/ as Joshua suggests (or some
other directory), that would be fine by me. Generally it feels like the
significant cost here would be first-time users, who we could educate by
means of adequate documentation.

> Reason #3: It's unnecessary
>
> It is not necessary to alter mozilla-central to put all of Thunderbird
> in one repository. You can do the merge you are proposing, but keep it
> as a separate Thunderbird tree and regularly merge changes from
> mozilla-central into your combined tree.

One thing I think this does mean is increased storage size for hmo. We'd
effectively be doubling up the m-* repositories. With IT/releng
currently concerned about the size, that probably isn't good. There may
be resolution on the way, so this might become mute.

It also doubles the repository sizes for developers who do want to work
on FF and/or TB/SM. There may not be many of them, but there are a few -
admittedly I don't know for how many disk/download size is an issue.

Mark.
_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Move Thunderbird and SeaMonkey to mozilla-central

Nicholas Alexander
In reply to this post by Benjamin Smedberg
On 2014-04-03, 6:07 AM, Benjamin Smedberg wrote:

> On 4/3/2014 6:13 AM, Mark Banner wrote:
>>
>> Proposal
>> --------
>>
>> We'd like to move Thunderbird and SeaMonkey (i.e. most of the contents
>> of comm-central) into mozilla-central.
>
> I oppose this plan.
>
> I think it's fine to reconsider the decision we made in 2008 not to
> include tbird/seamonkey in mozilla-central, but I don't think the
> arguments here are compelling or that the benefits are worth the costs.
>
> Reason #1: confusion about what code belongs to what projects
>
> Reason #2: Pull/tree size
>
> Reason #3: It's unnecessary

I'd like to add that there exist other apps built on top of Gecko, and
in future there will be more, and that merging every such app into m-c
is not feasible.

I recognize that Thunderbird and SeaMonkey are special, for technical
and historical reasons, but this sets a bad precedent.

Nick
_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Move Thunderbird and SeaMonkey to mozilla-central

Ben Hearsum-2
In reply to this post by Mark Banner-4
On 04/03/14 11:15 AM, Mark Banner wrote:
> Ever since we separated the repositories, we have spent significant
> amounts of time porting build configuration patches, fire-fighting
> bustage when something lands in m-c and needs porting to c-c (including
> sometimes regression range finding & bisecting). Obviously fire-fighting
> is a larger pain as it distracts us from whatever we were working on.

Perhaps we should move Firefox/B2G/Android to another repo instead, then
we'd all be living in the same world.
_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Move Thunderbird and SeaMonkey to mozilla-central

Joshua Cranmer 🐧
In reply to this post by Benjamin Smedberg
On 4/3/2014 10:20 AM, Nick Alexander wrote:
> I'd like to add that there exist other apps built on top of Gecko, and
> in future there will be more, and that merging every such app into m-c
> is not feasible.
>
> I recognize that Thunderbird and SeaMonkey are special, for technical
> and historical reasons, but this sets a bad precedent.

I don't think this sets a precedent. If anything, the precedent was set
on April 6, 2011 when the Fennec repository was merged with
mozilla-central. As I recall, the main argument for merging those two
repositories together amounted to a complaint that having the source
code for a product be in two different repositories was too difficult to
maintain. Comm-central is closer in scope to the former mobile-browser
repository than other, external projects in that Mozilla has maintained
comm-central itself and continuing support for comm-central has been a
goal for several classes of mozilla-central developers, particularly for
the build system, although other parts of the codebase have been
influenced by comm-central needs (legacy HTML parser APIs and charset
support comes to mind).

The factors that have compelled us to propose this merge are not
generally applicable to most products that use Gecko.

--
Joshua Cranmer
Thunderbird and DXR developer
Source code archæologist

_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Move Thunderbird and SeaMonkey to mozilla-central

Nicholas Alexander
On 2014-04-03, 8:53 AM, Joshua Cranmer 🐧 wrote:

> On 4/3/2014 10:20 AM, Nick Alexander wrote:
>> I'd like to add that there exist other apps built on top of Gecko, and
>> in future there will be more, and that merging every such app into m-c
>> is not feasible.
>>
>> I recognize that Thunderbird and SeaMonkey are special, for technical
>> and historical reasons, but this sets a bad precedent.
>
> I don't think this sets a precedent. If anything, the precedent was set
> on April 6, 2011 when the Fennec repository was merged with
> mozilla-central.

I didn't know that Fennec was once separate, so thanks for the history
lesson!

  As I recall, the main argument for merging those two
> repositories together amounted to a complaint that having the source
> code for a product be in two different repositories was too difficult to
> maintain. Comm-central is closer in scope to the former mobile-browser
> repository than other, external projects in that Mozilla has maintained
> comm-central itself and continuing support for comm-central has been a
> goal for several classes of mozilla-central developers, particularly for
> the build system, although other parts of the codebase have been
> influenced by comm-central needs (legacy HTML parser APIs and charset
> support comes to mind).

Agreed.  Part of my motivation for not tying a product (Fennec,
Thunderbird, SeaMonkey) directly to m-c is that the Fennec team is now
trying to extract a core library for other consumers to embed Fennec.
If Fennec had been maintained as a separate repository, that would have
happened naturally.  (At a huge cost in development time and pain.  I'm
not saying the decision was incorrect; I didn't even know about it until
minutes ago.)

> The factors that have compelled us to propose this merge are not
> generally applicable to most products that use Gecko.

Can you elaborate on this point?  I'd like to understand this difference
more fully.

Thanks,
Nick
_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Move Thunderbird and SeaMonkey to mozilla-central

Justin Dolske-2
In reply to this post by Mark Banner-4
On 4/3/14 3:13 AM, Mark Banner wrote:

> tl;dr We're proposing to move Thunderbird and SeaMonkey into
> mozilla-central to reduce maintenance complexities for build systems,
> and for releng.

Well, let me stir the pot _and_ ask about the elephant in the room -- if
SeaMonkey and Thunderbird are a burden on releng, why is Mozilla
continuing to support them? Other community forks of Firefox (Tor
Browser, PaleMoon, WaterFox, etc) successfully exist entirely
independently of Mozilla. SM and TB have both had a long time to succeed
on their own terms as community projects, and it's not clear to me that
either are significantly contributing to Mozilla's mission.

Even Mozilla's core products (Firefox for desktop and Android) are in
resource contention with Firefox OS, so I think it's a fair question to
consider these days.

FWIW, I'd also note that Firefox OS is spread across multiple repos. Or
is there a proposal to merge FFOS into m-c as well?

Justin

_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Move Thunderbird and SeaMonkey to mozilla-central

Mark Banner-4
On 03/04/2014 18:01, Justin Dolske wrote:
> On 4/3/14 3:13 AM, Mark Banner wrote:
>
>> tl;dr We're proposing to move Thunderbird and SeaMonkey into
>> mozilla-central to reduce maintenance complexities for build systems,
>> and for releng.
>
> Well, let me stir the pot _and_ ask about the elephant in the room -- if
> SeaMonkey and Thunderbird are a burden on releng, why is Mozilla
> continuing to support them?

So to clarify, SeaMonkey is not any burden on releng. They have their
own systems maintained by their own members (although as a side note,
they have trouble keeping up with releng).

> Other community forks of Firefox (Tor
> Browser, PaleMoon, WaterFox, etc) successfully exist entirely
> independently of Mozilla. SM and TB have both had a long time to succeed
> on their own terms as community projects, and it's not clear to me that
> either are significantly contributing to Mozilla's mission.

When Mozilla stopped actively developing Thunderbird, it was agreed with
the community that Mozilla Corp would put in resources to maintain
security and stability releases.

IMO the burden has been a small fraction of the work that releng does,
though I can't give you any figures. I know there is some additional
complexity in the releng systems that have to cope with the special
cases of split repos for c-c.

> FWIW, I'd also note that Firefox OS is spread across multiple repos. Or
> is there a proposal to merge FFOS into m-c as well?

I don't know much about how FFOS is built, but I believe it is
significantly different - it has the core libraries, aka gecko, plus a
lot of applications around the outside. That's effectively two build
processes - one for the core gecko build, one for the applications. IMO
that's easier to deal with in a multiple repo setup.

For Thunderbird, we are building gecko directly into the app - just like
Firefox - so this is one build step rather than two.

Mark.

_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Move Thunderbird and SeaMonkey to mozilla-central

Kyle Huey-2
In reply to this post by Ben Hearsum-2
On Thu, Apr 3, 2014 at 8:22 AM, Ben Hearsum <[hidden email]> wrote:

> On 04/03/14 11:15 AM, Mark Banner wrote:
>> Ever since we separated the repositories, we have spent significant
>> amounts of time porting build configuration patches, fire-fighting
>> bustage when something lands in m-c and needs porting to c-c (including
>> sometimes regression range finding & bisecting). Obviously fire-fighting
>> is a larger pain as it distracts us from whatever we were working on.
>
> Perhaps we should move Firefox/B2G/Android to another repo instead, then
> we'd all be living in the same world.
> _______________________________________________
> dev-planning mailing list
> [hidden email]
> https://lists.mozilla.org/listinfo/dev-planning

The difference is that desktop/Android/B2G are products that are
important enough to our priorities to invest anywhere from dozens to
hundreds of full time engineering staff in.  Thunderbird and Seamonkey
are not.

- Kyle
_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Move Thunderbird and SeaMonkey to mozilla-central

Philipp Kewisch-2
In reply to this post by Mark Banner-4
On 4/3/14, 3:07 PM, Benjamin Smedberg wrote:
> Reason #1: confusion about what code belongs to what projects
>
> Currently when hacking on Firefox, it's roughly clear that all the code
> in mozilla-central belongs to Firefox in some way, and we have been
> effectively removing most of the code that isn't part of Firefox. When
> searching through the codebase (either locally or using the online dools
> like DXR/MXR) the addition of code which belongs to different products
> will significantly harm developer understanding.

I really think this is not always clear, or lets say its much too easy
to forget. While Firefox/Android/B2G is in the focus, its easy to forget
that the Mozilla Platform should be independent of the concept of a
browser. If you search for things like gBrowser, selectedTab, or
chrome://browser in directories like toolkit/ there are always a small
number of hits outside of tests.

Now importing c-c into m-c won't fix this, but it does make an argument
for separating Firefox/Android/B2G from the Mozilla Platform. For the
same reasons its troublesome for Thunderbird to be separate from m-c, I
don't think it would be smart for Firefox to be separate of it.

On the other hand, importing c-c into m-c helps to make
Firefox/Android/B2G developers more aware of this separation: doing an
mxr search for something in toolkit that is also used in Thunderbird
will passively let the developer know, that the component he is changing
is not only used in a browser environment and should be modified in a
way that is compatible to other consumers of the Mozilla Platform.

For mxr searches it would be nice if they could be ordered in a
different way though: browser products - comm products - platform
directories. I don't see a sensible way of doing this though. We could
give the comm/ folder a name that starts with a later letter of the
alphabet, but thats a bit fickle.

Philipp
_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Move Thunderbird and SeaMonkey to mozilla-central

Philipp Kewisch-2
In reply to this post by Justin Dolske-2
On 4/3/14, 7:01 PM, Justin Dolske wrote:
> FWIW, I'd also note that Firefox OS is spread across multiple repos. Or
> is there a proposal to merge FFOS into m-c as well?

IIRC then Firefox OS is split into quite a few repositories, containing
various aspects from apps to user space libraries and kernels. Pulling
everyting for a Geeksphone Peak device was well over 12GB, with about
18GB of compiled data.

Indeed, not all of this should be dumped into m-c, but if the
multi-repository model works for B2G, wouldn't it be consequent to do
the same for Firefox and Android? If I just want to hack on B2G, why do
I need all of Firefox Desktop?

It looks to me that the multi-repository system that B2G uses does not
make it trivial to create nightly builds for different devices from a
releng standpoint, on the other hand this might just be a partnering issue.

What I am saying, if the multi-repository system works out great for
B2G, then maybe this concept should be extended so it works the same for
Firefox Desktop and for that matter also Thunderbird. On the other hand,
the downsides mentioned in other messages still apply and would then
also apply to Firefox Desktop.

Philipp
_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Move Thunderbird and SeaMonkey to mozilla-central

Justin Wood (Callek)-2
In reply to this post by Justin Dolske-2
On 4/3/2014 1:01 PM, Justin Dolske wrote:

> On 4/3/14 3:13 AM, Mark Banner wrote:
>
>> tl;dr We're proposing to move Thunderbird and SeaMonkey into
>> mozilla-central to reduce maintenance complexities for build systems,
>> and for releng.
>
> Well, let me stir the pot _and_ ask about the elephant in the room -- if
> SeaMonkey and Thunderbird are a burden on releng, why is Mozilla
> continuing to support them? Other community forks of Firefox (Tor
> Browser, PaleMoon, WaterFox, etc) successfully exist entirely
> independently of Mozilla. SM and TB have both had a long time to succeed
> on their own terms as community projects, and it's not clear to me that
> either are significantly contributing to Mozilla's mission.

So let me address this,

SeaMonkey is not a burden on Mozilla Releng. It is a burden on SeaMonkey
Releng.

Thunderbird has been agreed to be a supported (building/machines/etc.)
thing when its day-to-day devs were disconnected from it as a Mozilla
Product. That said it is a burden in terms of priority bumping for
Mozilla Releng.

I personally am an Employee of Mozilla in the Releng Role, and care
heavily about this issue as I am the Lead SeaMonkey Releng human as well
(my work on SeaMonkey is purely my volunteer time).

To drive the point home, I've also devoted some pain/time into fixing
some Releng Bugs for Thunderbird as part of my volunteer time, to make
sure that Thunderbird could stay viable for us.

Prior to my work/role in Releng I was also an active/avid comm-central
build system peer, and that was before there was drastic changes in the
mozilla-central build system that were incompatible with what came before.

Let me state, for the record, that keeping up with changes even PRIOR to
the current cadence is VERY hard. this work in merging the two repos
will allow m-c build system changes to emmediately take affect in
comm-apps without need to port anything, and will keep timings intact.

The releng-specific burden/work that this would have prevented lots of
human hours on, for example includes things like a few months ago, a
releng manager, myself, and a few others (including mark) had to debug
buildbot+thunderbird+comm-central+build-system interactions that
completely broke l10n builds, iirc TB beta is still broken, but we had
to do the work back then to also support ESR.  The work took more than a
week and was multiple humans interacting on paid time.

Simply having TB as part of m-c would have simplified a lot of our
releng logic around TB builds and made much of the work a non-issue, and
for the little bit that touched c-c makefiles, would have made them more
likely to be noticed when the m-c Makefiles had to change. There is also
occassionally weird bustage due to m-c build system changes when
$topsrcdir !=  $mozillasrcdir  (specifically because m-c is in
$topsrcdir/mozilla)

I as both community and MoCo releng are FULLY in support of this move,
albeit I gave light to my biases above.

~Justin Wood (Callek)
p.s. If you're curious in truth on why I feel these two products, even
in current form, bolster Mozilla's Mission, feel free to reach out, I'm
happy to skype/vidyo with anyone on that subject.
_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Move Thunderbird and SeaMonkey to mozilla-central

Benjamin Smedberg
In reply to this post by Philipp Kewisch-2
On 4/3/2014 4:49 PM, Philipp Kewisch wrote:
> I really think this is not always clear, or lets say its much too easy
> to forget. While Firefox/Android/B2G is in the focus, its easy to forget
> that the Mozilla Platform should be independent of the concept of a
> browser.
As a project we're spread thin, and having "a platform" separate from
actual projects is mainly a dream that distracts us from what's
important. The thing that gives our platform its importance is the
products that use it, and we need to redouble our focus.

It is true that for technical reasons we try to keep a separation
between our platform code and the user-facing code on top of it: but
that is necessary for sane engineering, not because we have theoretical
platform purity to uphold.

So overall I disagree with you: the Mozilla platform should not be
thought of separately from the products based on it.

> On the other hand, importing c-c into m-c helps to make
> Firefox/Android/B2G developers more aware of this separation: doing an
> mxr search for something in toolkit that is also used in Thunderbird
> will passively let the developer know, that the component he is changing
> is not only used in a browser environment and should be modified in a
> way that is compatible to other consumers of the Mozilla Platform.
This highlights the core decision we need to make. Should developers be
more or less aware of comm-central when developing out platform.

Our clear priority as a project is not comm-central, and so I don't
think we should be including this code.

--BDS

_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
1234 ... 8