Hi, This has been discussed in the past, to no avail. I would like to reopen the discussion.
Acknowledgment: this is heavily inspired from a list compiled by Joshua Cranmer, but please consider this *also* coming from me, with my build system peer hat on. What: Let's first summarize what this is about. This is about moving the development of Seamonkey, Thunderbird, and Lightning in the same repository as Firefox, by merging all their code and history from comm-central into mozilla-central. Seamonkey and Thunderbird share a lot, so comm-central without Seamonkey wouldn't make a significant difference. Lightning is, AIUI, both standalone and an addon shipped with Thunderbird, so in practice, it can be considered as being part of Thunderbird. Why: - The interaction between the build system in mozilla-central and the build system in comm-central is complex, and has been a never stopping cause of all kinds of problems sometimes blocking changes in the mozilla-central build system, sometimes making them unnecessarily more complex. - The interaction between both build systems and automation is complex, and got even more twisted with mozharness now being in mozilla-central, because of the chicken-and-egg problem it introduces, making integration with mozharness hard. - Likewise with taskcluster. - Subsequently, with mozilla-central now relying on mozharness and soon switching away from buildbot, the differences in setup with comm-central keep increasing, and makes maintaining those builds a large hurdle. - Historically, the contents of comm-central used to be in the same repository as everything else, and the build system has never really copped with the separation. Arguably, this was in the CVS days. It's a testament to our build and release engineers that the cobbled together result has held up for as long as it has, but it's really not sustainable anymore. - mozilla-central and comm-central are as tied as top-level mozilla-central and js/ are. Imagine what development would look like if js/ was in a separate repository. - Relatedly, many codebase-wise changes (e.g. refactorings), or core API changes tend to break comm-central. While it can be argued that it shouldn't be platform engineers' burden to care about those, the fact is that even if they do care, the complexity of testing those changes on try or locally doesn't even slightly encourage them to actually do the work. - TTBOMK, Thunderbird is Mozilla's second largest project in terms of number of users, behind Firefox, and before Firefox for Android and Firefox OS. Many of those users may legitimately want to contribute to Thunderbird, and the bar to entry is made much higher by the multi-repository setup and the extra complexity it entails. Mozilla is actively making the bar to entry for Firefox/Firefox for Android/Firefox OS contributions lower, at the expense of Thunderbird contributors. This is a sad state of affairs. Why not, and counter-counter-arguments: - It would increase mozilla-central significantly. Well, first, it's true, for some value of "significant". comm-central is about 131M of .hg/ data, while is about 2309M as of writing. That's a 5.7% increase in size of the repository. On the other hand, 131M is less than the size mozilla-central grew in the last 3 months. - It sets a bad precedent, other Gecko-based projects might want to merge. - mobile/ set the precedent half a decade ago. - as mentioned above, historically, everything was in the same repository, and the split can be argued to be the oddity here - there are barely any Gecko-based projects left that are not in comm-central. - It adds burden to developers, needing to support those projects merged from comm-central. Just look around in mozilla-central at all the optional things that are not visible on treeherder and break regularly. The situation wouldn't be different in that sense. But the people that do care about those projects will have a better experience supporting them. Considering all the above, are there still objections to this happening, and can we finally allow Joshua to go ahead with his merge plan? (CCing bsmedberg, who, iirc, had Brendan's delegation to have the final word on this) Cheers, Mike _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform