TinyTM - Open-Source Translation Memory
The Idea
An open-source translation memory, free for all!
TinyTM is open-source software and developed by an open-source community
and (currently) licensed under GPL V2.
Open for business, as well!
The translation sector is small and with few open-source players. So
we need commercial vendors to participate in this project as well. This
is what’s in for them:
- Integrate TinyTM with commercial applications:
We encourage commercial vendors to integrate TinyTM into their applications.
We will design the TinyTM infrastructure in order to make integration
as easy as possible and to avoid any "contamination" of closed-source
code with the GPL.
- Build commercial extensions
The open-source community usually isn’t very good at producing user-friendly
application GUIs. So we would encourage commercial vendors to build extensions
around the protocol.>
Objectives
Long-term objectives
- Provide translation agencies, freelance translators and other translation
organizations with free and standardized translation memory tools.
- Provide translation organizations with innovative translation workflow
applications
- Spread the use of TMs and workflows to new areas such as content management
and helpdesk applications
Many "mature" IT markets are today dominated by open-source product
including web browsers (Apache), application servers (JBoss), content management
(Typo3, Plone and Drupal), Databases (mySQL) etc.
We believe that the market for translation memories is ready for such a
development approach. Recent consolidation in this field further suggests
a community approach.
Who is behind TinyTM?
Who is behind TinyTM?
TinyTM has been initiated by Frank Bergmann from ]project-open[.
The project has been inspired by FOLT
and its TMOSS project (please see Frank's
paper on FOLT) and in particular by a conversations with Manuel Hanen
from Hexx during
Tekom Spring 2008 in Friedrichshafen, Germany.
Relationship with ]project-open[
Organizational relationship
It is correct that the founder of TinyTM is also the founder of ]project-open[.
However, TinyTM has been designed as a completely independent open-source
project. We expect that TinyTM will develop its own dynamics with its own
contributors and community structure. FOLT
or a similar organization would probably the best option to provide an organizational
framework for TinyTM. (Please contact Frank if you think that your
organization would provide a suitable framework).
We hope that the experience of the ]project-open[ team (~500 installations
in the translation sector) will provide TinyTM with the credibility that
it needs in order to attract industry support and a powerful community.
However, Frank will hand over TinyTM leadership to an elected body such
as FOLT as soon as this option becomes
viable.
Technical relationship
The TinyTM data model has been designed for easy integration with authoring,
content management and translation management applications. A first such
integration exists between TinyTM and ]project-open[ (]project-open[
TinyTM Integration).
However, it is important to see this integration as a starting point and
proof of concept, and not as an exclusive relationship. The TinyTM licensing
has been designed to encourage the integration even with closed-source applications,
so we expect more integrations to appear with time.
Basic Architecture
TinyTM Architecture
TinyTM consists of:
- A "Translation Client"
- A "TM-Server"
- A "Protocol" that connects the translation environment with
the TM-server
We envision a variety of Clients and Servers to emerge that will work
with each other via the Protocol.
A closed-source Client may work with an open-source Server, and vice versa.
We envision a independent body to certify interoperability and to grant
a "TinyTM compliant" certification.
Requirements
The following functional requirements guide the development of TinyTM:
- Basic TM Functionality
TinyTM should allow translators to store and retrieve
translated segments, according to industry best practices.
- Multiple Clients
TinyTM should include (or be integrated with) a number
of different translation clients. This is important because some translators
heavily rely on MS-Word as a translation environment, while MS-Word is
not open-source and not well suited to deal with XML and other types of
structured documents.
- Fuzzy-Matching
TinyTM should allow to find approximate matches and to
allow user to specify their individual penalties for a wide range of parameters.
- Easy Import and Export
TinyTM should support TMX and XLIFF for import and export.
- Open-Source
TinyTM should be available at no cost to all interested
parties. Parties should be able to freely modify TinyTM, create variants
and publish variants under different names.
- Scalability
TinyTM should be able to scale up to large organization’s
TM sized. This requirement conflicts with simplicity and quick implementation
requirements. Therefore TinyTM needs to provide a pluggable back-end architecture,
so that we can add fuzzy indices and other technologies in order to accelerate
retrieval performance.
- Easy to Understand
As an open-source project we want to encourage as many
people as possible to contribute. For this reason we should design the
system so that it is easy to understand and extend, even for casual programmers.
- Easy Integration
Allow for integration with other open-source and closed-source
system in order to tap into their user’s communities. In particular
we should encourage other TMs to support TinyTM as an (alternative) back
end and to allow applications such as authoring, content management and
project management to incorporate TinyTM as a component.
- Unicode Support
TinyTM should support Unicode (UTF-8).
- Internet Security
TinyTM should suited to run in a "hostile Internet
environment".