a humildade é o primeiro degrau para a sabedoria (Tomás de Aquino)

Softwares Livres Brasileiros

Eu dedico esta página a abrigar uma lista de ferramentas livres desenvolvidas por brasileiros e em plena atividade, para mostrar que não somos só carnaval como dizem por aí. Algumas são utilizadas no mundo todo e todas elas têm um papel importante no incentivo ao desenvolvimento livre. As pessoas envolvidas nos projetos listados aqui dedicaram tempo, saúde e possivelmente dinheiro por um ideal: escolheram que você pode (e deve) ver e aprender com o código deles. Então, merecem ou não um prêmio?

Seu software não está aqui? Envie um e-mail para nandu88øgmail·com

...

Administração e servidores

EMEXIS-Webmail - BRconnection
Webmail moderno com interface amigável, que lembra uma aplicação desktop (das mais bonitas) em AJAX. O EMEXIS-Webmail tem todos os recursos que uma aplicação de webmail precisa ter, além de extras como teclado virtual e drag'n drop.

Expresso Livre - CELEPAR, Dataprev, SERPRO, Prodeb e Prognus
Solução para comuniação unificada, baseada na ferramenta alemã E-GropupWare, que conta com e-mail, agenda, fluxo de processos, catálogo de endereços, mensageria instantânea, dentre outros.

htop - Hisham Muhammad
Visualizador interativos de processos para o Linux, criado por um gaúcho que, apesar do nome, é brasileiro. O htop é largamente utilizado por sysadmins Linux e é melhor que o top. :)

KyaPanel - por Anahuac de Paula Gil
Sistema web de gerenciamento de servidores de e-mail, LDAP e Samba. Tem seu núcleo em bash, interface em php e pode utilizar como base de dados LDAP, MySQL ou PostgreSQL. Com este último, integra-se também ao Egroupware. A instalação e o uso são muito fáceis, mas o poder é imenso.

Nimbus Open Source Backup - por Pablo Fernandes
Solução completa de backup integrado ao Bacula. Oferece criptografia, checagem de integridade, recuperação automatizada, alertas e muito mais. A instalação é fácil e há muita documentação na wiki.

SARG - por Pedro Lineu Orso
O Squid Analysis Report Generator é um gerador de relatórios mais usado para o webproxy mais usado no mundo do software livre, o Squid. Com ele é possível gerar inúmeros relatórios e gráficos de acesso baseado nos logs do Squid e suporta também logs do ISA Server e até do Novel Border Manager.

...

Desenvolvimento

Demoiselle - SERPRO
Framework para desenvolvimento de aplicações Java, escrito em Java EE 6 com foco em agilidade e testes. O Demoiselle conta com uma grande comunidade de desenvolvimento, incluindo órgãos públicos e empresas privadas, que são responsáveis pelo excelente trabalho feito ao longo dos 6 anos de idade do projeto.

Fluidity - por Rodrigo Manhães
Implementa máquinas de estados para objetos Python, com suporte a transições, estados de entrada e saída e guardas. As máquinas são definidas através de templates de fácil compreensão e que podem ser reutilizadas. Foi desenvolvido no IFF (Instituto Federal Fluminense), que por sinal, tem uma lista de softwares livres desenvolvidos por alunos aqui com muitos projetos interessantes. Parabéns!

funcoeszz - por Aurélio Marinho Jargas e Thobias Salazar Trevisan
Conjunto de funções *muito* úteis, feitas em bash, para uso terminal. O projeto já completou 10 anos e já salvou o pescoço de muita gente no shell. Existe função pra tudo: converter e calcular datas, validar CPF/CNPJ, ver a cotação da bolsa, buscar sessões de cinema, buscar o significado de palavras, exibir texto colorido... São mais de 100! Como se não bastasse, ainda tem um wrapper para Python.

Lua - por Roberto Ierusalimschy, Waldemar Celes e Luiz Henrique de Figueiredo
Segundo o índice TIOBE, a linguagem de programação Lua está entre as 15 mais populares do mundo, além de ser a que mais ganha espaço. É também a linguagem interpretada mais utilizada no desenvolvimento de jogos e tem grande importância em multimídia em geral. Foi desenvolvida na PUC-Rio. Quem disse que só de praia vive o carioca?

OrionSocket - por Tiago Natel de Moura aka "i4k"
Biblioteca para criação de clientes HTTP em C. É simples de usar e conta com exemplos no site. Além da OrionSocket, o grupo BugSec, que também desenvolveu o BlueRed (citado abaixo), tem outros softwares e códigos impressionantes. Tudo nosso. :)

PyUSB - por Wander Lairson Costa
Biblioteca para facilitar o controle do barramento USB, escrita em Python, com suporte inclusive ao Python 3. Pode usar a libusb ou a OpenUSB para fazer o trabalho e fornece uma API de fácil uso para comunicação com dispositvos.

shortim - por Arthur Furlan
Engine genérica para geração de links encurtados, que é o motor do encurtador de URLs va.mu. Dentre os diferenciais deste encurtador, o mais legal é que ele obtém URLs canônicas.

splinter - pelo grupo Cobra Team
Este time de vencedores desenvolveu um framework de testes para aplicações web em Python muito eficiente, o splinter. Com ele você cria scripts em Python para automatizar ações em websites e interagir com os elementos da página. Está muito bem documentado e é somente um dos vários projetos do grupo.

tio - por Rodrigo Strauss
Servidor de estruturas de dados escrito em C++, multiplataforma, com API's para C, C++ e Python. Enquanto um SGBD serve tabelas, o tio serve listas, mapas, vetores e outras estruturas, mas a diferença entre outros servidores de containers é o foco em publish/subscribe.

...

Gráficos

F2IBuilder - por David de Almeida Ferreira
Ferramenta multiplataforma para geração de imagens contendo os caracteres des fontes, escrita em Java. É possível salvar a imagem em BMP ou PNG com vários recursos como anti-aliasing e texturas. David também é o desenvolvedor do KeyLEDs e do AutUBLaVe.

SIP - por Ricardo Fabbri
O Scilab Image Processing toolbox é uma poderosa ferramenta para processamento de imagens, com suporte a vários formatos, para a uso com a ferramenta matemática Scilab. Além do SIP, o Labmacabira, grupo de desenvolvimento do qual Ricardo participa, conta com uma lista de softwares pra lá de invejáveis, usados no mundo inteiro.

...

Saúde

InVesalius - por CTI
Software para reconstrução tridimensional de estruturas anatômicas, escrito em Python. Baseado em um conjunto de imagens bidimensionais, obtidas através de equipamentos de Tomografia Computadorizada ou Ressonância magnética, o programa permite que sejam gerados modelos tridimensionais da regiões de interesse do corpo humano.

...

SO e ferramentas

Plasma NM - por Lamarque Souza
Belo widget (plasmoid) do NetworkManager escrito em C++/Qt, que é mantido pela comunidade do KDE pois já está incorporado ao projeto. Vale conferir o blog do Lamarque e ver o vídeo da última versão. Se você usa o KDE, provavelmente está usando o Plasma NM.

Synaptic - por Alfredo Kojima
Gerenciador gráfico de pacotes para o apt. Escrito em C (GTK+), o Synaptic é hoje padrão em praticamente todas as distribuições baseadas em Debian, além do próprio, claro. Oferce uma interface amigável para instalação de pacotes, incrivelmente útil. Kojima também é autor do Window Maker, gerenciador de janelas que reuniu muitos fãs.

...

Segurança

BlueRed - por Victor N. Ramos Mello aka "m0nad"
Fuzzer para aplicações web escrito em Perl, que detecta brechas de segurança como LFI (Local File Inclusion), RFI (Remote File Inclusion), XSS (cross-site scripting), SQL injections, eval injections e execução arbitrária de comandos. Com direito a interface gráfica e de texto, seu uso é muito simples e os resultados podem ser muito surpreendentes. Experimente rodá-la contra a sua aplicação web. :)

Dexterity - por Rodrigo Chiossi Biblioteca escrita em C para ler e escrever em estruturas DEX (de arquivos .dex, que ficam dentro dos arquivos .apk, que é o tipo de pacote pelos quais os programas de Android são distribuídos). A Dexterity tem inclusive suporte à escrita em arquivos .dex. Licensiada sob a BSD-3.

DNS-Discovery - por Victor N. Ramos Mello aka "m0nad" Ferramenta escrita em C, útil para estágios iniciais de pentest e outros, que serve para descobrir subdomínios de um domínio por força bruta. O DNS-Discovery usa uma wordlist (lista de palavras) já inclusa no pacote, mas também pode trabalhar com uma wordlist do usuário. Graças ao código otimizado e ao uso de threads, em 5 minutos foi possível descobrir mais de 10 subdomínios de um grande domínio nacional em meus testes.

FDTK - por Paulo Neukamp
O nome vem de Forense Digital ToolKit e trata-se de uma distribuição baseada no Ubuntu com mais de 100 ferramentas para todas as etapas de uma investigação em forense computacional, que roda em LiveCD mas também pode ser instalada na máquina.

HardeningOne - por Mauro Risonho de Paula Assumpção aka firebits Script em shell (bash) para checagens de segurança (hardening) de servidores baseados em Unix. Faz uma enumeração geral e atribui uma nota de corte interessante à segurança do seu sistema. O autor já planeja várias implementações como testes de integridade e uso de templates nas próximas versões. GPLv3.

HLBR - por Eriberto Mota Filho
Sistema detector de intrusão (IPS) motorizado em C que age na camada 2 - rede - do modelo OSI, ou seja, não utiliza endereço IP. Essa característica o torna praticamente invivísel a atacantes que tentarem reconhecer ou burlar a proteção da ferramenta. Mas não é só isso: ele é multithreaded e suporta expressões regulares baseadas na sintaxe Perl para a criação das regras. Tenso!

hntool - por Hugo Doria
Ferramenta para hardening (fortalecimento de segurança) em servidores GNU/Linux, escrita em Python, com suporte a várias distribuições, incluindo Debian, Slackware, Ubuntu e CentOS. O hntoll busca por brechas de segurança em arquivos de configuração de serviços e do sistema. É rápido e perfeito para uma fase de pós-configuração.

ModSecurity - por Breno Silva
WAF (Web Application Firewall) feito em C com log de tráfego, detecção de ataques, monitoração em tempo real e muito mais. É muito usado em conjunto com o Apache (mod_security) mas tem ports pra Java, .NET e até SunOS. Além disso, está em desenvolvimento uma versão para uso com o Nginx.

MUFFIN - por Tony Rodrigues
Uma caixa de ferramentas muito bem planejada de aplicativos para resposta a incidentes, na área da forense computacional. O líder do projeto escolheu o Object Pascal como linguagem, em prol do uso do MUFFIN em plataformas Windows e GNU/Linux, com Lazarus. A receita é de causar indigestões aos malware!

Od1n - por Antonio Costa a.k.a "C00ler"
Escrita em C, o Od1n é uma ferramenta para automação de ataques otimizados em aplicações web, muito diferente das demais e com um código que dá gosto de usar. :)

OSSEC - por Daniel B. Cid
Sistema de proteção de intrusão (IPS) baseado em host que monitora, analisa logs, checa integriadade dos arquivos do sistema, detecta rootkits, entre vários outros recursos. Com o OSSEC dá pra se sentir um pouquinho mais informado em relação ao seu servidor, seja este GNU/Linux, Windows, OSX ou Unix.

Phosfosol - por "OctaneLabs"
é um projeto de Anti Anti Forense de Memória. Seu objetivo é atuar em um dump de memória atacado pela técnica conhecida por Abort Factor, tornando novamente possível sua análise.

sqlmap - por Bernardo Damele
A ferramenta que automatiza testes de invasão em bases de dados SQL para detectar se sites e sistemas estão vulneráveis, com suporte a praticamente todos os SGBD's baseados em SQL atuais. O brasileiro Bernardo, que mora na Itália, mandou muito bem!

T50 - por Nelson Brito
Injetor de pacotes multiprotocolo de alto desempenho, com suporte a 14 protocolos, marcamento de IP e flood. O T50 é uma ferramenta impressionante no que diz respeito ao stress de redes ethernet. Chega a consumir metade da capacitade de uma placa de rede gigabit! Ideal para simular um ataque DoS e testar proteções.

uniscan - por Douglas Poerschke Rocha Scanner de vulnerabilidades web feito em Perl com suporte a multithreading, SSL, proxy e um web crawler de fazer inveja. É GPLv3!

...

Sem sombra de dúvida, esta lista não está completa. Existem muitos outros códigos livres brasileiros espalhados pela internet, além de sistemas de informação (cadastro de clientes, gerência de estabelecimentos etc) completos, que não citei aqui, já que foquei em ferramentas. Vai dizer que não deu pra sentir orgulho (ou sentiu orgulho sem dar)? O importante é que você pode fazer parte desse time. Só depende de você. Então, por que não começar a colaborar hoje? \o/

Há ainda uma outra lista na wiki da comunidade brasileira de C e C++, de softwares livres criados nestas linguagens. Alguns deles já foram citados aqui, mas vale muito a pena conferir!