Re: Removal of B2G from mozilla-central

2016-10-28 Thread Matthieu Ducorps
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

2016-10-27 Thread Gabriele Svelto
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

2016-10-04 Thread Axel Hecht

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

2016-10-04 Thread Axel Hecht

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

2016-10-04 Thread Fabrice Desre

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

2016-10-04 Thread Gabriele Svelto
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

2016-10-03 Thread Nicholas Nethercote
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

2016-10-03 Thread Gregory Szorc
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

2016-10-03 Thread Gabriele Svelto
> 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

2016-10-03 Thread Justin Dolske
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

2016-09-30 Thread Benjamin Francis
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

2016-09-30 Thread Gabriele Svelto
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

2016-09-29 Thread Chris Peterson

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

2016-09-29 Thread Sebastian Hengst

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