book home page

      Translations of
      Producing Open Source Software

People have already translated Producing Open Source Software into other languages, and further translations are currently in progress. If you'd like to start a translation, help one make progress, or improve a completed one, please let us know. We'll give you commit access to the book's repository and put you on a mailing list with other translators. Our goal is to make it as easy as possible for you to translate. We can host the results here when they're ready, but are also happy to link out to other sites if the translators for that language prefer some other location as the main site for the translation.

Translator guidelines:

These guidelines assume you're familiar with using the Subversion version control system. If you're not, don't worry: we'll find a way to make it easy for you to work on the translation, either by teaching you some Subversion, or by arranging things so that you don't have to use Subversion.

First, get a username and password for repository access by asking here. Then check out a working copy of the relevant translation directory, named after the two-letter standard language code. In this example, it's zh for Chinese:

   $ svn checkout
   $ cd zh

The chapters are named ch00.xml, ch01.xml, etc (and there are a few other XML files, for the table of contents and the appendices). Just edit each file, replacing English text with the target language. (If your software asks you what format to save in, choose "UTF8" or "UTF-8".)

Once you've done enough work and you're ready to save, commit the changes to the repository:

   $ svn commit -m "Translated some more of Chapter 2." ch02.xml

At any time, you can "update" to bring down the changes other people may have made:

   $ svn update

You can use the ViewVC tool here just to check if your work is there or to see the modifications list and differences between them.

Here are more detailed instructions, for translators who don't have prior Subversion experience. (These are taken from an email I posted to the translators mailing list, and were written for a translator working under Microsoft Windows. The full archives of that list are here. -Karl Fogel).

   Subversion (, also called "SVN") is a
   version control system, which is used to keep track of all changes to
   the book.  The "master copy" of the book is stored, as XML files, in a
   central repository here:

   You can browse the repository with your web browser; Subversion also
   knows how to request a copy of the book from that location.  In
   SVN-speak, we say "check out" for "request a copy".  It's like
   checking out a book from the library.  To check out, you first install
   Subversion software (the Subversion "client") on your own computer,
   and have that client request a copy of the book from the repository.
   The client you should use is TortoiseSVN (I'm assuming you're on a
   Windows machine).  TortoiseSVN is at
   It self-installs like other Windows software.
   (Using TortoiseSVN is pretty easy -- you can press F1 at any time, also
   there are manuals in various languages at
   I've only read the English, but I highly recommend it, see, especially
   for a basic introduction to SVN.)
   Fortunately, you don't need to read all those manuals right now.  I'll
   just tell you how to get started :-).
   After installing TortoiseSVN, use Windows Explorer to choose a folder
   where you want to put your copy of the book (this will be called your
   "working copy").  Right click to pop up the context menu, and select
      TortoiseSVN --> Checkout
   This will bring up a dialog box, asking you for a URL and a checkout
   directory.  For the URL, use

   and for the checkout folder, pick any name you want (TortoiseSVN will
   create this folder on your local disk).  I recommend
   or something like that.
   Note that you'll only do this checkout process once.  After that,
   you'll be using:
      TortoiseSVN --> Update
   whenever you want to pull changes from the repository into your
   working copy.  (This is to stay up-to-date with what the other
   translators are doing, especially in your language.)
   The initial checkout may take a while, because it gets both the
   English and all the translation folders.  (Technically, there are ways
   to limit it to just your language folder, but I'm assuming you have a
   reasonable amount of disk space and prefer to keep things simple, so
   let's just check out the entire book tree.)
   Let's say you have checked out into the folder "ProducingOSS".  Inside
   that folder you'll see things like this:

      ... etc ...
      ... etc ...
      ... etc ...
      ... etc ...
   etc, etc.
   The only files you need to worry about are the ones in your language
   folder ("es").  Most of the files in "es" will still be in English --
   they are direct copies of the English files, and they need to be
   So just edit one in your favorite text editor, translating as much as
   you want.  When you're done with a session, it's time to send your
   changes back to the repository -- that is, to "commit" your changes.
   Committing stores your changes permanently, and makes them available
   to all the other translators.  Committing also causes an email to be
   sent to this mailing list, showing everyone what you translated; this
   makes it easier for people to review each others' work and get a sense
   of general progress.
   In TortoiseSVN, you commit by right-clicking and choosing
      TortoiseSVN --> Commit
   It will ask you for a message (known as a "log message"), a short note
   that explains what you changed.  You can just say "Translated 9 more
   paragraphs" or whatever.  Your log message can be in the language
   you're translating to, or in English, that's the choice of you and
   your language team.
   Periodically, you should also do
      TortoiseSVN --> Update
   to pull changes from the repository into your working copy.  I
   recommend doing this right before you sit down to do some translation,
   that's often enough.

Back to the Producing Open Source Software home page.