﻿<html>
<head>
<title>Interview: Charles Schulz</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<h2>Interview: Charles Schulz, Lead, Native Language Confederation</h2>
<p><a href="../lspintro.html">-Louis Suárez-Potts</a></p>
<p>2005-05-04</p>

<p>Charles Schulz has been the lead of OpenOffice.org's innovative <a href="http://native-lang.openoffice.org/">Native Language Confederation</a> (former Native Lang project) for the last couple of years. The NLC, as we call it, represents the fastest growing section of OpenOffice.org and numbers among its members tens of thousands throughout the world. Projects are charged with localization (which they work on in the<a href="http://l10n.openoffice.org/"> l10n project</a>), support, and local marketing efforts. I should note that I have been the lead and co-lead of the NLC since its inception in 2001; it was founded by Guy Capra, formerly head of the <a href="http://fr.openoffice.org/">French Language project</a> (FR). 
<p>This interview was conducted via e-mail in April.
<p> 
<p><i> As, usual, let's begin with you:  Tell us about what you do outside of OpenOffice.org and how you got interested in OpenOffice.org and Free and Open Source Software (FOSS). </i></p>

<p> I am presently finishing my Master of International Trade at the ISEG Paris, and at the same time  starting a pure consulting company providing strategic advices and studies on FOSS, "<a href="http://arsaperta.com/">Ars Aperta</a>". I first got interested in OpenOffice.org when I was working in a start-up during the dot-com bubble. We were using StarOffice 5.2. I had no special connection with the FOSS world (okay, I knew some Debian folks) but got interested in that seemingly unknown StarOffice product. Then, I visited the OpenOffice.org site, and I got hooked up, as I have been since. </p>


<p> <i>What are your roles in OpenOffice.org?  And, how do they work with your current job? </i></p>


<p> My job is to lead (whatever this could mean) the <a href="http://native-lang.openoffice.org/">Native-Lang Confederation</a> (NLC), together with yourself... My main job is to be the animator, the master of ceremony of the NLC. On a daily basis, and on the long term as well, I try to manage this rapidly-expanding part of our community. This implies an important part of intercultural management, and the will to extinguish fires, settling some conflicts, and preparing the NLC for the long term. I also try to work with the Sun marketing people and the OpenOffice.org marketing project. Until recently I was also leading the <a href="http://bizdev.openoffice.org/">Business Development Project</a>, a project that I helped found some time ago. But I eventually resigned as it was too much work, and because it would eventually conflict with my other activities. Being the lead of the NLC usually is not a problem for me because it is not supposed to overlap with my other jobs; it [my job] even creates nice opportunities for NL projects from time to time. But I try to remain very vigilant on that point, so as not to create conflicts of interest. </p>

<p><i> The Native Language Project, which you and I have been leading for the last couple of years (at least), has grown enormously; it is arguably one of the most important segments of the OpenOffice.org project.  As you see it, what is its mandate?  What do you see as its future?</i></p>

<p> The mandate of the NLC has changed over the years from a constellation of projects representing the non-English speaking members of OpenOffice.org to a confederation of communities expanding the market share of OpenOffice.org and enlarging the majority of the OpenOffice.org community. These projects now do a lot of work concerning marketing, localization, QA, Documentation, business development... It's pretty exciting to see how big we are now. </p>


<p><i> What problems do you envision with the NLC?  For instance, communication among the various projects and between the technical projects where core development is conducted and the NLC projects is sometimes difficult. How are the projects seeking to overcome those difficulties? </i></p>

<p> There are two underlying issues here: one is the language, and the other is the process. The language issue is simple to understand, yet, it cannot be overcome simply. Sometimes developers who are part of an NL project cannot really work and interact well with the others because they don't speak English well enough to communicate. We can't just tell them to go learn English; and obviously, we can't tell the core developers to learn another language. in the end, there doesn't seem to be a real solution besides side help and improvements in the tools we're using everyday (the localization of Issue Tracker, for instance) to this problem. Next, the process issue. This can be fixed in the long term and it's already started. The process issue comes from the fact that the technical projects are historically populated by Sun engineers in majority. This is not a problem, per se, but the truth is that more community developers should come and contribute there. Adding to the problem, the level of competence required to work in the core technical projects is rather high; hence, too few outside developers contribute to the core development of OpenOffice.org. But I'm confident this can be dealt with over time; the <a href="http://council.openoffice.org/esc/index.html">Engineering Steering Committee </a>and a better communication with the NLC will help and already helps. </p>

<p><i> There is also the problems of "walled gardens," a modification of the "balkanization" concern that dominated the first couple of years of the NLC.  A "walled garden" environment creates isolated projects that do not in the end see themselves as really part of the whole. Do you see this as a problem now in the NLC?</i> </p>

<p> Definitely yes. It is hard to deal with so many projects, and it's hard to overcome the walled garden effect. Fortunately, these gardens are actually not as walled as one may think; they're just lost, because I/we don't talk to them that often, and because they aren't willing to communicate a lot. A constant effort towards talking to them and educating them in order for them to communicate on their work seems to be the right solution. Recently, the com@native-lang.openoffice.org mailing list has been given the role of a marketing repository for the NLC. What this means is that any NL project can now post its news on a monthly basis. The results weren't miraculous, but they were very encouraging. </p>

<p><i> New projects are often being created for more and more of the world's languages--this is great!--but it raises the issue of how the new projects can get the help and support they need in order to develop. That is, the members may be lost.  What remedies are there? </i></p>

<p> A few months ago, you, the leads of the Localization project and I defined a new process for the integration of projects and teams who are only working on the localization and who don't have the resources needed to become Native-Lang projects. There is a need for clarity, a need for localization groups to have their own page in order to facilitate their work and their project's development. We introduced the Level I and Level II Native-Lang projects where the newcomers can quietly work at their own pace and still benefit from the NLC infrastructure. Talking about infrastructure, I am working on the setup of an intermediary infrastructure inside the NLC. The NL projects will belong to "NL Groups", based on some kind of linguistic and cultural criteria, and one to two reporters will be given the role of coordinating the development and the communication. This will allow not just a better cross-projects communication, it will allow to mutualize some localizations and specific developments. Such  groups already exist when you look at how the Arabic and the Hebrew projects have developed common tools specific to right-to-left languages. Recently, the Indic native languages group has been set up and seems to bring some good results. This may ease the processes and make the NLC a better place for every project. </p>


<p><i> Finally, about France, where you live.  France, and the French government in particular, has taken to OpenOffice.org.  Why do you suppose that is? And, do you have any insight into how OpenOffice.org can be made better for them? </i></p>

<p> The appeal of Free and Open Source Software in France, and at a governmental level, in particular, is the result of many coincidental elements. First, we should never forget how effective the French OpenOffice.org community is at lobbying and talking about OpenOffice.org. Second, the government is looking to rationalize its IT infrastructure while in the mean time become independent from any one IT vendor--even more so when this IT vendor is not French. There is also that current cost-reducing policy that applies to the entire French administration. Furthermore, I think that our government, regardless of any political party, has understood that by enabling this policy of furthering FOSS, it could also create jobs and wealth in France. I can't speak for the French government, but I think that it values visibility  strongly  , standards, and vendor-independence. As long as OpenOffice.org and FOSS stick to these criteria, we will be successful in France. </p>

</body>
</html>
