A história do OTRS

Mascote do LinuxPro transformando envelopes em tickets numa central de atendimento, placa 3D do OTRS na parede

OTRS nasceu Open Ticket Request System. Depois virou Open Technology Real Services, depois só as quatro letras. O que não mudou em vinte e cinco anos é o miolo: Perl, fila, e-mail virando ticket. Em 2026 o nome comercial pertence à EasyVista; o código livre vive nos forks. Abaixo a linha, sem o folclore do “ITIL alemão de graça”.

STTS, SUSE, a 0.5

No fim dos anos 90 a SUSE tinha um ticketsystem interno chamado STTS. Funcionava. O source era da empresa. Martin Edenhofer entrou nesse time — depois passou pela Lufthansa, que viria a ser um dos primeiros clientes grandes do que ele ia escrever. Em setembro de 2001, numa WG alemã, o papo de “o que a gente faria se o STTS fosse livre” virou projeto. O nome OTRS, segundo quem estava na sala, existiu sobretudo porque o domínio de quatro letras ainda estava livre. GPL, sem discussão.

A primeira versão pública é a 0.5, 9 de abril de 2002: o núcleo roda. A 1.0, 14 de fevereiro de 2003, depois de dois anos de Perl, é a estável. CGI, MySQL, fila. Ticket ganha número; artigo é o e-mail, o telefonema, a nota. Quem já usou /opt/otrs reconhece o cheiro.

GmbH, o Perl do Kernel::

Em 2003 Edenhofer, André Mindermann e Burchard Steinbild (cofundador da SUSE) abrem a OTRS GmbH. O BSI — o escritório federal alemão de segurança da informação — entra como cliente; dali sai o SIRIOS, o CERT em cima do framework. O código continua Perl. Não era um “web app com um pouco de Perl”: era Perl do chão ao teto.

A árvore que o admin ainda encontra no Znuny é a mesma ideia de 2003:

# /opt/otrs/Kernel/System/Ticket.pm
package Kernel::System::Ticket;
use strict;
use warnings;

sub TicketCreate {
    my ( $Self, %Param ) = @_;
    # Queue, Customer, Priority, State — o ticket nasce aqui
}

Kernel::System::* é o miolo. Kernel::Modules::* é a tela do agente. Kernel::Output::HTML renderiza. O front começou em HTML puro; JavaScript veio depois, desligável. A partir da 4 o motor de template é o Template Toolkit (.tt). Banco: MySQL no dia um, depois PostgreSQL, Oracle, Db2, MSSQL — a 4 enxugou para MySQL/MariaDB, PostgreSQL e Oracle. Na frente, Apache com mod_perl. O e-mail entra pelo PostMaster (Postfix, Sendmail, procmail). O GenericAgent.pl fecha spam na fila às três da manhã. Pacote extra instala pelo Package Manager, formato OPM — o CPAN do helpdesk. Quem quiser várias versões de PHP no mesmo host não se aplica aqui: o runtime é Perl 5.

Do 2.0 ao 6: ITSM, AGPL, a bolsa

A 2.0 (1º ago 2005) traz PGP, S/MIME, 19 línguas e o web-depot de pacotes. A 2.2 (2 jul 2007) mete Service e SLA; no mesmo ano sai o OTRS::ITSM 1.0, o primeiro ITSM ITIL em open source com suporte comercial. A GmbH vira OTRS AG. Em 23 de dezembro de 2009 a ação estreia no Entry Standard de Frankfurt. A 2.4 (22 jul 2009) troca a licença para AGPL-3.

A 3.0 (15 nov 2010) redesenha a interface. A Wikimedia Foundation usa o OTRS como Volunteer Response Team — o “OTRS da Wikipedia” que o editor conhece. A 4 (2014) mata o zero à esquerda, Object Manager, flat design. A 5 (2015) é responsiva, ganha o Daemon, e o Windows deixa de ser plataforma. Em 2015 a AG lança a OTRS Business Solution (módulos pagos em cima do core livre) e conta 150 mil instalações. A 6 (21 de novembro de 2017) é a última major da Community Edition: 38 línguas, timezone de verdade. O patch final da AG nessa linha é a 6.0.30, 25 de setembro de 2020.

Edenhofer sai da AG no fim de 2011. Em 2012/2013 funda a Znuny GmbH em Berlim — consultoria em cima do produto que ele tinha inventado. Em 2016, outro ticket, outro stack: o Zammad, em Ruby on Rails. O Perl ficou no OTRS.

Community Edition, o Natal de 2020

Em abril de 2018 a AG anuncia a virada: o que era OTRS + Business Solution vira ((OTRS)) Community Edition (o livre) e OTRS (o pago). Função nova sai primeiro para quem paga; a CE receberia o atraso de uns dois anos, depois só segurança. A 7 (18 nov 2018) já é essa linha: SPA, Vue.js no portal do cliente. A 8 (27 mar 2020) leva o SPA também ao agente. O Perl continua no backend; o browser passou a falar REST.

En 23 de dezembro de 2020 o feed da AG avisa: Community Edition, inclusive correção de segurança, acaba em 1º de janeiro de 2021. Oito dias, no meio do Natal, sem CE 7. Em 24 de fevereiro de 2021 a empresa confirma: a CE fica suspensa. O recado técnico no release notes da 6 era “usar isso é risco alto”. A Wikimedia migra o Volunteer Response Team para o fork em abril de 2021 e troca o nome: de OTRS para VRT.

Diagrama: o projeto original fecha e o código livre segue em três forks, com o e-mail continuando a virar chamado

Znuny, OTOBO, KIX: o fork

O código era GPL/AGPL. O nome OTRS, não. Quem manteve o Perl livre teve de trocar a placa.

  • KIX (c.a.p.e. IT, Chemnitz) — o primeiro fork grande, 2015/2016, em cima da 5 + do pacote KIX4OTRS. Hoje é híbrido: Light no GitHub, o resto comercial, stack em boa parte reescrito.
  • OTOBO (Rother OSS) — 2020, em cima da 6. Docker de fábrica, Elasticsearch, portal novo. Em 2026 a linha estável é a 11.0 (11.0.17 em julho); a 10.0 encerrou em 1º jan 2026. Continua Perl — o container oficial já testou 5.42.
  • Znuny — janeiro de 2021, a empresa do próprio Edenhofer. Fork bit-a-bit da 6.0.30, LTS compatível para quem não queria reescrever pacote. Depois veio a linha de feature (Znuny 7). Em 19 de agosto de 2026 o estável é o 7.3.6 e o LTS o 6.5.24. SAML nativo, perfil de e-mail de saída, GPL-3. O git é github.com/znuny/Znuny.

Em março de 2021 um bando de integradores fecha a OTTER Alliance em volta do Znuny LTS. OPAR (opar.perl-services.de), o repositório de pacotes da comunidade Perl, sobreviveu à AG. Em dezembro de 2024 a francesa EasyVista compra mais de 90% da OTRS AG (Oberursel) e, em 2025, redesenha o logo comercial. O produto pago segue; o Perl livre não volta para aquela casa.

O que o OTRS é — e o que não é

Fila, agente, cliente, artigo, SLA, processo, FAQ, CMDB se você instalar o ITSM. É o helpdesk que come e-mail. O GLPI inventaria o notebook e fecha o chamado de patrimônio; o OTRS/Znuny fecha o chamado que chegou no Postfix. O Zabbix mede ICMP; o Nagios pageia. Nenhum dos dois substitui a fila.

O outro ticketsystem famoso em Perl é o Request Tracker (Best Practical, Jesse Vincent). O OTRS ganhou o mercado europeu de service desk; o RT ficou no mundo Unix-admin. Os dois falam DBI. Só um virou AG na bolsa.

Quem ainda tem ((OTRS)) Community Edition 6 na cara: isso é 6.0.30 sem patch desde janeiro de 2021. O pulo compatível é Znuny LTS. Quem quer stack novo no mesmo DNA, OTOBO. Quem quer o produto da AG, paga EasyVista. Os três não se misturam no mesmo Kernel/Config.pm.

Rodando hoje, no seu Linux

A pergunta prática de quem chega neste post é uma só: eu quero uma fila de chamados por e-mail na minha empresa — o que instalo em 2026? Três respostas honestas, nesta ordem.

Znuny é o caminho de quem já tem OTRS 6 rodando. É o fork bit-a-bit da 6.0.30 feito pelo criador original, então a migração é a mais suave que existe: mesmo Kernel/Config.pm, mesmos pacotes OPM, mesmo /opt/otrs.

# Debian/Ubuntu — dependências do Perl e do banco
sudo apt update
sudo apt install -y apache2 libapache2-mod-perl2 mariadb-server   libdbd-mysql-perl libtimedate-perl libnet-dns-perl libnet-ldap-perl   libio-socket-ssl-perl libpdf-api2-perl libsoap-lite-perl libtext-csv-xs-perl   libjson-xs-perl libapache-dbi-perl libxml-libxml-perl libxml-libxslt-perl   libyaml-libyaml-perl libarchive-zip-perl libcrypt-eksblowfish-perl   libencode-hanextra-perl libmail-imapclient-perl libtemplate-perl   libdatetime-perl

# baixa e instala
cd /opt
sudo curl -fLO https://download.znuny.org/releases/znuny-latest-7.3.tar.gz
sudo tar xzf znuny-latest-7.3.tar.gz
sudo mv znuny-7.3.* otrs

# usuário do serviço e permissões
sudo useradd -r -d /opt/otrs -c 'Znuny user' otrs
sudo usermod -aG www-data otrs
sudo /opt/otrs/bin/otrs.SetPermissions.pl

Depois é ligar o Apache ao mod_perl e abrir o installer.pl no navegador:

sudo ln -s /opt/otrs/scripts/apache2-httpd.include.conf /etc/apache2/sites-enabled/zzz_otrs.conf
sudo a2enmod perl deflate filter headers
sudo systemctl restart apache2
# http://SEU-SERVIDOR/otrs/installer.pl

E não esqueça do daemon e do cron — sem eles o sistema parece funcionar, mas escalonamento, notificação e leitura de e-mail simplesmente não acontecem:

sudo -u otrs /opt/otrs/bin/Cron.sh start
sudo -u otrs /opt/otrs/bin/otrs.Daemon.pl start

OTOBO é o caminho de quem começa do zero e quer stack moderno. A instalação de referência é em contêiner, o que resolve a briga com as dezenas de módulos Perl:

git clone https://github.com/RotherOSS/otobo-docker.git
cd otobo-docker
cp .docker_compose_env_http .env
docker compose up -d
# http://SEU-SERVIDOR/otobo/installer.pl

Zammad é a terceira opção — o outro sistema do mesmo Edenhofer, em Ruby on Rails em vez de Perl. Interface bem mais moderna, sem a herança de vinte anos. Se você não tem nada legado para preservar, vale colocar na comparação.

E o aviso que fecha a seção: se você ainda roda ((OTRS)) Community Edition 6, está numa base sem correção de segurança desde janeiro de 2021. Isso é cinco anos de CVE não aplicado num sistema que, por definição, recebe e-mail de estranhos e fica exposto na internet. Migrar não é melhoria — é urgência.

Linha do tempo

  • Fim dos anos 1990 — a SUSE roda o STTS, ticketsystem interno e fechado; Martin Edenhofer está no time.
  • Setembro de 2001 — numa república alemã, nasce a ideia do OTRS; o nome vem do domínio de quatro letras que estava livre.
  • 9 de abril de 2002 — a 0.5, primeira versão pública.
  • 14 de fevereiro de 2003 — a 1.0 estável: CGI, MySQL, fila.
  • 2003 — Edenhofer, Mindermann e Steinbild fundam a OTRS GmbH; o BSI alemão vira cliente.
  • 1º de agosto de 2005 — a 2.0 traz PGP, S/MIME e 19 idiomas.
  • 2 de julho de 2007 — a 2.2 traz Service e SLA; no mesmo ano sai o OTRS::ITSM 1.0.
  • 22 de julho de 2009 — a 2.4 muda a licença para AGPL-3.
  • 23 de dezembro de 2009 — a OTRS AG estreia no Entry Standard da bolsa de Frankfurt.
  • 15 de novembro de 2010 — a 3.0 redesenha a interface.
  • Fim de 2011 — Edenhofer deixa a AG; em 2012/2013 funda a Znuny GmbH.
  • 2014 — a 4 traz o Object Manager e o Template Toolkit.
  • 2015 — a 5 é responsiva e ganha o Daemon; nasce a OTRS Business Solution; surge o fork KIX.
  • 2016 — Edenhofer lança o Zammad, em Ruby on Rails.
  • 21 de novembro de 2017 — a 6, última major da Community Edition.
  • Abril de 2018 — a AG separa ((OTRS)) Community Edition do OTRS pago.
  • 27 de março de 2020 — a 8 leva o SPA também ao agente.
  • 25 de setembro de 2020 — a 6.0.30, último patch da linha livre.
  • 23 de dezembro de 2020 — a AG anuncia o fim da Community Edition para 1º de janeiro. Oito dias de aviso, no meio do Natal.
  • Janeiro de 2021 — nasce o Znuny, fork bit-a-bit da 6.0.30; o OTOBO já vinha de 2020.
  • Março de 2021 — integradores fecham a OTTER Alliance em torno do Znuny LTS.
  • Abril de 2021 — a Wikimedia migra para o fork e renomeia o serviço para VRT.
  • Dezembro de 2024 — a francesa EasyVista compra mais de 90% da OTRS AG.
  • 2026 — Znuny 7.3.6 e LTS 6.5.24; OTOBO na linha 11.0. O Perl livre segue nos forks.

O que ficou

Um STTS que não podia ser publicado, um domínio de quatro letras, um package Kernel::System::Ticket. A 0.5 cabia num sótão em Oberursel; a 8 da AG é SPA; o 7.3 do Znuny ainda é Perl, ainda é /opt/otrs, ainda é o PostMaster comendo a caixa. O git livre: github.com/znuny/Znuny. Quem atualiza: leia o scripts/Migration — o hábito do SQL de versão para versão veio no mesmo embrulho de 2002.

Linux-Magazin (STTS): Anfänge deutscher Trouble-Ticketsysteme · linha do tempo da AG: corporate.otrs.com/history · virada 2018: Open Source Strategy Changes · Natal 2020: Attention! Security risk with OTRS 6 · por que o fork: Znuny — Why we forked · heise (jan 2021): Znuny: Neues Leben für die CE · Wikipedia: de.wikipedia.org/wiki/OTRS · Znuny 7.3.6: download.znuny.org · EasyVista: aquisição dez 2024.