<html>
<head>
<title>Native Language Confederation</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="native-lang.css" />
</head>
<body>
<div id="MyContent">
<h1>Native Language Confederation</h1>
<p>&nbsp;</p>
<a href="https://openoffice.apache.org/native-lang.html">This page is obsolete. Please visit https://openoffice.apache.org/native-lang.html</a>
<p></p>

<div id="pk-right">
<h2>Contents</h2>
<ul>
  <li><a href="/planet">Our Planet </a></li>
  <li><a href="#about">About this document </a></li>
  <li><a href="#mission">Mission statement</a> </li>
  <li><a href="#notl10n">How do the NLC projects differ from the l10n project? </a> </li>
  <li><a href="#joining">Joining the NLC </a></li>
  <li><a href="#guidelines">Project Guidelines </a></li>
  <li><a href="#moving">Moving from Level I to Level II </a></li>
  <li><a href="#responsibilities">Responsibilities of Level II projects </a></li>
  <li><a href="#generalguidelines">General guidelines </a></li>
  <li><a href="#problems">Problems? Disputes? </a></li>
  <li><a href="#terminus">Project Terminus</a></li>
</ul>
<h2>Links</h2>
<ul>
  <li><a href="http://www.openoffice.org/about_us/protocols_proposing.html">How to start a new project </a></li>
  <li><a href="#obligatorylists">Obligatory Lists </a></li>
  <li><a href="http://wiki.services.openoffice.org/wiki/NLC:ReleaseChecklist">Release Checkist </a></li>
</ul>
</div>
<h2><a name="about"></a>About this document</h2>
<p>This document looks complicated but it is not. Forming a language project and joining the Native Language Confederation is a simple, three-step process. If you get lost or confused at any point, we are happy to guide you. Enjoy!</p>
<h2>Mission statement </h2>
<p>The Native-Language Confederation (NLC) is composed of those projects working on all aspects related to the localization and support of OpenOffice.org, including localization, QA, support, documentation, and marketing. Initially conceptualized and led by Guy Capra, its current mandate is to provide a community wherein those involved in furthering OpenOffice.org in all the world's languages can share resources and information. It is important to note that NLC projects are language not region based. It's equally important to note that we really enjoy what we are doing and think it really important.</p>
<p>The NLC represents one of the key political elements of the OpenOffice.org Project. Its voice is heard in the Community Council, via the elected members representing the NLC. All developers and other contributors who are members of the NLC are invited to participate in the development projects, and to help create OpenOffice.org. </p>
<h2><a name="notl10n"></a>How do the NLC projects differ from the l10n project? </h2>
<p>The NLC projects complement the <a href="http://l10n.openoffice.org/"> l10n project</a>; all actual localization development takes place within the l10n project. The l10n project is a coding project and discussions on the primary list, <a HREF="mailto:L10N@openoffice.apache.org">L10N@openoffice.apache.org</a>, are in English, as they are for all development projects. The NLC projects provide a &quot;home&quot; for developers and other contributors. Mature NLC projects (Level II) work closely not only with the l10n project but also with Marketing and QA, as well as other development projects.</p>
<h2><a name="joining"></a>Joining the NLC </h2>
<div>
  <p>Every new localization initiative is invited to form a specific localization project and join the NLC. There are two levels of NLC projects, I, and II. All NLC projects working on localizations (some may only be providing support), regardless of their level, are listed both on the <a href="http://l10n.openoffice.org/languages.html">l10n project languages page</a> and on the <a href="http://projects.openoffice.org/native-lang.html">NLC projects page</a>. The project's level is marked on this page.</p>
  <ul>
    <li>Level I: Localization only. Responsible for issuing and QA'ing, if possible, localized builds.</li>
    <li>Level II: Support, documentation, marketing, localization. Responsible for localized builds, QA, as well as related information and marketing. </li>
  </ul>
  <p><strong>To learn how to start a new NLC project, see the <a href="http://www.openoffice.org/about_us/protocols_proposing.html">Protocols for Project Proposal</a>. </strong></p>
</div>
<h2><a name="guidelines" id="guidelines"></a>Project Guidelines</h2>
<div>
  <ol>
    <li><strong>Project creation.</strong> We have to create the project for you. There are some considerations, such as the name.
      <ul>
        <li>Projects should be named by the two letters composing the ISO code for the language (not country). If there is no ISO code available, then a combination of two other letters should be made, provided that no conflict with an existing project name nor any other ISO code for language should exist. </li>
      </ul>
    </li>
    <ul>
      <li>In some cases the ISO code for a language is not known or familiar to the people speaking the language, to the point where such a code would hinder the ability of the new project to attract volunteers (i.e., lack of identification, knowledge and advertising of the project). Provided that no conflict with an existing project name nor any ISO code for language should exist, the new project can choose its own code. However this project cannot choose its code on a geographical basis only; that is the project cannot name itself only according to the country criteria. In case of dispute the NLC leads will name the project themselves. </li>
    </ul>
    <li><strong>Content</strong>. The <a href="http://www.openoffice.org/about_us/protocols_proposing.html">Protocols</a> give guidelines on content for all projects. But for Level II projects, and for those projects focused on support and documentation only, there are templates you are encouraged to use (and enhance). These are located in the Files and Documents section of the NLC homepage.
      <div>
        <ul>
          <li> We ask that you use CSS when possible. For guidelines and information on how the OpenOffice.org web infrastructure (SourceCast) works, please read the general Style Guide, <a href="http://www.openoffice.org/styles/">http://www.openoffice.org/styles/</a>. As well, don't hesitate to use the site help in on the left navbar after you log .</li>
        </ul>
      </div>
    </li>
  </ol>
</div>
<h2><a name="moving"></a>Moving from Level I to Level II</h2>
<p>Moving from Level I to II is a significant undertaking but it is worth it. Once a NLC project has deemed itself to be mature, the lead should send a note to <a HREF="mailto:dev@native-lang.openoffice.org">dev@native-lang.openoffice.org</a> indicating the desire and ability. The NLC lead and co-lead must approve of the move prior to its being formally included as a Level II project. Upon approval, the NLC project will be listed as offering a supported localization on the OpenOffice.org homepage, <a href="http://www.openoffice.org/">http://www.openoffice.org/</a>, and its new status will be reflected on the other relevant pages. </p>
<h2><a name="responsibilities"></a>Responsibilities of Level II projects</h2>
<div>
  <p>Level II projects are centers of community and activity.&nbsp; They offer support to users of OpenOffice.org, coordinate development, marketing, and help in the QA (testing and quality assurance) of the file.&nbsp; In this way, they ensure their community that the product fully meets their needs.&nbsp; The process for QA'ing OpenOffice.org is explained in the <a href="http://qa.openoffice.org/localized/">QA Project localization pages</a>.</p>
  <p>Marketing OpenOffice.org is a complex affair. Much of it is done locally.&nbsp; However, it is important to coordinate both with other members of the NLC as well as with the overall <a href="http://marketing.openoffice.org/">Marketing Project</a>, which hosts the MarCon list for global marketing notices. It is especially important to synchronize work around the time of new releases. To find out <em>when</em> a release is due, check with the <a href="mailto:releases@openoffice.org">releases@openoffice.org</a> list. For marketing, we also use <a href="mailto:com@native-lang.openoffice.org">com@native-lang.openoffice.org</a>.</p>
  <p><strong>Note</strong>: All Level II project leads (and co-leads) must be subscribed to <a href="mailto:dev@native-lang.openoffice.org">dev@native-lang.openoffice.org</a>. We hold general discussions on this list.</p>
</div>
<h2><a name="generalguidelines"></a>General Guidelines for NLC projects</h2>
<ul>
  <li>Level I project engaged in localization only are obligated to use the l10n development list, <a href="mailto:L10N@openoffice.apache.org">L10N@openoffice.apache.org</a>. They are also urged to use the l10n Issue Tracker. As needed, more components are made available. The point is to locate, as much as possible, all OpenOffice.org material on the OpenOffice.org website.</li>
  <li>On occasion, we understand that it is impossible for a NLC project to use the provided mail lists and other tools. In these cases, we ask that the project provide monthly (once a month) updates of activity and accomplishments, as well as links to the active project on the OpenOffice.org website.</li>
  <li>For those projects engaged in QA, they should follow the guidelines stipulated on the QA project related to localizations. These are listed here: <a HREF="http://qa.openoffice.org/localized/index.html">http://qa.openoffice.org/localized/index.html</a></li>
  <li>All Level II NLC projects should,<strong> at least once a month</strong>, post a brief status report on ongoing activities to <a href="mailto:L10N@openoffice.apache.org">dev@native-lang.openoffice.org</a>.</li>
</ul>
<h2><a name="terminus"></a>Project terminus </h2>
<p>Sometimes interest dies in a project. If a NLC project has been inactive&mdash;no localization, no significant mail list activity, no visible work&mdash;for six (6) months, the NLC lead, Louis Suarez-Potts, will begin the process of closing the project. We begin this process only after having endeavored to contact the lead(s) and try otherwise to revive the project. If nothing works, due warnings will be issued, and the project will be closed; but we will make every effort to preserve valuable material.</p>
<h2><a name="problems"></a>Problems? Disputes?</h2>
<div>
  <p>For any sort of problem encountered in setting up or managing the project, please contact the leads of NLC and the discussion list, dev@native-lang.openoffice.org. </p>
  <p>Disputes sometimes arise. The <a href="http://www.openoffice.org/dev_docs/guidelines.html">OpenOffice.org Guidelines</a> suggest how disputes related to management and leadership are to be resolved. Disputes should be settled first within the particular project.</p>
  <p> Most changes in leadership are peaceable. In cases of disputes, the project members should set up a vote (the +1 /-1 process is recommended but not required). If a qualified majority of the registered members of the native-lang project agree on their lead's dismissal, the project's lead will have lost his or her position.</p>
  <p> <strong>Note</strong>: As with any project on OpenOffice.org, all NLC project members are entitled to bring grievances before the Community Council. To do so, they should submit the grievance as an agenda item to the <a href="http://wiki.services.openoffice.org/wiki/The_OpenOffice.org_Community_Council_Agenda">wiki</a>.</p>
</div>
<h2><a name="obligatorylists"></a>Obligatory Mail List</h2>
<ul>
  <li>We use <a href="mailto:L10N@openoffice.apache.org">L10N@openoffice.apache.org</a> for all discussions.</li>
</ul>
<hr />
<p>&nbsp;</p>
<hr />
<p>&nbsp;</p>
</div></body>
</html>
