Re: Removal of B2G from mozilla-central
Sorry nothing much to say but +1 Matthieu > On Oct 27, 2016, at 21:30, Gabriele Svelto wrote: > > Replying to myself since nobody thought it worthwhile to reply and have > an open, honest discussion on this ML about this. > > Parts of the gonk widget have already been removed; so the decision to > do it was taken was not communicated publicly. Or maybe it was never up > for discussion. I don't know which. > > Either way it seems to me that our culture of working in an open and > transparent way - which we proudly proclaimed only a few years back in a > video [1] - is disappearing. > > I find this both sad and worrisome. The reason I find it worrisome is > that one thing that hurt Firefox OS the most was that all decisions > regarding the project's direction were taken internally. This opaqueness > made it impossible to attract contributors and build a community around > the project. > > I can only hope this was an exception and not our general approach to > development because this attitude can hurt us, badly. > > Gabriele > > [1] https://www.youtube.com/watch?v=AIKLdVEWPrE > > "While most products and technologies are developed behind closed doors, > ours are cultivated out in the open, for everyone to see". > > ___ > dev-platform mailing list > dev-platform@lists.mozilla.org > https://lists.mozilla.org/listinfo/dev-platform ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform
Re: Removal of B2G from mozilla-central
Replying to myself since nobody thought it worthwhile to reply and have an open, honest discussion on this ML about this. Parts of the gonk widget have already been removed; so the decision to do it was taken was not communicated publicly. Or maybe it was never up for discussion. I don't know which. Either way it seems to me that our culture of working in an open and transparent way - which we proudly proclaimed only a few years back in a video [1] - is disappearing. I find this both sad and worrisome. The reason I find it worrisome is that one thing that hurt Firefox OS the most was that all decisions regarding the project's direction were taken internally. This opaqueness made it impossible to attract contributors and build a community around the project. I can only hope this was an exception and not our general approach to development because this attitude can hurt us, badly. Gabriele [1] https://www.youtube.com/watch?v=AIKLdVEWPrE "While most products and technologies are developed behind closed doors, ours are cultivated out in the open, for everyone to see". signature.asc Description: OpenPGP digital signature ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform
Re: Removal of B2G from mozilla-central
On 04/10/16 17:40, Fabrice Desre wrote: On 10/04/2016 08:34 AM, Axel Hecht wrote: I'd favor to remove at least anything related to l10n from b2g. It never really worked, and is a half-maintained copy of the almost-working stuff in mobile. In my local branches that try to create a test on broken l10n infrastructure, both mobile and b2g show up, and my preferred way to fix b2g would be to remove it (the l10n parts). What b2g specific l10n parts are you talking about? Can you provide links? https://dxr.mozilla.org/mozilla-central/source/b2g/locales/jar.mn has a bunch of overrides, and many of those are wrong also for fennec. b2g isn't as horrible as mobile is as it doesn't use the "browser" chrome package, but still. Axel ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform
Re: Removal of B2G from mozilla-central
On 04/10/16 12:16, Gabriele Svelto wrote: * b2g ~20K lines which would also drop considerably due to the removal of the APIs, completely self-contained I'd favor to remove at least anything related to l10n from b2g. It never really worked, and is a half-maintained copy of the almost-working stuff in mobile. In my local branches that try to create a test on broken l10n infrastructure, both mobile and b2g show up, and my preferred way to fix b2g would be to remove it (the l10n parts). Axel ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform
Re: Removal of B2G from mozilla-central
On 10/04/2016 08:34 AM, Axel Hecht wrote: I'd favor to remove at least anything related to l10n from b2g. It never really worked, and is a half-maintained copy of the almost-working stuff in mobile. In my local branches that try to create a test on broken l10n infrastructure, both mobile and b2g show up, and my preferred way to fix b2g would be to remove it (the l10n parts). What b2g specific l10n parts are you talking about? Can you provide links? ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform
Re: Removal of B2G from mozilla-central
On 04/10/2016 01:22, Gregory Szorc wrote: > https://dxr.mozilla.org/mozilla-central/search?q=gonk seems to > contradict your assertion that gonk is well-contained. I thought that the analysis in my first post was sufficiently detailed but here's one with line numbers to get a more accurate idea: - All gonk references and code in the following directory will be removed entirely because it's needed only for B2G-specific APIs and those are already being removed. This means that the following top-level directories will be purged of all gonk-specific code: * accessible * addon-sdk * browser * caps * chrome * devtools * docshell * dom (save for a few lines in dom/media, see below) * embedding * extensions * hal (save for a single file) * image * intl * ipc * layout * memory * modules * mozglue * netwerk * parser * rdf * security * storage * testing * toolkit * tools * uriloader (not 100% sure, but it's 3 files anyway) * xpcom (what's being done could be handled externally from gecko) * xpfe What would remain is the following; first the actual code: * widget/gonk - roughly ~50K lines but would drop to ~40K once we drop suppport for older Android versions as well as APIs that have been removed * b2g ~20K lines which would also drop considerably due to the removal of the APIs, completely self-contained * dom/media ~4K lines, which would be cut down once camera & overlay support are removed as well as the phone-specific, non-standard video and audio formats. The rest of the code is mostly self-contained within gonk-specific files * gfx ~2K lines a significant amount of which are related to camera and screen recording code that can be removed * hal Only one file would be kept in hal/gonk of ~2K lines (which are likely to be reduced once support for non-standard APIs is removed). A handful of lines would remain in hal/Hal.cpp and hal/Hal.h but if we drop the process priority manager (which I would do) those would also go. ~10 lines in hal/linux/LinuxPower.cpp * media Less than 1K lines, some of which are shared with Fennec and some which can be easily removed (e.g. they were used only on certain devices/versions) Then the configuration bits * build - 10 lines shared with Fennec * config - One line, could be possibly removed * js - 2 lines * nsprpub - 7 lines * python - ~50 lines * xpcom All in all we're talking about less than ~70K lines which would likely drop to less than ~50K lines once we've removed all the non-standard APIs. Of these most are self-contained save for gfx, media and dom/media which are arguably the ones where there's more intermingling between gonk-specific code and the rest though it's only a handful of lines. > There are > literally references to gonk throughout the tree. Every reference that > isn't self-contained introduces cognitive dissonance when someone > encounters it. They have to consider the existence of gonk when reading > and changing the code. This makes changing code harder and undermines > the ability for Firefox/Gecko to "evolve quickly." Even the very > presence of unused, self-contained code (like gonk widgets) adds > overhead because it can make common operations like refactoring more > time consuming. And if someone breaks the code (because it isn't used) > and a bug gets filed to track that, now you've introduced overhead for > people to triage said bugs. These problems don't exist when the code > doesn't exist. That's why we should aggressively delete unused and > unsupported code. While I can relate to that this also discounts the advantage which we would have by retaining the code which is the ability to deploy gecko on Android-based devices directly. That's something that proved to be useful outside of the phone domain. Also we're talking about a tier 3 platform which means that if a refactoring breaks it, it will be up to the people that are involved with it to fix it. IIRC bugs for tier 3 platforms are not triaged either so that shouldn't be a problem. Besides there's unsupported code that's been living in our codebase for ages and nobody seemed to be bothered by it. Searching for references to long-defunct platforms such as Maemo, MeeGo or OS/2 still yields results in our codebase. Gabriele signature.asc Description: OpenPGP digital signature ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform
Re: Removal of B2G from mozilla-central
A comparison point: I opened https://bugzilla.mozilla.org/show_bug.cgi?id=1264155 a while back about removing widget/uikit/ -- which is used by the old iOS port of Firefox -- and others disagreed so I let it slide. So there's precedent for little-used/unused widget code hanging around. (Whether or not that's a good precedent is another matter...) Nick On Tue, Oct 4, 2016 at 10:22 AM, Gregory Szorc wrote: > On Mon, Oct 3, 2016 at 3:20 PM, Gabriele Svelto wrote: > >> > Respectively, it seems like these requests were ultimately not included >> > in the final decision. >> >> I would like to know why; I think that's not much to ask. I would also >> like to know why this decision was made without any public discussion. >> As I've pointed out the removal of another widget was discussed on this >> list only a few months ago. >> >> The gonk widget is made of roughly 60K lines of code out of the 14 >> million lines of our codebase is made of[1]. It's not a large number >> both in absolute and relative terms and also well contained so why can't >> it be kept around? >> > > https://dxr.mozilla.org/mozilla-central/search?q=gonk seems to contradict > your assertion that gonk is well-contained. There are literally references > to gonk throughout the tree. Every reference that isn't self-contained > introduces cognitive dissonance when someone encounters it. They have to > consider the existence of gonk when reading and changing the code. This > makes changing code harder and undermines the ability for Firefox/Gecko to > "evolve quickly." Even the very presence of unused, self-contained code > (like gonk widgets) adds overhead because it can make common operations > like refactoring more time consuming. And if someone breaks the code > (because it isn't used) and a bug gets filed to track that, now you've > introduced overhead for people to triage said bugs. These problems don't > exist when the code doesn't exist. That's why we should aggressively delete > unused and unsupported code. > ___ > dev-platform mailing list > dev-platform@lists.mozilla.org > https://lists.mozilla.org/listinfo/dev-platform ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform
Re: Removal of B2G from mozilla-central
On 10/03/2016 04:22 PM, Gregory Szorc wrote: https://dxr.mozilla.org/mozilla-central/search?q=gonk seems to contradict your assertion that gonk is well-contained. There are literally references to gonk throughout the tree. Every reference that isn't self-contained introduces cognitive dissonance when someone encounters it. They have to consider the existence of gonk when reading and changing the code. This makes changing code harder and undermines the ability for Firefox/Gecko to "evolve quickly." Even the very presence of unused, self-contained code (like gonk widgets) adds overhead because it can make common operations like refactoring more time consuming. And if someone breaks the code (because it isn't used) and a bug gets filed to track that, now you've introduced overhead for people to triage said bugs. These problems don't exist when the code doesn't exist. That's why we should aggressively delete unused and unsupported code. First, a better measure is to search for MOZ_WIDGET_GONK : https://dxr.mozilla.org/mozilla-central/search?q=MOZ_WIDGET_GONK which leads to much less occurences. Second, even if your reasoning about the overhead holds, that doesn't justify the lack of discussion on the governance side. As Gabriele said, this discussion happened for the Qt widget, why not for Gonk? Third, the fact that Gonk is not well self contained is hardly a Gonk defect. It's a Gecko issue, due to the widget layer being not well abstracted enough. If we are serious about our embedding efforts we should rather fix that and make it possible to have full out of tree ports. ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform
Re: Removal of B2G from mozilla-central
On Mon, Oct 3, 2016 at 3:20 PM, Gabriele Svelto wrote: > > Respectively, it seems like these requests were ultimately not included > > in the final decision. > > I would like to know why; I think that's not much to ask. I would also > like to know why this decision was made without any public discussion. > As I've pointed out the removal of another widget was discussed on this > list only a few months ago. > > The gonk widget is made of roughly 60K lines of code out of the 14 > million lines of our codebase is made of[1]. It's not a large number > both in absolute and relative terms and also well contained so why can't > it be kept around? > https://dxr.mozilla.org/mozilla-central/search?q=gonk seems to contradict your assertion that gonk is well-contained. There are literally references to gonk throughout the tree. Every reference that isn't self-contained introduces cognitive dissonance when someone encounters it. They have to consider the existence of gonk when reading and changing the code. This makes changing code harder and undermines the ability for Firefox/Gecko to "evolve quickly." Even the very presence of unused, self-contained code (like gonk widgets) adds overhead because it can make common operations like refactoring more time consuming. And if someone breaks the code (because it isn't used) and a bug gets filed to track that, now you've introduced overhead for people to triage said bugs. These problems don't exist when the code doesn't exist. That's why we should aggressively delete unused and unsupported code. ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform
Re: Removal of B2G from mozilla-central
> Respectively, it seems like these requests were ultimately not included > in the final decision. I would like to know why; I think that's not much to ask. I would also like to know why this decision was made without any public discussion. As I've pointed out the removal of another widget was discussed on this list only a few months ago. The gonk widget is made of roughly 60K lines of code out of the 14 million lines of our codebase is made of[1]. It's not a large number both in absolute and relative terms and also well contained so why can't it be kept around? I'd also like to point out that as far as I know Mozilla has four times the staff as when it was introduced, so I doubt that the effort of a few people keeping it around as tier 3 would impact the organization much. Gabriele [1] https://www.openhub.net/p/firefox signature.asc Description: OpenPGP digital signature ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform
Re: Removal of B2G from mozilla-central
On Fri, Sep 30, 2016 at 3:31 AM, Gabriele Svelto wrote: > > Since gonk is a widget on its own, during the internal discussions about > it I - and others who worked on B2G - repeatedly asked for the gonk > widget to be left in the code even after the removal of all the > B2G-specific APIs (as a tier3 platform obviously). > Respectively, it seems like these requests were ultimately not included in the final decision. The announcement was pretty clear about "Mozilla’s Platform Engineering organization needs to remove all B2G-related code from mozilla-central" and that the community "will need to fork Gecko and proceed with development on their own, separate branch". Pending any clarification of that decision, I should think a full removal of this code would remain the default course of action. Justin ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform
Re: Removal of B2G from mozilla-central
On 30 September 2016 at 11:31, Gabriele Svelto wrote: > Since gonk is a widget on its own, during the internal discussions about > it I - and others who worked on B2G - repeatedly asked for the gonk > widget to be left in the code even after the removal of all the > B2G-specific APIs (as a tier3 platform obviously). > ... > - We would still have the functionality to render web content into the > low-levels of the Android graphics stack > +1 I still personally think that the Gonk widget layer is a valuable asset in its own right and that we may eventually find that we need it in Connected Devices. If it helps, think of it as the Brillo widget layer given Gonk is much the same thing as Google Brillo (AOSP minus Java). Part of the B2G decision appears to be to remove this code, but it's true there was no public discussion about this as there was with the Qt widget layer where the option was given for someone to volunteer to maintain it. Ben ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform
Re: Removal of B2G from mozilla-central
On 30/09/2016 06:04, Chris Peterson wrote: > Is Gonk used anywhere besides B2G? Can we remove all Gonk code, e.g. > dom/camera/Gonk* and #ifdef MOZ_WIDGET_GONK? Gonk is not used anywhere else, some of it's code was merged with Fennec's code to reduce the maintenance burden but there's still quite a bit that's B2G-specific. Since gonk is a widget on its own, during the internal discussions about it I - and others who worked on B2G - repeatedly asked for the gonk widget to be left in the code even after the removal of all the B2G-specific APIs (as a tier3 platform obviously). This would allow a few things to happen: - We would still have the functionality to render web content into the low-levels of the Android graphics stack - We could keep developing B2G OS using fully web APIs by implementing all the B2G-specific bits in external daemons with web-facing interfaces that would live out of mozilla-central As far as mozilla-central is concerned this would mean that all gonk directories for non-standard APIs would still be removed, this includes: - dom/media/platforms/gonk - dom/cellbroadcast/gonk - dom/system/gonk - dom/secureelement/gonk - dom/nfc/gonk - dom/telephony/gonk - dom/mobilemessage/gonk - dom/icc/gonk - dom/mobileconnection/gonk - dom/wappush/gonk - dom/voicemail/gonk All the code protected by MOZ_WIDGET_GONK but B2G-specific would still be removed, that means pretty much all the code under netwerk, dom, security, etc... What would be left would be essentially: hal/gonk widget/gonk The amount of code in both directories would be cut down significantly though as all the code needed to support the non standard APIs would be removed. We'd still have some MOZ_WIDGET_GONK-specific stuff under gfx/ and media/ but it's not much and I wouldn't mind removing all the non-necessary stuff (e.g. screen recording, overlays, ...). Besides being tier3 nobody should mind breaking it. We'd fix it up ourselves. Since there's not been a public discussion on this like we had for the Qt widget [1] I'd like to talk about it here. Note that I've been personally taking part in the efforts of removing the B2G-specific APIs mostly because I know how they work and what non-obvious parts of our codebase they affect. Gabriele [1] https://lists.mozilla.org/pipermail/dev-platform/2016-June/015447.html signature.asc Description: OpenPGP digital signature ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform
Re: Removal of B2G from mozilla-central
On 9/29/2016 11:46 AM, Sebastian Hengst wrote: as has been announced earlier https://groups.google.com/forum/#!topic/mozilla.dev.fxos/FoAwifahNPY the Boot 2 Gecko (B2G) code will be removed from mozilla-central. Is Gonk used anywhere besides B2G? Can we remove all Gonk code, e.g. dom/camera/Gonk* and #ifdef MOZ_WIDGET_GONK? ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform
Removal of B2G from mozilla-central
Hi, as has been announced earlier https://groups.google.com/forum/#!topic/mozilla.dev.fxos/FoAwifahNPY the Boot 2 Gecko (B2G) code will be removed from mozilla-central. A tracking bug has been created for that work: https://bugzilla.mozilla.org/show_bug.cgi?id=1306391 So if you remove code which affects B2G, please let it block that bug. At the moment, I am not aware of any changes which already landed and have an impact on B2G, so the current tip of mozilla-central should be good to build (tests aren't running anymore in automation): https://hg.mozilla.org/mozilla-central/rev/9baec74b3db1bf005c66ae2f50bafbdb02c3be38 If you want to run tests locally or in a new B2G repo, be aware that some test infrastructure already has its B2G support removed and mozilla-central will also drop the meta information about which tests should be skipped on B2G. Sebastian ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform