Ubuntu Policy: prefixes for multiples of units

Martin Pitt martin.pitt at ubuntu.com
Thu Sep 25 12:56:05 BST 2008

Hi Scott,

Scott James Remnant [2008-09-24 18:26 +0100]:
> We've had an unofficial policy about this for a while now

Oh, we did? So far my impression was just "whatever upstream used,
plus some random bug reports and discussions there".

> have the Ubuntu Policy manual
> <http://people.ubuntu.com/~cjwatson/ubuntu-policy/> I'd like to make
> this more official by including it there.

+1 for that.

> While neither bytes nor bits are recognised by Le Système International
> d'Unités (SI), it has been standard industry practice to use their
> prefixes for multiples.

Right, and my feeling is that this is a largely accepted agreement,
especially since the definition of the prefixes and the units are
orthogonal to each other.

E. g. the "pixel" isn't a SI base unit either, and yet camera
manufactures have not chosen to define a Megapixel as 800.000 pixels
just because it allows them to write higher numbers on their products.
A Megapixel is one million pixels, and everyone understands that

And of course a "mega store" is a shop which sells exactly 1.000.000
products, as we all know. *duck*

> Since a byte is not divisble by 10, and a bit is inherently indivisible,
> the divisor prefixes: deci(d), centi(c), milli(m), micro(µ), nano(n),
> pico(p), femto(f), atto(a), zepto(z) and yocto(y) are *not* valid and
> must never be used in Ubuntu.

See my other reply. I object that they are invalid (mb/s *does* make
sense), but since they don't matter in practice, so we should
discourage them.

> Efforts have been made in the standardisation world to address this
> problem.  The International Electrotechnical Commission (IEC), in IEC
> 60027-2 A.2, invented a new set of "binary" prefixes.  These include the
> kibibit, mebibit and gibibit.
> Despite their attraction to the standards world, these have not yet seem
> adoption in the industry.

Right, but I agree that this is a chicken/egg problem. The FLOSS world
is part of the computer industry (and an ever-increasingly important

My personal opinion is that the usage of "kilo"/"mega" etc. to mean
different things in different contexts is just too confusing to
proliferate, or worse, put into an official policy. So if we actually
document this as a policy, we should do the right thing and use the
Ki/Mi etc. prefixes (after all, they are 12 years old already...)

> Ubuntu policy is to use the prefix and factor that matches a user's
> expectation based on their purchase.

I object. Since we don't know about the user's expectations, and we
know even less about which inconsistencies hardware manufacturers will
use, that's not a sensible thing to try to define in a policy.

Also, I frankly doubt that users even know about their expectations
themselves. Heck, I'm a geek, and if I buy a hard disk, *I* don't know
whether the imprinted "80 GB" is really meant as 80*10^12 or 80*2^30.
I'm reasonably sure with network gear (where it is pretty much always
powers of ten) and RAM (where it is always powers of 2), but I have no
clue when buying a SD card, USB flash stick, or an SSD.

> Until such time that a user would be able to walk into a store, and the
> majority of hardware that they might buy is labelled in IEC prefixes
> (500gibibyte hard-drive, etc.), Ubuntu must not use these prefixes.

Until such time that a user would be able to correctly identify the
storage size of hardware they bought in their operating system,
hardware manufacturers must not use these IEC prefixes in order to
avoid getting sued by users for misleading information.

> Since RAM manufactures still quote sizes using powers of two as their
> factor, the following multiples must also match:
>  * Available, used and free RAM and swap.
>  * Sizes of software and files in memory.

What does "must also match" mean here?  "must use MB and GB in the
sense of powers of two"? That would cement the misuse of those
prefixes by writing it into an official policy.

I agree that the policy should define that we should use powers of two
to report RAM size (as for swap I'm a bit undecided), but then please
by using the correct prefix (MiB/GiB).

> Where confusion could be caused, such as the swap partition, the most
> appropriate factor for the circumstance may be used, provided it is made
> clear what kind of unit is being entered.
> For example, when creating a swap partition, we may ask the user for the
> size of the partition (power of ten) or the size of virtual swap memory
> (power of two).

Yes, that makes sense.

Thanks for starting the discussion! I'd love to see this settled in
the official Ubuntu policy.


who just likes that the world has overcome thousands of different
legacy units from the past centuries

Martin Pitt                        | http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
Url : https://lists.ubuntu.com/archives/ubuntu-devel/attachments/20080925/7636a351/attachment.pgp 

More information about the ubuntu-devel mailing list