|
Special Project Update on the consortium's GT Globalization Effort
Earlier this year, the Globus Consortium commissioned a "Globus Toolkit Globalization Scoping Assessment" study, performed by the Univa Corporation. This month, we're pleased to share the Globus Toolkit Globalization Coding Guidelines and the Globus Toolkit Localization Guidelines documents that were products of this investigation.
http://www.globusconsortium.org/globalization/
To help the Globus Toolkit developer community put GT Globalization efforts in perspective, the Globus Consortium Journal spoke with the authors of the report, Patrick Doran, Software Engineer and Robert Gaffaney Engineering Manager of Univa. Here's what they had to say about their findings ...
GCJ: So why the need for globalization? What does globalization mean for an open source effort such as the Globus Toolkit?
Gaffaney: Many international developers prefer to work in their native language, not because they're intolerant of English, but because they would rather see things in their own language on the user interface and in documentation. It goes beyond translation - it's ultimately about how information is managed, such as the way dates look and the way in which time and currencies are handled.
In the case of the Globus Toolkit, globalization must be addressed at a fairly low level because it touches not just a single component, but the entire code base. It's an important and challenging undertaking because it impacts everything from interfaces to error messages and log files. The study that we completed defines the guidelines for approaching the globalization effort, and understanding the scope of changes required. In addition, we present a comprehensive plan for implementing these changes.
GCJ: What kind of information is in the comprehensive plan?
Doran: We produced about 200 pages of coding and localization guidelines.
http://www.globusconsortium.org/globalization/
A small percentage of that deals with the real policies, and the remainder aggregates the relevant available resources on the ICU4C and Java internationalization to shorten the implementation trip for developers. It's important in reviewing the documents to realize that these are just an assessment and a guideline. Once we implement globalization, the development team will have to make some concrete decisions implemented in code. Our goal was to shorten that decision making process and make things easier for those doing the implementation.
GCJ: Is this the first globalization effort around the Globus Toolkit?
Doran: There are a couple of French and Japanese partial localizations for third party components, but nothing is available that spans the entire toolkit.
Gaffaney: And to be clear, when we're talk about third party components, we're talking about pieces of software that are included in the toolkit. One such example is Apache Axis which handles the SOAP messaging. Since Globus is standards-based, we're able to utilize third party software to handle parts of the functionality such as XML message parsing and SOAP message passing.
GCJ: Are there any examples of another globalization effort for another open source technology that you would say is a good model to follow?
Gaffaney: Certainly Linux.
Doran: Yes, Linux developers outlined standards for internationalization of the code and made some firm decisions on how to code Linux going forward. Similarly, Globus needs to have these guidelines implemented consistently across the whole community. The other thing that the Linux community did really well was to enlist resources from their community to take up the work of internationalizing code and producing the localized resource bundles. In order for Globus to obtain localized resource bundles for all the locales we'd like to reach, we need to come up with an effective way to tap our community and get interested parties to assist. Some of it is just doing the PR work, and some of it is creating an infrastructure that makes it easy for people to contribute localized resources to some sort of repository.
GCJ: In the process of your research, were there any other interesting revelations or discoveries?
Doran: I think the biggest discovery was the scope of the work and the impact it will have on the toolkit. When one thinks about internationalization, what usually comes to mind is string externalization. But there are a lot of other changes in coding practice that become very pervasive. There's a lot of literature available, and there are companies whose sole focus is globalization.
There is also the value it buys us going forward. There's a PR aspect in getting more people to adopt the toolkit as end users, but it also opens up a new pool of developers. If we have localized versions of the toolkit, there may be development talent in other locales that we can tap into.
Gaffaney: I'd say that some of the use cases were particularly interesting too. For example, you have languages like Arabic and Hebrew that are written right-to-left, and use different character sets. And in Arabic text, when they use an English word or quote something, they do that left-to-right - so it's not only monotonic, right-to-left, it may also include embedded left-to-right text. These nuances add another interesting dimension.
GCJ: One of the criticisms of the Globus Toolkit seems to be that there are a lot of releases, and just when people are getting used to a certain release, a new one comes out. How does this globalization effort affect that?
Gaffaney: There's a fairly significant block of work required to complete the initial globalization. Beyond that point, it's a question adhering to the published guidelines, and I believe that is an incremental effort that would not be significant beyond the first release.
GCJ: Any final thoughts regarding Globus Toolkit globalization?
Gaffaney: Documentation is another block of translation that needs to be addressed in the future. It would be great to provide a means for contributors to do those translations with a minimum barrier to entry, allowing people access and commit rights to the code base. Ideally, it would be useful to have a mechanism that allows translations to be done in a parallel fashion - for instance, viewing the English pages alongside the Japanese or Korean ones, or whatever other language is being used.
close window |
|