[Community] About cost and business models for community hardware

Neil Jerram neil at ossau.homelinux.net
Fri Sep 25 11:58:44 CEST 2015

On 20/09/15 16:16, H. Nikolaus Schaller wrote:
> Hi,
> Am 15.09.2015 um 22:32 schrieb Neil Jerram <neil at ossau.homelinux.net>:
>> Hi Nikolaus!
>> I've been wondering about writing something along these lines, and your enquiry has provided the required activation energy!
>> On 15/09/15 17:10, H. Nikolaus Schaller wrote:
>>> So what is your opinion?
>> As a potential purchaser, who has already been around for two cycles of this journey (i.e. GTA02 and GTA04), my current feeling is that for real (eventual) success there needs to be a solid plan that goes beyond just hardware.  In addition to all the hardware work, which I assume Goldelico would propose to do, someone needs to undertake to provide and guarantee a minimal level of working software,
> well we also try to do that in addition to hardware (see our projects list [1]):
> * we support boot loader
> * we work and maintain the Letux kernel
> * we adapt and maintain the Replicant for GTA04
> [1]: http://projects.goldelico.com/projects/

Yes, and that is great, but my main point here is that - IIRC - apart 
from the boot loader work these projects were not part of your original 
GTA04 expectations, and you have taken them on progressively as it has 
become clear that they are needed.  On the kernel front, I believe your 
original expectation was just that _some_ working kernel was needed, and 
not necessarily to upstream everything.

So now, at the start of a new cycle, we have a better idea of what 
minimal SW work should be planned for a successful project.

As a secondary point, I'm not sure that _you_ should need to be adapting 
and maintaining Replicant, or any other particular distro - because 
people like me could do that if there was a fully stable kernel base. 
There are other points in my list that I can't address myself, and don't 
believe that anyone is addressing, such as 3G stability, and perhaps 
your SW resource would be better applied there.

> We haven’t been talking about that for a while (except Replicant) because the kernel was unusable due to an X11 crash bug (which has been fixed in the kerner just 2 weeks ago).
>> which I think should mean:
>> - complete and upstreamed Linux kernel support, for all hardware
>> - demonstration of an acceptably low battery current in suspend
>> - demonstration of stable modem usage, for calls and data (at least 3G)
>> - demonstration of reliably acceptable audio quality in voice calls
>> - demonstration of stable wifi that reaches spec’d bandwidth and still uses acceptable current.
> Yes, this is definitively what we all want to see.
> A problem is how to demonstrate thais with the limited number of people really working on it. And demonstrate it before building hardware. Basically someone must pay for building these demonstrators (which might fail). I.e. take the risk of such a failure.
> But most of your questions can already be answered:
> * Upstreaming is tough (you have to convince maintainers and accept that they try to enforce different - and sometimes conflicting - goals).

With respect, I think that a little more humility and patience is needed 
here.  I have recently been upstreaming various changes into OpenStack, 
which I think is a broadly similar project and culture to the kernel.

My experience has been that one gets a lot of feedback, and initially 
some of it seems to be unhelpful, some seems to be pointlessly 
nitpicking, some seems to be contradicting other feedback, and so on. 
But I have found that if I just address things step by step - and have a 
lot of patience! - that everything eventually resolves, and the things 
that appeared to be pointless actually do have a point.  Try to be 
neutral - i.e. open as to the 'how' - on everything other than the fact 
that you do want a particular piece of function to work.  And if you do 
get two upstream developers who appear to be contradicting each other, 
just describe that, while addressing both of them, and they'll probably 
sort it out.

> * low battery current had been shown quite a while ago with the 3.7 kernel - but we did not yet get it down to the same low level with any more recent kernel (so it is a kernel issue and not hardware)

This begs an interesting question: once everything the GTA04 needs is 
upstream and working well, how do you ensure that it stays working well? 
  I would hope that the answer to this includes automated test systems 
somewhere, and not just 'test manually each time a new kernel is released'.

Surely the Linaro / ARM / TI people must have an answer to this - could 
it be that the GTA04 needs to be 'registered' in some way with them, so 
they can include it in their regression testing?

> * stable modem is IMHO already shown with Replicant (there are some tricks to stabilize the modem)

That's interesting.  Can you give or point to more details?

Specifically, is there now an effective recipe for:

- detecting when the modem has gone into a bad state

- restarting it?

(By the way, since seeing the modem reset problem on the GTA04, I've 
been noticing times when I think something similar is happening on my 
Blackberries: the modem inexplicably goes 'off' for a while, then comes 
back.  So it may be that it is actually common for the modem firmware to 
be unstable, and that the wider OS is expected just to handle it and 
restart the modem.)

> * audio quality as well (hardware voice routing in GTA04A4 and A5)


I still have an A3, myself, so still need reliable SW routing.  I spent 
ages on this, some time ago, and it appeared to be insoluble.  But there 
was definitely a kernel audio problem (*) that is now fixed; probably 
that was preventing the SW routing from working reliably, or at least 
obscuring the investigation.

(*) I reported on the list that if I ran a loop to play a WAV file 5 
times, it would only actually play about 2 times out of the 5. 
Unfortunately I can't find the link for that now.

> * Neil has reported some fixes foe the SDIO kernel drivers to get high WiFi bandwidth

Right.  But they need to be upstream.

>> Whoever takes that on, the plan also needs to include an understanding that they and Goldelico will work together as needed to achieve those things, through a combination of whatever SW and HW work is needed.
> I am convinced that it does not work if two separate entities are working on hardware and software.
> We had that for the QtMoko project. QtMoko did a wonderful job to support more and more features - up to a point where Radek lost interest.

I think you could draw the wrong conclusion from that.  I.e., that you 
should prepare and maintain a full distribution yourselves.

I think this was lesson #1 from the GTA02 project: producing both the HW 
and a full software distribution was just too much, even though they had 
the benefit of much greater scale than GTA04.  Things are easier now, 
thanks to previous attempts, Android, Replicant, some of the Linux 
ecosystem being touch-conscious etc.  But are they easier enough?

I think Radek 'lost interest' because of lack of some of the lower level 
points in my list above, principally the battery consumption.

I have not been in Radek's league, but my own interest has taken regular 
hits from those points.  I'm very interested in distro development and 
maintenance, but it seems like every time I become interested again and 
put in some work, I hit a brick wall somewhere.  E.g. the SW audio 
routing work.  E.g. reliability of sending and receiving SMS.  E.g. that 
it's difficult to keep the GTA04 around with me and use it 
experimentally, because the battery doesn't last long.  E.g. the 3G data 
stability.  E.g. touchscreen jitter.

So I really think that if all those low level problems are solved, and 
the kernel is upstream, other people can and will make the distros.

> I tried to revitalize it under the Goldelico/OpenPhoenux umbrella but failed to get it compiled.
> Therefore I think it must be a single entity being responsible for hard- and software.
> This does of course not exclude subcontractors working on parts of the whole picture.
> We already have that in both HW and SW. Production is done by a subcontractor. Lukas is working as a subcontractor on Replicant. Marek for the kernel. But speed is limited by the budget that is available.
> The software work is something which is financed from the gta04 project donations we collect. And HW subcontractors will be paid as soon as they build the GTA04A5 boards.
>> That would be a plan that I could support again.  I don’t think I would support a new hardware-only plan - even if I do still have fun playing with my GTA04 from time to time.
> There is no hardware only plan. The GTA04A5 is just happening now, because we can build it now. It is intended to support all the software that has been built up since the last production run. But software work will continue in parallel.

Right.  On this primary overall point, it seems we agree.

> A problem we really have (don’t laugh) is that if someone wants to help to improve the software needs a piece of hardware to do testing. We even don’t have such a spare a device to give to potential developers. Therefore waiting for software to be finished first and then provide new hardware with rock-solid and well tested software doesn’t even work. For us. Non-free ecosystems have collected a lot of money at the stock exchanges to be able to finance alpha and beta tests and to publish new releases only if the most critical bugs have been fixed.

Yes, that is really hard.

>>> Should our projects be “profitable” or more be a “charity” based on volunteer work?
>> If the plan is right - i.e. as above - I am absolutely happy for you to plan for it to be profitable for you.
> Well, what would we need to charge that really hiring more software developer is profitable?
> A rule of thumb estimate is approx. 100EUR for each GTA04A5.
> With that budget it could be possible to hire 2-3 more full-time software developers to iron out all known issues (maybe except upstreaming because it depends on the speed maintainers do their work). But only after the GTA04A5 come out of production.
> What do you think - would adding such a “software development” price-increase be acceptable?

Well, I have one other worry.  The GTA02 was eventually 'left behind' 
because of only having 2G when the rest of the world had 3G.  So, even 
if the software eventually approached a working state, it was not usable 
for many things that people expect from up-to-date smartphones.

How soon might the same thing happen to GTA04, because of not having 4G?

If that question has a clear answer, it's the timescale that you and we 
have for making GTA04 a success.  (Because, actually, I don't believe 
there's very much _other_ innovation happening in smartphones now.)

So, if your plan delivers success in that timescale, I think an extra 
100EUR would be acceptable.


More information about the Community mailing list