I've changed the subject of this since it went way off topic from this QWERTY 
Handheld thread:
http://lists.phcomp.co.uk/pipermail/arm-netbook/2016-September/012099.html

On 09/22/2016 08:01 AM, Luke Kenneth Casson Leighton wrote:
>> ok, so it's not written in the spec yet.
> 
>  correct.  this is a massive project.  i've been the only one working
> on it, so all previous discussions were "theoretical", therefore were
> a bit nebulous, but they _did_ spur me to actually think about it (for
> several years, over several years).
> 
>  the fact that you now actually want to know means that it's time to
> actually thrash it out and document it properly.
> 

Yes, this should be documented. More on this at the end. 

>> seems simple enough to me. two shiny stickers, one says EOMA68 HW Compliant, 
>> other says EOMA68 SW Compliant. If it's missing the SW, the manufacturer 
>> should supply you software :P
> 
>  the very fact that two separate and distinct stickers exist *is* in
> and of *itself* a clear violation of the simplicity principle "Just
> Plug It In, It Will Work".  the physical form-factor (the hardware
> connector interoperability) *is* a "guarantee" that "If You Can
> Actually Get It Into The Socket, Which Is A Simple Act Taking A Few
> Seconds And Requiring No Technical Knowledge, It Will Work".
> 
> let's try an analogy.  let's take an SD/MMC Card.  if you have on the
> outside of the SD/MMC Card "SD/MMC SW Compliant" and there were some
> that didn't, and you couldn't even tell if some little fuck in a back
> yard factory somewhere was REMOVING (or worse ADDING) stickers, how
> long do you think it would be before other Memory Card Standards took
> over in full force from SD/MMC?
> 
> no.  we simply cannot possibly expect people - force people - to read
> stickers in order to make technical decisions.  you plug it in, it
> works.  no thought required.
> 
> to even consider doing anything else would *automatically* bring the
> standard into disrepute (even before it got off the ground).

Sure, it's probably not the best idea to use stickers. But I have a another 
idea. You continue to have the restrictive EOMA specification but create a 
separate permissive specification that utilizes the EOMA spec as a basis. Call 
it something significantly different and not likely to be confused, maybe PEMA 
(Permissive Embedded Modular Architecture). These two specs would be compatible 
on a hardware level (and retain the free/libre software requirement) with other 
certain restrictions removed (eg, the bootable housing restriction). I can sell 
my bootable housing as compatible with the PEMA spec.

>>>> It just doesn't make sense (to me) to effectively lock someone to a 
>>>> particular bootloader/kernel that is potentially less capable by denying 
>>>> them compliance. As long as my housing works with free/libre software, 
>>>> what's the problem?
>>>
>>>  the EOMA68 standard is not merely about "working with free / libre
>>> software".   it's about making **100 MILLION AND ABOVE PER YEAR**
>>> free/libre Housings (and Cards) and ensuring that the returns rate is
>>> well below 0.001% (0.001% of 100 million a year is a hundred THOUSAND
>>> units a year, which is absolutely insanely large, and could well
>>> represent the entire profit margin for that year.  mass-volume is
>>> radically different).
>>>
>>>  you cannot possibly expect, with those kinds of numbers, that people
>>> will be capable of compiling their own kernels etc. etc. or even that
>>> they are capable of installing a new OS.  they want something that
>>> "just works".  if it don't work, they'll return it (or discard it).
>>

>> I don't expect the average consumer to compile any software. If you allowed 
>> housings to be bootable, (via sd card for example), a manufacturer can 
>> supply a sd card with the device and provide their own update channel.
> 
>  as noted further down: this scenario was discussed a few years ago
> and discarded as completely unworkable.  how would you:
> 
>  * ensure that a MIPS-based Card was capable of booting from media in
> someone *else's* Housing
>  * ensure that a RISCV-based Card or an FPGA Card was likewise capable
> of booting from the same media
>  * how can the Card Manufacturer even know that there's going to *be*
> an SD Card slot?
> 
> these and many more scenarios make it flat-out impossible to make any
> kinds of "Lowest Common Denominator" assessments.... or more to the
> point: the "Lowest Common Denominator" is *literally* the "Empty Set".
> i.e. there *are* no common boot methods from Housings.  period.

I still don't think the idea of *allowing* (not requiring) housings to be 
bootable is unworkable. The "lowest common denominator" here is the USB bus and 
SD/MMC bus on the EOMA68 connector which *IS REQUIRED* as per the spec and 
*could* contain bootable media. This means, if a housing chooses to implement 
the SD card, it *might* be bootable media. 

Let's switch to the Pocket QWERTY Computer as an example instead of router. The 
A20 cpu card ships with Parabola, a desktop/workstation style OS. I want my 
customers to have a good experience when they use my handheld housing. Using an 
OS tailored for desktop/workstation computing is *not* a good experience on a 
small screen (I've tried this with the Zipit and it "worked", but was not very 
productive). I can make this transition even *easier* for average consumer by 
supplying a SD card with Replicant or some other custom libre distribution 
designed for small screens. I could partition the SD card and put any number of 
distributions on there with a boot menu. This way, they do not need to fuss 
with installing an OS to the cpu card NAND that works *well* with the housing. 
When next years latest and greatest cpu card comes out, I can get a beta 
version of the cpu card, produce an OS that works with my handheld and publish 
it on my website for free download before the new cpu card ships to customers. 
I could sell SD cards for cost+shipping with pre-installed OS for the new cpu 
card if the customer doesn't want to bother making an SD card. Easy-peasy for 
average consumer. Files on the cpu card NAND can be accessed easily via 
mounting so you still have access to all your data. 

The A20 card has a micro sd slot. Is booting from this allowed in the spec? 
What if the next CPU card does not have an SD slot (it's not required by the 
spec)? Now average consumer is forced to install a different OS to internal 
NAND if they want a *useful* device. What happens if average consumer installs 
handheld OS to their A20 card NAND, plugs it into their laptop or desktop? 
Handheld OS for a workstation doesn't seem very *useful*.

My suggestion here is to make a housing "just work" as the *housing* is 
intended. If my housing doesn't work as intended when the cpu card is plugged 
in, it puts my company *and* the standard into disrepute.

>>>  anyone who is plugging in (for example) an EOMA68-A20 into a (for
>>> example) router Housing is probably the kind of expert who knows what
>>> they're doing.  if they're even *remotely* contemplating that kind of
>>> re-purposing / mixing-and-matching (and are the first or one of the
>>> first to consider doing it) i think it's safe to assume that they
>>> would be capable of customising (or entirely replacing) the OS with
>>> one that is more suited to the job of "being a router" as opposed to
>>> "being a desktop OS".
>>
>> If an average consumer buys a housing that claims it is a router and plugs 
>> in their old A20 cpu card (that contains a pre-installed desktop style OS) 
>> the hardware may be configured correctly per the dtb, but they surely won't 
>> be happy when they find out they need to setup a firewall, dhcp server, etc, 
>> etc, and much much more.
> 
>  the fact that they took a CPU Card with a *desktop* OS is the clue
> here.  if they did that, they should expect to have "a set of desktop
> functions".  i did answer this above.   they have two choices:
> 
>  (a) go get a router OS for that CPU Card (this is not unreasonable
> under the circumstances)
>  (b) go install the software required (this is not unreasonable under
> the circumstances)
> 
> 
>> The definition of "plug it in and it works" here is sketchy at best.
> 
> yes.  accepted.   i answered (and you didn't acknowledge) that i would
> consider it reasonable that someone who mixes and matches in this way
> would likely be a "re-purposing" individual, sufficiently technically
> aware to fall into either category (a) or category (b).
> 
>  if they do *not* consider it "reasonable" then i would say... mmm....
> tough.  we can't do everything.
> 
> 
>> IMO, "works" means, works as a router like the housing packaging said it 
>> would, and I expect most consumers would think the same. Now, average 
>> consumer tosses cpu card and housing in the trash and never buys EOMA again 
>> because it didn't *just work*.
> 
>  if they did that, it's their choice.  we can't stop everybody from
> being irresponsible: we can't stop everybody from making decisions
> without first getting on the internet and checking "why doesn't this
> work, does anyone have any advice".
> 
>  however in these circumstances, these are "not normal".  someone buys
> a desktop OS and a desktop Housing, they're Certified by the retailer
> to work.  if they then buy a 3rd party Router Housing and try plugging
> it in, guess what?  they're outside of mainstream aren't they?  i
> would expect such people not to be complete idiots.  they
> experimented.  i would expect them to be capable of being curious
> about the results.  or, to just put the CPU Card back into the Desktop
> Housing.
>
>
>  now, if they bought both devices *second hand*, i would *also* expect
> such people to have done a little bit of research in advance, and to
> have some common sense.
> 
>  therefore, the actual number of people who are complete idiots,
> throwing away perfectly good hardware with very little actual thought
> and analysis, i would actually expect to be qute small.
> 
>  however if there was a fuckwit *RETAILER* who sold a router housing
> and a desktop OS computer card and told the customer "yeah yeah it'll
> work fine", NOW i have a problem with that, and i will be going after
> the seller aggressively because then the RETAILER is genuinely
> bringing EOMA68 into disrepute.  actually, the seller (being a total
> idiot) would have to accept the items back under warranty (due to the
> seller's own ignorance).
> 
> hmmm, good point.  need to make sure that there's proper training for
> retailers and that they understand the consequences of misinforming
> their customers.

Here, you are defining "desktop OS computer card" which isn't defined anywhere 
in the spec. I see no claims in the spec that there is such a thing as a 
desktop computer card, router computer card, phone computer card, etc etc.

With your claim of “just plug it in: it will work”, the retailer would be 
justified selling a *ANY* cpu card and *ANY* housing together and expect it to 
work. Is it the right thing to do? No.

> 
> 
>> Consumers should expect some kind of setup for any new hardware, especially 
>> a networking appliance, but asking them to install and properly configure a 
>> router OS is preposterous.
> 
>  if the products were mis-sold... YES.
>
>  if the products were bought 2nd-hand... NO
> 
>  if the products were bought from different 3rd parties... NO.  you
> don't go complaining to Microsoft if the HP printer doesn't work, do
> you?
> 
> 
>> If you allow a provision for housings to boot, the router housing 
>> manufacturer can provide a suitable OS (eg openwrt) and average consumer can 
>> be happy.
> 
>  no, it can't.  that forces the OS to be pre-compiled for a totally
> unidentified CPU.  how can you KNOW what CPUs will be placed into
> EOMA68 Card form-factor in the future?  how can you pre-compile
> openwrt for a processor that hasn't even been invented yet?
> 
>  it's simply impossible.
> 

If you sell me a cpu card and a housing with the claim that “just plug it in: 
it will work”, it should work as intended as a complete package. If I have an 
old cpu card collecting dust, I should be able to use it under the claim “just 
plug it in: it will work.” Allowing the housing manufacturer the *option* to 
boot from media can assist in fulfilling this claim. Mr. Salesman can have a 
rack of SD cards to sell to average consumer and provide a free or paid service 
of installing the OS on the card for them. Or, average consumer can use my 
nifty cross platform free/libre SD Card Imaging program to download and install 
the correct OS for them. Easy-peasy, nowhere near impossible.

Again, my issue here is the misleading/lofty claim of “just plug it in: it will 
work.” The way I understand it after your explanations this phrase should be 
"just plug it in: it will work, but if you want it to be useful you'll need to 
install and configure software yourself" which is completely against the idea 
of the project. The use of this phrase needs to be rethought and/or reworded. 
Since ethics is a hot topic on the mailing list these days :) ... it's 
unethical to claim “just plug it in: it will work” when the housing doesn't 
work as intended. Sure, it will boot and be some sort of Frankenstein device, 
but it's not a useful device.

Let's try a silly example. I sell you a Harley Davidson Motorcycle (without an 
engine installed) and I sell you a separate lawnmower engine that fits 
perfectly into in that motorcycle. I tell you "just plug it in and it works." 
You go home, plug in the engine, strap on your helmet, start your engine and 
... you ride free on the open road at a whopping 1 mph. Sure, it works, but 
it's not a good experience. Obviously, this example isn't very good in relation 
to EOMA and software, but it makes the point of customer dissatisfaction when 
the claim is "just plug it in and it works". 

>>>> Can you just require all source code and shipped binaries be available 
>>>> before compliance is approved?
>>>
>>>  in light of the above, the question may need to be reworded /
>>> rethought.  just as the Bill of Ethics points out: entropy will
>>> require to be continuously overcome in order to achieve [continuous]
>>> compliance.  it's not a one-off "fire-and-forget" process.
>>>
>>
>> Here's a totally different question instead :) Let's say someone makes a 
>> non-compliant housing and wants to market it to tech minded folk who can 
>> handle installing their own bootloader/kernel. Will it be legal to market it 
>> as non-compliant and use the EOMA name?
> 
>  NO.  i cannot take the risk that someone gets killed or badly injured
> due to an electrical fire caused by non-compliance.  if during an
> investigation where someone is killed, i would end up being accused
> (and quite probably convicted) of manslaughter.
> 
>  the answer is therefore an unequivocable and non-negotiable NO.
>
>  that said: the use of the word "legal" is misleading.  you should be
> using the word "permitted".
> 
>  now, given that you now know this (and see below as well), if you
> were to blatantly *ignore* what i said (which is "NO") and went ahead
> anyway, *then* it would most definitely NOT be legal, and you would be
> liable for prosecution (both civil and criminal).
> 
> 
>> "This housing accepts EOMA cpu cards but is non-compliant with the official 
>> specifications" or some such warning?
> 
> NO.  the risk is too great that without a proper test in a safe
> environment that the 3rd party Housing would not cause irreversible
> damage to people's Cards.  even just doing the testing could result in
> a short-circuit and cause a fire (due to a design fault in the
> Housing).
>

> this isn't "just software", and it's not a "desktop PC" or a
> hermetically-sealed unit.
> 
> some of these housings will take 20 watts or contain Lithium
> Batteries.  20 watts is more than enough to cause an electrical fire,
> and a Lithium Battery if overheated or otherwise mistreated could
> explode.
> 

Understood. And this leads me to the specification which, if documented 
properly, would reduce the likely hood of an incident. In a previous thread, 
I've already had to ask what the power requirements for the cpu card and 
housings are which is not *clearly defined* in the spec 
(http://lists.phcomp.co.uk/pipermail/arm-netbook/2016-August/011880.html). The 
spec should define this information clearly, eg "Housings must be able to 
provide a maximum 5.2V @ 4A and a minimum of 4.9V @ 1A to the CPU Card. The CPU 
Card must protect itself against an over voltage/current event above 5V 2A." 
(random values chosen here) A specification is *specific* and until complete, 
it's a *draft* specification. You, as so called *GUARDIAN* of the EOMA standard 
are responsible for providing *all* the pertinent information for compliance. 

At a minimum, there needs to be some sort of *disclaimer* / *notation* / 
*message* at the top of the EOMA specification page that indicates it is a 
"work in progress" and possibly point to a section (at the bottom/separate 
page?) with all of the unwritten/unfinished requirements/proposals/ideas. I was 
under the impression that the standard was mostly complete and only after the 
fact, this information is coming to light (my fault for lack of due diligence 
in research and asking questions). I understand you've been working on this for 
a long time and *you* have this all worked out in your head, but I (and likely 
others) surely don't. If I had known how restrictive the specification is going 
to be, I would have thought much harder about using EOMA for a project/product. 
I obviously misunderstood how far along the project is. Perhaps the roadmap you 
mentioned previously would help.

Based on the specification on the elinux.org wiki, I had plans/ideas which now 
need to be completely changed to support restrictions that are nowhere to be 
found (not easily anyway). It's quite frustrating to hear "you can't do that" 
time and again. My impressions of the specification based on the information 
readily available are clearly incorrect. I see it more as a hardware spec with 
the additional requirement of free/libre software being provided/available. 
That's my interpretation and is obviously incorrect.

I understand the basis for your restrictions against booting from a housing, it 
just doesn't seem like a good idea to me and isn't very free/libre, IMO. If you 
make it easier for manufacturers to provide a good user experience, then the 
customer is happy and will use it longer.

Don't get me wrong, I still think the idea is good and has good intentions. I'm 
happy to support it. I'm just pointing out issues I see to hopefully make it 
better.
_______________________________________________
arm-netbook mailing list arm-netbook@lists.phcomp.co.uk
http://lists.phcomp.co.uk/mailman/listinfo/arm-netbook
Send large attachments to arm-netb...@files.phcomp.co.uk

Reply via email to