[FirefoxOS] Community update system

Hi everybody,

I am new here, so please, tell me if I am missing something. Today I like to disucss about the posibility to create and update system for devices that Movistar sells. This idea had a big background and userstories.

I am like to mount an update system to be used by most of the people at is upsed by the late and negative response of Movistar related to the update. Some users are thinking that their phones are obsolets.

The problem for me is the space (server) where to host all the packages and have the update services online, I could not cover the price of every month for the server service. For that reason, i like to know if could be that this could be a community project sponsored by Mozilla giving the server space to make this project real.

What you think?

Regards,
Gio

@r_oVhPfcJCUUC5wbm6i4_C2Q and @willyaranda know about this project and they know too why this projects is so important for FirefoxOS, so, they can help me with some comments. :smile:

Hi Gioyik,

Firefox OS images cannot be hosted on any infrastructure paid for or affiliated with Mozilla for legal reasons as of last time I checked. The binaries have blobs in them that have very strict rules on redistribution.

Hi!

I’d suggest you to look for help at local universities. Usually, they have the logistics needed for such projects. If not, maybe find people interested in this that would also donate (and volunteer on system administration side) to help you maintain the project.

Hi,

How much space do you need? What kind of infrastructure are you demanding? Probably I can help with a single virtual machine that connected to the internet via 100 Mbs Eth. Also it would be nice if w can provide updates for all phones that use Firefox OS

I think it would be a good idea to have a build machine and several mirrors around the globe.

But first we need to know how many people would be committed to this project in the medium-large term, since it’s important to have people with the skills to keep it going.

This is something I was talking to Asa with about the tablet contribution program, we might get something up for that when the tablets ship out.

We have the hardware, just not sure of the legal stuff for released devices.

@yousef We can rely on volunteer communities to do released devices, as Cyanogenmod does for example, but have a common group of people working and sharing how to deal with the whole process.

I’ve spoken to Asa and Mozilla has not licensed some of the code (Gonk) for any device, so that rules out doing full builds.

However, we can host Gaia and Gecko builds and then point users to instructions on how to put it all-together.

.@kami911 Thanks! As @r_oVhPfcJCUUC5wbm6i4_C2Q says, we need to know how many people is interested on this, can you give me a way to contact you later when we start with the rest of the people interested?

@yousef Sounds good. Just a question, you talk about build ROMs with only Gaia and Gecko parts without Blobs?

Regards,
Gio

  • I think we should support all released devices.
  • Maybe we can ask the carriers what is the best way to support devices (not hutrting their goals)
  • Maybe the carriers also interested in to contribute (if this process provides easier to deploy ROMs, cutting cost from their and OEM’s side)
  • Later we could extend the support for abadoned Android devices
  • As usual the license of binary blobs are questionable, mabe we should sign a contract with the OEMs.
  • I think we can bulid tech cooperation between local developer teams.
  • In my opinion I we can team up at least half dozen people we can start to do it…

You can reach me at kami911 at gmail or @kami911kami

HI all,

We already have a server where @gioyik is doing the initial tests for builds and we are defining a way to deploy images to community mirrors.

As soon as we have everything in place we’ll let you know.

The initial plan is to support:

  • ZTE Open
  • Alcatel One Touch Fire
  • LG Fireweb
  • Huawei Y300

At least with one stable branch (currently 1.3) and one unstable development one (probably from master).

Hi all,

Croatian community has dedicated server (located in France) and we’re willing to host and manage “update system” on it.

Feel free to ping me regarding it.

Cheers,
Dejan

Hi folks,

I’m Ben and I’m Release Engineering at Mozilla. Among other things, I work on our update system and I’m currently in the process of enabling full support for Mozilla-built FirefoxOS builds.

Giovanny was asking me about updates a bit, so I thought it might be helpful if I chimed in here.

First of all, as others have said, it’s not possible for Mozilla (the company) to host builds with Gonk or other low level bits in them. I am not a lawyer, but I’d also suggest that it’s not a good idea for anyone in the Mozilla Community to do so either - those bits are legally protected in many ways. Hosting them would open you, and possibly Mozilla, to legal ramifications. Maybe some day we’ll have a device whose software is fully redistributable - but we’re not there yet. With that in mind, I’m going to continue on on the assumption that we’re only talking about gecko+gaia updates.

To provide updates you need two things:

  1. MARs, and a place host them. These are the files that contain gecko+gaia. They are built as part of the B2G build process and often device-specific. Most of the Mozilla-created MARs are still hosted on a private server, but I’m working to move the gecko+gaia MARs to ftp.mozilla.org. This is already happening for Flame builds.
  2. An update server (“AUS”). The update server contains metadata (file size, checksum, URL, et. al) about the MARs. Clients (eg, FirefoxOS) talk to it periodically. The update server decides, based on the request URL, whether or not the client should receive an update. If it should, it serves back a specially constructed XML file that points the client at it. Mozilla’s primary update server is aus4.mozilla.org.

For the MARs, I think it’s likely that Mozilla can provide hosting in some way. I can’t promise this, but I can certainly make sure such a request gets looked at by the right people.

For the update server, the frequency at which you’re providing updates will play a factor in what the best solution is. If you’re doing nightly updates, you’ll definitely want an installation of our update server, Balrog (https://wiki.mozilla.org/Balrog). If you’re providing updates much less frequently, I’d advise against something like Balrog and suggest using static files instead. Maintaining a full Balrog install will not be a trivial matter, so unless absolutely necessary I’d advise against it.

I hope that helps. I’ll do my best to reply to follow-ups in this thread.

It might be worth being a bit more precise here. Mozilla cannot host Gonk builds when they contain proprietary binary blobs that we don’t have the rights to redistribute. Now, that may currently be true of builds for all the phones, but it’s not true of emulator builds, and it may not be true of all phones in the future, either if people write free replacements, or if we persuade the hardware manufacturer to allow redistribution.

We need to avoid giving people the impression that there’s something about Gonk per se that’s unredistributable. That’s not true. It’s the parts Mozilla doesn’t own which may be nonredistributable.

1 Like

You’re absolutely right, Gerv - thanks for the clarification.