Ubuntu Policy: prefixes for multiples of units

Scott James Remnant scott at canonical.com
Wed Sep 24 18:26:12 BST 2008

We've had an unofficial policy about this for a while now, but since we
have the Ubuntu Policy manual
<http://people.ubuntu.com/~cjwatson/ubuntu-policy/> I'd like to make
this more official by including it there.

First we should have the discussion.

When displaying large values of units such as bytes, it is common
practice to round those units up to a larger multiple.

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.  Ubuntu may use these prefixes.

Thus we have the industry terms:

	kilobyte	kB		kilobit		kb
	megabyte	MB		megabit		Mb
	gigabyte	GB		gigabit		Gb
	terabyte	TB		terabit		Tb

And so on into the future for peta(P), exa(E), zetta(Z) and yotta(Y).

Despite being valid, the deca(da) and hecto(h) mutlipliers are largely
unknown, so must not be used in Ubuntu.

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.

Confusion has often reigned as to the exact values of these multiples;
since computing has often used factors as powers of 2, rather than
powers of ten.  Thus a kilobyte may be considered 1x2^10 bytes (1024) or
1x10^3 bytes (1000) depending on the system in use.

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.

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

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.

Since the standard prefixes used by the industry remain SI prefixes,
Ubuntu must use these prefixes.

Despite common belief, in general the industry (largely thanks to its
marketing department) has actually settled on factors of powers of ten
for these prefixes.  (What was an 80GB drive may now be sold as an 85GB

In particular, the following multiples must always use powers of ten as
their factor:

 * Disk and partition sizes, space used and remaining.
 * File sizes.
 * Bandwidth and transfer rates.
 * Data transfer totals.

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.

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).

Scott James Remnant
scott at canonical.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/ubuntu-devel/attachments/20080924/fa0727b6/attachment.pgp 

More information about the ubuntu-devel mailing list