It seems the word "Principal" is ubiquitous in security-related software: see

Microsoft dot Net Principal [1]
Kerberos [2]

[1] [2]

There are lots of other examples of its use. Just do a google search for "security principal"

I think we should be careful before departing from common terms for API concepts lest we violate the
"principle of least surprise"  ;-)


Philipp von Weitershausen wrote:

Hi there,

while I very much like Zope 3's understanding security and abstract
concepts of interactions, participations, and principals, I've never
really grown to love the word "principal." It might be easier to
understand for native speakers, but I've certainly had problems to grok
and remember(!) its meaning from the word alone. "Interaction" and
"participation" are much easier to understand right away.

Since "principal" doesn't seem to be a common term in IT speak either,
translators repeatedly have their problems with it. In German, for
example, we came up with "Nutzungsberechtigter" which is just an
arbitrary choice and doesn't even fit all aspects of "principal". It's
still a good choice for now because if we had chosen to literally
translate it as "Prinzipal", noone would even be close to understanding
what we meant. Sebastien Douche seemed to have the same problem
regarding the French translation, as he told us on IRC today. There just
aren't good native words that translate "principal" well enough, let
alone a good literal translation.

So, I would like to give "principal" a better name. How about
"participant"? After all, a principal _participates_ in an interaction
through a participation (e.g. an HTTP request). Participant should also
be pretty easy to translate: it's a common word, especially outside IT
vocubulary, which means chances are good to find appropriate native
translations for it.

(Note that the point of finding translations for technical terms is not
only for the sake of a translated Zope 3 UI. It's more about how people
understand technical terms. I think most Zope 3 developers aren't native
English speakers and they do not necessarily think in English. So, good
words that have good native translations help the understanding process
on their end. That is not only important for _learning_ a concept, but
also for _explaining_ it. As a book author, I know what I'm talking
about... :))

Hope to hear some comments,


Zope3-dev mailing list

Reply via email to