

<!--#include virtual="/doctype.html" -->
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    
    <link href="/css/ooo.css" rel="stylesheet" type="text/css">
    
<title>Interview: Charles Schulz</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

    
    <script src="https://www.apachecon.com/event-images/snippet.js"></script>
  </head>
  <body>
    <!--#include virtual="/brand.html" -->
    <div id="topbara">
      <!--#include virtual="/topnav.html" -->
      <div id="breadcrumbsa"><a href="/">home</a>&nbsp;&raquo;&nbsp;<a href="/editorial/">editorial</a></div>
    </div>
    <div id="clear"></div>
      
      
    <div id="content">
      
      
<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>


      
    </div>
    <!--#include virtual="/footer.html" -->
  </body>
</html>
