In Memoriam: Tai'lahr

OpenUru.org, along with the rest of the Mystonline community, is mourning the loss of Tai'lahr on October 16th, 2019.

Rest in Peace, friend.

Cyan Content Licensing Proposals

From OpenUru
Revision as of 15:40, 30 January 2012 by Mac Fife (talk | contribs) (Created page with "== Localization Licensing Proposal == === Problem === Uru has an international audience, and an extensible Localization system which allows content creators to provide translate...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Localization Licensing Proposal

Problem

Uru has an international audience, and an extensible Localization system which allows content creators to provide translated text to be utilized automatically. Unfortunately, many of the dialogs currently in Uru don't take advantage of this capability and cannot be adapted to do so properly without modifying them.

What the Community Has Accomplished Thus Far

Thanks to the efforts of everyone at the UruLocalizationProject, we have a database of translations in a large number of languages. Changes have been made to the code re-enabling the functions which had been disabled after Untìl Uru, as well as fixes in the input routines that now allow non-US keyboards.

What the Community Needs to Continue

There are two primary allowances we need from Cyan in order to continue our efforts to expand Uru's accessibility:

  1. We need a permissive license that would allow us to copy, translate, and distribute all textual information available in Uru, currently located in the .loc files. This would legalize translations and allow their distribution, a necessary step to put all of the community's work into use.
  2. We need access to the source files for all GUI used in Uru so that we can normalize their use of the provided hooks in the code which they currently do not use, and a license to re-distribute at least the compiled output with those fixes applied. If that is deemed impossible, an inferior solution that would allow at least this specific goal is a license to modify and distribute the existing PRPs containing translatable GUI items.

Thank you for reading and considering our proposal.

Following is additional technical information.


Technical Information

The .loc files are XML files containing translations for all textual items in Uru. The ULP (http://rel.to/ulp) already has an extensive library of translations and a system to export that database to Uru-ready .loc files. Not all of Uru uses these however, with some values hard-coded in Python scripts or the PRPs themselves, but this can be converted as the GUI items have the ability to reference the XML paths directly. Much of this Python code references the GUI items by TagIDs, which are arbitrary unique numbers used to refer to the resource. This is messy, as it must be updated when the GUI is updated and can otherwise become out of sync; also it is problematic in the current data set as not all translatable GUI items have been assigned TagIDs, meaning they must be found (if at all) by very fragile code. There is also an embedded text field in these items, which currently contains only the English text. Fortunately, these items support a self-describing LocalizationPath which automatically informs the Plasma engine's LocalizationManager which string to use, allowing localization to be handled cleanly and consistently. All of these items are a part of the data and without a license to modify and distribute the PRPs, we cannot continue with the efforts to localize Uru outside of hacks and shims to the existing elegant but under-utilized engine.

As an additional benefit to Cyan: the changes made under the proposed licensing could be relatively easy for Cyan to integrate back into their own assets without affecting current functionality. This would be impossible if only binary changes are allowed to the exported PRPs rather than the .max sources, and it allows Cyan to take advantage of the localization code changes in the engine once it reaches maturity in the community testing with very little friction.

An extra note about the inferiority of the secondary suggestion in (2) which only allows modification of PRPs -- The reason I mention this is inferior, aside from the obvious, is that while it would allow the immediate goal of activating the built-in localization, I anticipate minor bugs such as text flow and sizing in the UI when languages other than the one for which they were designed are used. These will be extremely difficult to fix under the limited solution mentioned and should be far simpler under the ideal of having access to the original 3D Studio Max source files.

License Suggestions

I was going to wrap up by suggesting licenses in order to lighten the load on Cyan, but as the OU Content Licensing thread proves there are many viable options and they all address different needs. Unfortunately, in order to find where that spot of compromise is we'll need feedback from Cyan on this point. I implore Cyan, should they wish to consider this proposal, to respond with their concerns and needs first. At that point tangible suggestions can be made regarding the specifics and the proposal can move forward should they be agreeable.

At any rate, for the .loc files I'd suggest terms which preserves Cyan's ownership of the text (some of which, being canon from the Myst universe, has inherent value to them), while allowing edits and distribution by the community. A disclaimer stating that Cyan is only responsible for the original English text may also be desirable.