A Caelum utiliza softwares e bibliotecas open source e valoriza a participação nessa comunidade. Nossos desenvolvedores participam não somente dos projetos open source da Caelum, mas também têm seus próprios e colaboram em outros projetos nacionais e internacionais.
Seja fazendo patches ou idealizando e construindo-os para suprir nossas próprias necessidades, esses são os projetos opensource dos quais participamos e uma breve descrição de cada um deles, assim como o site do projeto - onde você pode conseguir mais informações.
Saiba mais também sobre a Iniciativa Open Source Caelum que dá descontos em todos os cursos para alunos participantes de projetos open source.
VRaptor
Framework controlador MVC nacional, baseado fortemente em inversão de controle, injeção de dependências e, em especial, convenções sobre configurações. Bem simples de usar, é uma opção para quem está cansado dos inúmeros XMLs. É utilizado em diversas empresas e projetos opensource, no Brasil e no exterior.
GUJ
O Grupo de Usuários Java, fundado em 2001 e hoje com mais de 50.000 usuários, é controlado por uma aplicação em Java para a web que utiliza VRaptor e Hibernate. Uma terceira versão em Ruby on Rails está em etapa final de desenvolvimento e substituirá a atual em breve.
Restfulie
O Restfulie é um framework para facilitar a implementação de serviços RESTful tanto no servidor quanto no cliente. Com clientes em Java, Ruby e C#, é um projeto pioneiro da Caelum em REST, propondo inovações importantes na implementação de uma arquitetura realmente RESTful.
Caelum Stella
O Stella é um projeto em Java totalmente desenvolvido utilizando TDD que visa suprir as necessidades do dia a dia brasileiro. Ele conta com validadores de documentos nacionais, geradores de boleto, entre outras funcionalidades. Já está sendo utilizado por desenvolvedores da ADIBE, da UOL e outras empresas.
JForum
O JForum é um sistema de fóruns em Java completo e robusto, com uma interface atraente e código simples e organizado, tornando-o fácil de estender e customizar. Atualmente, é utilizado em fóruns de grande movimento como o GUJ e o JavaRanch.
Hibernate
Largamente utilizado por desenvolvedores Java e, mais recentemente, .Net, o Hibernate é uma ferramenta ORM que permite tratar em sintaxe Java os objetos que serão guardados ou recuperados de um banco de dados. Entre outras ventagens, o Hibernate é capaz de lidar com dependências complexas entre tabelas num banco de dados.
Mirror
Mirror é um projeto pessoal de membros da Caelum que cansaram de dar voltas e mais voltas para utilizar a API de Reflection do Java e decidiram desburocratizar seu uso. Com o Mirror, através de uma interface fluente é possível utilizar reflection de um modo muito mais legível e simples.
JQuery
Uma biblioteca simples e concisa que simplifica o trabalho necessário para websites dinâmicos que necessitam de funcionalidades como AJAX e portabilidade entre browsers.
Tubaina
Desenvolvido em Java J2SE, Tubaina é um gerador de apostilas que tem a função de simplificar a geração de livros-texto. Escrevendo usando uma marcação simples, obtemos saídas em HTML ou PDF bonito e customizável, com syntax highlight de código Java, Ruby, .properties e XML, além de quadros de destaque e listas.
Selenium DSL
Para fazer testes de integraçao, nota-se a dificuldade em utilizar o Selenium puramente. Só que testes precisam ser facilmente escritos, então criamos essa DSL que atende a grande parte das necessidades diárias do programador Java web, incluindo verificação do HTML gerado e do JavaScript executado.
XStream
Uma biblioteca em Java criada pela Codehaus para facilitar a serialização de e para XML, antes tão complexa com o SAX. O XStream facilita esse processo, criando XML simples e conciso ao guardar apenas as informações que realmente não podem ser obtidas através de reflection.
Paranamer
O Paranamer é um projeto da Codehaus que resolve um grande problema ao lidar com Reflection em conjunto com frameworks para web e linguagens de script como Ruby: o fato de o compilador jogar fora os nomes dos parâmetros. Essa biblioteca guarda em cache os nomes de parâmetros necessários para lidar com esses frameworks e linguagens.
Waffle
Um framework de Java para a web também baseado em convenção sobre configuração. Bastante fácil de utilizar, o Waffle conta também com uma taglib bastante completa e que supre as necessidades do dia a dia da programação para web.
PicoContainer
Um dos pioneiros em inversão de controle e injeção de dependências, o PicoContainer é uma versão minimalista e funcional dessa prática bastante adotada em projetos grandes por facilitar testes unitários e melhorar manutenabilidade, entre outras vantagens, com uma sintaxe simples.
Maven
Maven é uma solução da Apache, hoje amplamente utilizada em softwares livres, que visa automatizar o processo de gerenciamento de dependências e build do projeto. Entre outras vantagens, o Maven é uma ferramenta para Java estensível com o uso/construção de plugins.
HInjector
O HInjector é uma biblioteca que estende containers como o PicoContainer e o Spring para lidar com injeção de dependências em objetos gerenciados pelo Hibernate. Com isso, podemos implementar DDD de forma mais simples, por exemplo.
Jetty Rails
Esse projeto procura facilitar o desenvolvimento com JRuby on Rails eliminando a necessidade de reempacotar e fazer deploy a cada modificação. Potencializando o feedback instantâneo, o JettyRails permite rodar aplicações em JRuby on Rails numa JVM Jetty.
Clustered JRuby
Clustered JRuby é um projeto que provê uma forma de compartilhar objetos entre várias instâncias de JRuby. A idéia é permitir a criação de clusters em JRuby, utilizando, para isso, Terracota ou NailGun .
Tail
Uma biblioteca em Java para Desktop de análise grafista de ações da bolsa de valores, o Tail é capaz de receber e processar informações provenientes da BOVESPA e até sugerir bons momentos de compra e venda, baseado em técnicas usadas por economistas. O projeto tem como público alvo os investidores homebroker.
JOrigami
JOrigami é uma implementação de um solucionador do "Fold and Cut problem". É provado que qualquer polígono dado pode ser dobrado. O projeto Java é capaz de projetar quantas e quais dobras são necessárias para chegar ao polígono pedido.
AcMus
O AcMus é um projeto que visa mensurar a qualidade acústica de salas, emitindo um sinal e medindo a resposta capturada pelo microfone da máquina em que roda. O projeto é desenvolvido na USP e já foi utilizado em diversas salas de exibição no Brasil e na Alemanha.
Archimedes
Um CAD gratuito, o Archimedes é desenvolvido em Java para Desktop, principalmente por alunos e ex-alunos do IME/USP e oferece, atualmente, as ferramentas de um CAD 2D. Entre seus clientes, estão arquitetos estudantes de arquitetura brasileiros e estrangeiros, principalmente da Itália.
PythonGraph
O PythonGraph é uma biblioteca que facilita lidar com grafos em Python. O projeto atualmente dá suporte a grafos com ou sem direção e pesos nas arestas. Diversos algoritmos comumente necessários também têm sua implementação, como fecho transitivo, buscas em largura e profundida, etc.
IEs4Linux & IEs4Mac
Uma grande dificuldade dos desenvolvedores web e designers que utilizam Linux e Mac é como verificar o visual da sua página no Internet Explorer. IEs4Linux e IEs4Mac provêem a solução para esses desenvolvedores através de um Bash Script que faz funcionar o browser da Microsoft em Linux.
Tatame
Um sistema gerenciador de Dojos de programação desenvolvido em Ruby on Rails que permite agendar dojos, confirmar presença e postar retrospectivas. Apesar de bastante simples, é o sistema que gerencia os Dojos na Caelum.
Panda
Um projeto criado para atender as necessidades dos professores de computação da USP, o Panda permite que professores e monitores coloquem enunciados e recebam exercícios de alunos. O sistema em Java para web ainda conta com fórum de discussão e mensagens particulares, entre outras funcionalidades.
Pulga
O Pulga é uma ferramenta que visa proporcionar aos estudantes e pesquisadores de matemática uma forma mais fácil de estudar sistemas dinâmicos complexos sem ter que se preocupar em escrever código e compilá-lo.
LibCGI
Programar em CGI pode ser muito complicado e sua curva de aprendizado é certamente um tanto mais longa do que o que se deseja. A LibCGI é uma biblioteca que permite programar em C para CGI.
TestSlicer
Acelera o processo de build de um projeto, permitindo que o mesmo só execute os testes afetados pelo último commit.

