daniel added a comment.

@WMDE-leszek

External stuff can be changed, on the cost of making breaking change. But doing changing in the storage is more painful, from the developer point of view.

Making breaking changes to the public interface is easier for use than changing internals. Its overall cost is a lot higher. Stability and consistency of public models and interfaces is an extremely valuable asset, since it directly impacts community good will and the ability and willingness for re-using our data. Internal breaking changes only cost developer hours. In the big picture, these are cheap compared to community good-will and 3rd party integration.

From the outside, the internal structures are implementations details which can easily be changed, while changing the public interface means work for everybody.

Anyway: If we keep the guarantee of one-terms-per-language-code in the external interface, then there is no need to allow multipe-terms-per-code internally. In fact, that seems counter-productive. The motivations given for changing the internal model all relate to how people enter data. If they can enter multiple terms per language code, they also have to have a way to get out multiple values per code. We can allow that now, at the cost of consistency with labels and changing the model spec. Allowing it later will be very costly.

To clarify: you mean here, that lemma/representation would no longer be MultilingualTextValues, or would this lead to more changes in the model?

That's the minimum change: you'd have to introduce something like a MultiMultilingualTextValues type or some such. But since the proposed change impacts how data can be used, you may want additional changes, such as ranks for lemmas and representations. Or you may want to ditch language codes completely, and just have a list of strings. If we don't require distinct codes, I fear we'll mostly get the same code for all variants anyway. In that case, a simple list would be preferable.

This discussion raises an important question: who owns the public data model and public interfaces? Who are the domain experts to consult when changing the model?


TASK DETAIL
https://phabricator.wikimedia.org/T190033

EMAIL PREFERENCES
https://phabricator.wikimedia.org/settings/panel/emailpreferences/

To: WMDE-leszek, daniel
Cc: Lydia_Pintscher, WMDE-leszek, Aklapper, daniel, Lahi, Gq86, Cinemantique, GoranSMilovanovic, QZanden, LawExplorer, Wikidata-bugs, aude, Darkdadaah, Mbch331
_______________________________________________
Wikidata-bugs mailing list
Wikidata-bugs@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikidata-bugs

Reply via email to