﻿<html>
<head>
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<title>Kansai Open Source and Freeware Conference</title>
</head>
<body>
<div class="Acta1">
  <div class="spaced13">
    <h2>At Future's Gate: The Kansai Open Source and Freeware Conference 2003</h2>
    <p>2004-01</p>
    <p><a href="../lspintro.html">-Louis Suárez-Potts</a></p>
    <p>&nbsp;</p>
    <p class="Header">The Open Source Desktop</p>
    <p> Late last year, at the invitation of Seiya Maeda, who leads the open-source company <a href="http://www.good-day.jp">Good-Day, Inc.</a>, I attended the Kansai Open Source and Freeware Conference in Osaka, Japan. The conference was partly sponsored by Good-Day, which is substantially leading the open-source movement in Japan. Good-Day further enabled my presence at the conference, and to Maeda-san and the Good-Day team I am grateful for allowing me to witness and report on the enormously interesting work being done in Osaka and Japan on behalf of open-source software. If I have delayed in reporting on the conference it was because of the importance of the issues raised by conference attendees and participants, who included both members of the unaffiliated developer community and employees from Sun Microsystems, Panasonic, and many other national and international corporations. Not least, in the four days I was in Japan, I had the great pleasure of renewing my acquaintance with the <a href="http://ja.openoffice.org/">Japanese Native-Lang Project</a> lead, Maho Nakata, and meeting several of the JA OpenOffice.org team, who have made OpenOffice.org an important and powerful force in the Japanese open-source community. </p>
    <p> The conference included both technical discussions and general panels on open source, as well as numerous exhibitions occupying a floor of the Osaka Innovation center, and OpenOffice.org was very much there and very popular. In fact, I was struck by how many people attended the exhibition space and was informed that this year's conference had drawn even more than last. Open-source software development and deployment is growing in Japan, OpenOffice.org is in the vanguard, and the implications of this growth are profound and have been little examined. This account hardly does justice to the growth but I hope will alert readers of the importance of the Japanese OSS intervention. </p>
    <p> The conference was, of course, in Japanese, which I sadly do not speak, read, or write. However, I was taken care of by Kazunari Hirano (Khirano), who not only served as a brilliant translator but also, along with Yasuaki Yamamoto, who helped arrange my trip, as a guide. My thanks to Khirano (his IT alias) and Yamamoto-san. </p>
    <p> On the first, day, I was invited to participate on a panel with Seiya Maeda, on the open-source desktop, that is, a desktop environment constituted entirely of open-source applications and operating system. The question raised was interesting, touching on both the practical and political implications of creating an entirely open-source desktop for general use. From some perspectives, this is a nothing new: many of us already use, every day, such a desktop. We use Mozilla, OpenOffice.org, Evolution, Gimp, etc.; the number of open-source desktop applications is large and growing daily. And all, as is now quite obvious, do their job efficiently (and are mostly absent viruses, and worms) while allowing communication with those using Windows and other proprietary systems. Plus, these are all freely available and modifiable by a community of actually interested programmers: people who want something to work not for salaried reasons but because good software satisfies a need, whether aesthetic, logical, or expressed by endusers. As a result, the applications are now not only robust and safe but very easy to use—gone are the days when open source meant only what geeks use. Open source today is a banner for social and economic success. It is what millions of individuals and increasingly governments are using out of choice, not because of monopolistic pressure. The point, too, goes beyond economics. A government that uses Microsoft for public communications forces its citizenry to buy or otherwise obtain MS Office. If it uses PDF, for which there is a free reader, citizens face sharp limitations on what can be done with the files (basically, they can be printed out) and are still put into the position of communicating with the government using applications over whose control and evolution they have no say. A company, for instance, might charge for a previously free application; or it could go out of business, orphaning its users. Open source, and in particular OpenOffice.org, as the key desktop application, gives to citizens the &quot;say&quot; that proprietary systems withhold. As I argued in my own presentation later that day, the information produced by a nation should not be at the mercy of a proprietary application. </p>
    <p> It was no surprise, then, that the panel chaired by Maeda-san on the open-source desktop was so popular. For Maeda-san was emphasizing not just the idea but the reality of a package of open-source software that ultimately improves upon existing proprietary alternatives, all while saving money not just now but into the future. Good-Day's package, which includes OpenOffice.org and the open-source email client and news reader <a href="http://sylpheed.good-day.net/">Sylpheed</a>, among others, would also make his company money: Support would be offered, for a fee. </p>
    <p>&nbsp;</p>
    <p class="Header"> The Key is OpenOffice.org </p>
    <p> OpenOffice.org is crucially important to this effort, and the Japanese Native-Language project, led by Maho Nakata and assisted by, it turns out, many of the people on the staff of Good-Day, is making OpenOffice.org and all it promises a reality for Japanese speakers. </p>
    <p> The benefits of a good, usable, and free (and freely modifiable) office suite in Japanese extend well beyond the borders of Japan and far beyond what is imagined as the &quot;open-source community,&quot; which, in Japan, and increasingly elsewhere, includes as well government support and endorsement. It was such governmental support, in fact, that helped make Japan the economic superpower it is today. The work done on the open-source package that includes OpenOffice.org was greatly enabled by Japanese government grants, and as such, it represents a model to follow. Government grants, I learned, in discussions with Takaaki Higuchi, of Sun Microsystems, funded private-company development of  filters and plug-ins that add functionality to OpenOffice.org. Making government monies available to meritorious open-source efforts is clearly a powerful model, as it promotes private investments while leveling the market so that monopoly forces do not overwhelm small endeavors. </p>
    <p> So let's imagine then that regional and even federal Japanese governments and corporations begin to use OpenOffice.org on a massive scale (this is quite plausible, not just possible). Implicitly, these Japanese corporations will help determine the business environment for the region. If they use OpenOffice.org, then smaller and less powerful companies will be subtly pressured into using it too. To be sure, OpenOffice.org can save files in the MS Office file format—and can do so by default. But why bother, when doing so introduces the risk of error and ends up perpetuating an essentially obsolete system? Why not, rather, ask that all those engaged in commerce use the same, open and free standard? For the difference OpenOffice.org makes lies in its free and open nature. Using it does not imply suffering an economic hemorrhage; it rather saves money, now and into the future. </p>
    <p>&nbsp;</p>
    <p class="Header"> Controlling Chaos </p>
    <p> In the interstices of the Kansai conference, we—the JA Native-Language group and I—discussed strategies and policies for advancing local builds, in particular the Japanese localization of OpenOffice.org. A virtue of open-source software (OSS) development is that it moves fast. In the popular imagination, OSS need not respect the anxieties of the corporate production manager; what ends up getting built is what the developer wants to build. Of course, the reality is more complicated than this, and projects such as Apache, Gnome, etc., are very coordinated. Nevertheless, OpenOffice.org has historically differed from the &quot;classic&quot; OSS model in that the core product (what we think of by OpenOffice.org) substantially paralleled the feature set of StarOffice, which is derived from OpenOffice.org. </p>
    <p> But in the last year, there have been significant changes in both the logic and practice of building OpenOffice.org. Most relevantly, we have sought to simplify the process by which localized builds are produced, qualified, and disseminated. The task has not been easy, as it has required the coordination of numerous groups, including the QA project (http://qa.openoffice.org/). </p>
    <p> The process of simplification and clarification is, further, still ongoing. For instance, there has been some confusion as to how builds are produced. Historically, for those languages that Sun uses in StarOffice, the localization has been done by Sun, as a contribution to OpenOffice.org. The builds have been minimally qualified, and it has been up to the sophisticated and comprehensive projects in the Native-Language Confederation to work with the QA project to ensure that the builds are suitable for widespread distribution. </p>
    <p> Increasingly, the Native-Language (N-L) groups have also been able to move ahead on addressing those things that need to be done for their particular localization. This is a logical and quite positive step, and in several discussions the JA Native-Language group members (especially one very pleasant dinner), we walked through the logic and implications of enabling such work. </p>
    <p> The idea is to produce builds that meet enduser needs. Naturally, any build disseminated to the public under the OpenOffice.org name must meet OpenOffice.org's QA standards. Nor would it be a distinct build—that would lead indeed to chaos. But many changes related to localization do not affect the core source. More substantial changes would be logically vetted by the relevant technical project. in the case of Japanese, which uses its own font classes and presents a fundamentally more complex problem than other languages, developing an adequate open-source build is particularly challenging. (I was informed that a key brake on open-source uptake in Japan was precisely the lack of superior open-source fonts and representational mechanisms for spoken language; the best ones are proprietary. Font design is an artisanal craft, good fonts and representational mechanisms are nearly works of art. Fortunately, open-source equivalents exist and are being further developed.)</p>
    But say a build is ready that provides functional resolution to the some key issues in the source? The hack would not be a vetted solution, only a temporary resolution. In such a case, the enduser can have access to the application while, simultaneously, better code is worked out. It is as if the enduser were given a beta: not the final build but good enough. Such a logic governed the first year we distributed localized builds, and for some cases now, it makes sense, as it provides users with a usable if not finished build (call it a &quot;preview&quot; build). Such builds need however to be distinguished from finalized builds.
    <p></p>
    <p> At the end of the dinner concluding the conference, I was presented with a signed copy of the Developer's Selection CDROM, which included the version of OpenOffice.org 1.1.0 (OpenOffice.org 1.1.0-ja) produced by the JA project, among other things. I'd like to thank, here, the signatories I could read: </p>
    <div class="indent">
      <dt>Maho Nakata</dt>
      <dt> Ikuya Awashiro</dt>
      <dt> Shu Minari</dt>
      <dt> N. Koura</dt>
      <dt> K. Hirano</dt>
      <dt> Masataka Kondo </dt>
    </div>
    <p> … and of course the others whose names I have missed. I'd like to thank, too, Hiroyuki Yamamoto, who has led the development of Sylpheed. Everyone's efforts, along with those of Maeda-san, made the Kansai Open Source Conference both successful and enjoyable. </p>
    <p>&nbsp;</p>
  </div>
</div>
</body>
</html>
