Bug 37242 - Specify general criteria for placing layouts in base.extras.xml.in instead of base.xml.in (i.e., hiding layouts from the UI)
Summary: Specify general criteria for placing layouts in base.extras.xml.in instead of...
Status: RESOLVED WONTFIX
Alias: None
Product: xkeyboard-config
Classification: Unclassified
Component: General (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: xkb
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-15 20:17 UTC by Reşat SABIQ (Reshat)
Modified: 2011-06-27 18:55 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Reşat SABIQ (Reshat) 2011-05-15 20:17:03 UTC
Recently there has been a number of discussions regarding placing some layouts in base.extras.xml.in instead of base.xml.in (which at present means hiding them). I have a feeling that the maintainer of this project (who proclaimed himself to be a dictator of this project) might attempt to close this bug without discussion due to his bias, but even if that happens i hope users and contributors continue to express their thoughts, ideas, and opinions.

There are 2 main categories of layouts to which this is applicable (although there might be others):
1. (Non-additional) layouts dedicated to languages (or their variants or orthographies (especially if they are presently used)) with relatively small numbers of speakers: i.e. if these layouts are hidden from the UI the language (or variant or orhography) is not going to be shown on the UI at all, and thus no layouts for it will be available on the UI.
2. Additional layouts for languages with a relatively large number of speakers: the ones that are considered for hiding are usually based on alternative approches; e.g. Dvorak, or Colemak for a language for which such  alternative approaches are not common.

As of now, Sergey has  moved the following layouts (category 1) from base.xml.in to base.extras.xml.in:
Kutenai (also known as Ktunaxa, estimated number of speakers: 12): ca(kut) [1]
Secwepemctsin (estimated number of speakers: 1650): ca(shs) [2]

Assuming hiding layouts dedicated to languages with relatively small numbers of speakers from the UI is a legitimate thing to do (i personally have big doubts about that), this bug is meant to specify consistent criteria for both categories, which can later also be used for moving a layout back from base.extras.xml.in to base.xml.in (for instance if the number of speakers changes).

First, with regards to layouts dedicated to languages with relatively small numbers of speakers...

I personally would not have hidden the 2 layouts above from the UI, given that even on Windows, for instance, some layouts are shown for languages with very small number of speakers. For instance, there are layouts for the following languages (estimated number of speakers on the right):
Inari Sami       300
Inuktitut     20,000-to-35,000 (approx.)
Lule Sami      2,000
Skolt Sami       420
Southern Sami    600
Mohawk	       3,350
Northern Sami 20,700
Syriac (i don't know much about this layout, but even if it is extinct language it should also be shown on the default UI on Linux because Windows provides it)

Mac also shows layouts for Inuktitut: 4 layouts to be precise.

Among the example above, Inari Sami is a language with the smallest number of speakers: 300. I can't not commend Windows for including it in the list for selection of keyboard layouts! Respect for human rights of which linguistic rights are a part especially shines in this case.

As an example, as of right now, this project provides layouts for the following languages along with the rest of the layouts (estimated number of speakers on the right):
Cherokee                 12,000 to 22,000
Crimean Tatar (Dobruja variant)    24,000
Inuktitut      20,000-to-35,000 (approx.)
Kashubian                          50,000
Northern Sami                      20,700
Syriac

I believe decisions like this should be based on scientific data, such as data on population and number of speakers, rather than arbitrary guesstimes. Based on the above examples from Windows, given that Secwepemctsin (ca(shs)) layout is dedicated to a language spoken by 1650 people, Windows is now more supportive of languages with small number of speakers than this project is. I personally think that an open-source project should definitely be more open-minded and more supportive of languages with relatively small number of speakers than Windows. The opposite would not be consistent with open-source values, & philosophy.

It's a little harder to argue that Ktunaxa layout should be shown by default as well, but based on examples from Windows and Macintosh all the other layouts mentioned above should be shown on the UI by default (and thus be present in base.xml.in), including Secwepemctsin layout. Hiding any of these layouts from the UI would mean that this project is even less supportive (and thus more discriminatory) of languages with small number of speakers in comparison to Windows and Macintosh, which would be completely absurd.

Hiding the only layout(s) dedicated for a language (or variant or orthography) with relatively small number of speakers is of course a more sensitive act in comparison to hiding an alternative layout for a language, because in the latter case the UI will still show other layout(s) for the language, but in the former case there will be no layout(s) for the language on the (default) UI at all.

Secondly, with regards to additional layouts for languages with a relatively large number of speakers... Of course, because these languages already have some layouts, hiding some of their additional layouts such as those based on Dvorak or Colemak for languages for which usage of Dvorak or Colemak is fairly rare, is a less severe action in comparison to leaving no layouts for a language (or its variant or a specific orthography). However, even in this case the examples from Windows and Macintosh above could be used to specify criteria, as opposed to making arbitrary decisions. 


[1] http://cgit.freedesktop.org/xkeyboard-config/commit/?id=ec1f5af5d16ef9ccbb23b74cbe82f11b311d7293
[2] http://cgit.freedesktop.org/xkeyboard-config/commit/?id=19a0026b5a8bd01cfc21bc8c7342e1c4f4567161
Comment 1 Sergey V. Udaltsov 2011-05-15 23:58:52 UTC
I cannot put it any more formal than I already did in the rules. But you are welcome to suggest. Till then, it is WONTFIX.

Thanks for telling on other languages though - I will consider that information.
Comment 2 Reşat SABIQ (Reshat) 2011-05-16 01:30:57 UTC
You confirmed what i said in the beginning of comment 0 by doing the same thing that you did in bug 19978. Apparently you are trying to discourage other people from expressing their thoughts, and to prevent an open discussion, in order to make arbitrary decisions. I hope, however, just as the artificial country-based listing of layouts in bug 19978 got fixed with logical language/locale-based approach in the end, that this issue will also eventually be resolved.

(In reply to comment #1)
> But you are
> welcome to suggest. Till then, it is WONTFIX.
I have suggested an approach based on what other OSs are doing, as opposed to arbitrary decision-making.
What you've been doing lately is this:
a. for some layouts you suffice with the number of speakers, no further questions asked.
b. for some layouts (even if they are for languages that share similar characteristics with languages of layouts in item a.) you do not suffice with the number of speakers, but require a guesstimate of the number of users. This is totally unacceptable for languages (or variants or orthographies) which have characteristics similar to those of languages from item a. By the way, just how silly this is becomes obvious from examples of languages with a large number of speakers, that have fewer Linux users than languages with a relatively very small number of speakers. Based on this non-"logic", you'd have to hide the layout(s) for a language with a large number of speakers, and show the layout(s) for a language with a relatively very small number of speakers. What is this project: a self-proclaimed language police? The criterion is clearly not a guesstimate of the number of users.
c. and some layouts you hide without any discussion based on an arbitrary decision.

Does that make any sense whatsoever?

(In reply to comment #0)
> Among the example above, Inari Sami is a language with the smallest number of
> speakers: 300. I can't not commend Windows for including it in the list for
> selection of keyboard layouts! Respect for human rights of which linguistic
> rights are a part especially shines in this case.

300 is clearly a very meaningful number (as an indication of maximal possible number of users of Inari Sami language, for which Windows provides a keyboard layout). However, based on any of the approaches a., b., or c.  above and the way in which you have employed them so far, Inari Sami language would be hidden from the UI on Linux based on any of the approaches, even though it's shown on Windows, which is a closed-source OS!

Does that make any sense whatsoever?

What you have done so far is you have hidden a layout for a language (Secwepemctsín) spoken by 5 and a half times that number (1650=300*5.5) from the UI without even any discussion, or explanation, or just a rationalization.

Does that make any sense whatsoever?

Inari Sami is clearly sufficient as an example of a non-arbitrary approach for what i referred to as category 1 layouts. And for layouts in category 2., it is also quite logical to ask, "If Windows shows a layout which has an upper limit of users of roughly 300 (and that is including everybody, even babies, pre-school children and the very elderly, which probably account for 25%), would it not make sense to apply the same threshold for alternative layouts even for languages with a large number of speakers?"

I'm seeing a discriminatory, and chauvinistic approach for some layouts, or at the very least an arbitrary approach for some other layouts described in this bug. IMHO, this is unacceptable, and i hope with time this issue is resolved the way it should be resolved by the Linux community in general.
Comment 3 Sergey V. Udaltsov 2011-05-16 01:47:50 UTC
> Apparently you are trying to discourage other people
> from expressing their thoughts, and to prevent an open discussion, in order to
> make arbitrary decisions.
I must admit, this is just related to you, personally. Because of the prehistory of our communications which are proved to be impossible.

> I have suggested an approach based on what other OSs are doing
That does not make sense. We do not know how the decisions are made in Microsoft or Apple, so simply following them is a nonsense.

Actually, I must thank you for a couple of ideas I will add to the rule #6. But the main thing remains - these rules cannot be formal, and the final decision is mine, just because I am "self-proclaimed" maintainer (I wonder if there was ever a maintainer "proclaimed" by others).

BTW, I have some good news for you - last I heard, KDE displays "extras" unconditionally and always. As I told you earlier, the word "hides" does not apply to xkeyboard-config, it is related to particular GUIs.
Comment 4 Sergey V. Udaltsov 2011-05-16 08:20:49 UTC
Put more details into the rules. Thanks for the food for thought.
Comment 5 Reşat SABIQ (Reshat) 2011-06-27 18:07:06 UTC
For the record, the following is what the self-proclaimed dictator has "decreed" in "rule" 6:

<start_quote>
6. For the layouts/variants that are "exotic", it is recommended to use base.extras.xml.in instead of base.xml.in. The word "exotic" is used in statistical sense only.

There is no formal definition of "exotic", because in most cases it is not possible to prove the actual number of users. There are several "usual suspects" for the "exotic" section:

    The layouts for endangered/extinct languages/scripts. The statistics can be taken from http://www.ethnologue.com/. The potential candidates are languages with <100K speakers. If the number of speakers is <10K, the language most probably belongs to "extras"
    The languages that are used most frequently with layouts made for other languages. If most of the texts using the language L1 are typed using layouts made for L2 (more popular), the own layout for L1 may be considered as exotic, even if the language L1 itself is popular. That is the a possible scenario for national minorities using the languages with the alphabet similar to the alphabet used by the language of the larger nation in the same country.
    The exotic layouts for popular languages. If some relatively small group of people are using some variant suitable for their needs. Typical examples: variants for programmers, for typography, for particular group of sciences, for sacred texts etc. 

That's typical, but not the only possible scenarios for putting layout/variants into the "extras" section.

The maintainer of xkeyboard-config typically questions the popularity of newly submitted layouts/variants. If no conclusive proof of number of users is provided, the layout can be put into the extras section (the maintainer reserves that right).

Putting layout/variant into the extras section is just a representation of the fact that layout is not popular enough to be included into the main section. The GUI tools can use any approach to displaying (or not displaying) "extras" - this issue is out of scope of xkeyboard-config.

It is recommended to put "exotic" variants into the end of the corresponding symbols file - after the delimiter line:

// EXTRAS: 
<end_quote>
Comment 6 Reşat SABIQ (Reshat) 2011-06-27 18:19:17 UTC
For starters, i have never seen a project maintainer who proclaimed himself/herself to be a "dictator" of the project, let alone proclaiming himself/herself to be a dictator of a project that affects linguistic (and thus human) rights of many ethnicities.

1. On April 13, 2011 you explicitly said that you wanted to save a few pixels in the scrollable list of keyboard layouts, which reveals the true intention of "base.extras.xml.in". And now you are trying to play with words.
Regardless of what KDE does, the most popular desktop environment for Linux, Gnome, currently doesn't show these so called "extra" layouts, and neither does Gnome released by the most popular Linux distro (Ubuntu and its Gnome derivative: Unity)). Actions speak louder than words: if you moved Secwepemctsin and Crimean Tatar (Dobruja Q) to "extras" after Gnome in general and Gnome on Ubuntu started showing these so called "extras" on the UI, you could say that your actions are not hiding these layouts. As of now, your actions are hiding these layouts from the UI for majority of Linux users, consistently with your previously stated intent.
2. Discriminating against languages saying, after seeing examples clearly proving how outrageous that is, that that discrimination "could" be reversed by Gnome or a distro doesn't change the fact that this project and you personally have discriminated against those languages or language variants by arbitrarily putting them in 2nd-class category.
3. As of now, your arbitrary, self-proclaimed, dictatorial rules mean that keyboard layout entries shown by Windows will not be shown on Linux (at least not on Gnome and its "derivatives" like Unity)! E.g.: Mohawk, Sami Inari, Sami Lule, Sami Skolt, Southern Sami, etc. I don't think i need to elaborate on just how dumb, chavinistic, and outrageous that is.
4. I've said this before: you can't reach your goals without hypocracy and discrimination. You are not following your own arbitrary, self-proclaimed, and dictatorial rules: out of currently mentioned roughly 6 language variants that fit the stated "criteria" for segregation (but which belong in the same category with layouts which are shown on Windows and Mac along with all the other layouts), you only segregated (and as of now for Gnome & Unity: hid) Crimean Tatar (Dobruja Q), which of course was the intention all along, and Secwepectsin, which of course was just to provide some kind of a cover for the former. Once again: hypocracy and discrimination.
5. Your arbitrary rules are stating discrimination in black and white:
you stated that if a language spoken by relatively small number of speakers has more Linux users than a language with relatively large number of speakers, you would still segregate (disappear) the language with larger number of Linux users by putting it in 2nd-class category, while leaving the other language shown on the UI, even though it has fewer users! You are contradicting yourself again and again.

From comment #2:
> I'm seeing a discriminatory, and chauvinistic approach for some layouts, or at
> the very least an arbitrary approach for some other layouts described in this
> bug. IMHO, this is unacceptable, and i hope with time this issue is resolved
> the way it should be resolved by the Linux community in general.
Comment 7 Alan Coopersmith 2011-06-27 18:26:33 UTC
(In reply to comment #6)
> For starters, i have never seen a project maintainer who proclaimed
> himself/herself to be a "dictator" of the project, 

http://en.wikipedia.org/wiki/Benevolent_Dictator_For_Life
Comment 8 Reşat SABIQ (Reshat) 2011-06-27 18:55:16 UTC
(In reply to comment #7)
To clarify, BDFL is perhaps tangent, but in the end irrelevant here: the term was never meant to be used and have never been used when talking about people's linguistic (and thus human) rights. Deciding on technical implementation details of a programming language, or an application framework is not the same as deciding on putting languages, language variants, or their keyboard layouts in 2nd-class category and/or disappearing them from the UI (e.g., even the latest Ubuntu 11.10 alpha 1 doesn't show any of the so called "extra" keyboard layouts).

In case it wasn't clear: i'm focusing on linguistic (and thus human) rights here, not open source philosophy in general (although making "rules" that lead to keyboard layouts shown on Windows being segregated and as of now to them not being shown for most Linux users is, IMHO, definitely against the open source philosophy).


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.