Entrevista
Voluntário
O alemão Ralf Nolden é um dos programadores mais importantes do projeto KDE. Ele é, nada mais, nada menos que o mantenedor do KDevelop, ferramenta de desenvolvimento para o KDE, uma das mais difundidas entre os usuários do Linux. Nolden estuda engenharia elétrica na Universidade Técnica de Aachen, na Alemanha, e começou a trabalhar com o KDE em 1998. Ele queria aprender C++ de uma maneira mais eficiente e uniu o útil ao agradável, contribuindo com o projeto KDE. E não parou por aí. O projeto faz parte da existência de Nolden de tal forma que ele chega a declarar que a plenitude da vida também se reflete em códigos para o KDE e nas amizades que surgem a partir de uma iniciativa comum, no caso o próprio projeto KDE. “Decidi continuar por causa do papel que desempenho na motivação de outras pessoas e que se paga - em programas, idéias, código e, o mais importante, amizades”, afirma. Esse alemão, apaixonado pelo que faz e que esteve recentemente no Brasil, no III Fórum de Software Livre, é o entrevistado do mês da Revista do Linux.
Revista Do Linux - Como você começou a trabalhar com o KDE e o KDevelop?
Ralf Nolden - Tudo começou no final do verão de 1998. Mesmo antes de ingressar na Universidade, em 1996, eu tinha meu primeiro computador e sabia que programação em C++ seria uma matéria mais tarde, então eu tinha que começar a aprender mais sobre computadores. Como minha Universidade já usava Linux para programação, eu queria saber o que era, e comecei a usar versões alfa e beta do KDE 1.0. Em 98, comecei a programar de forma séria e pensei em um projeto que poderia me ser útil e ao mesmo tempo me ajudar a aprender C++ de forma produtiva. Durante o curso na Universidade senti falta de um ambiente como o Visual C++, e não estava feliz com o Emacs e XTerms mas queria programar no Linux. Então, porque não criar um ambiente de desenvolvimento integrado (IDE)? Pode soar esnobe e arrogante começar assim, mas foi como surgiram muitos outros projetos. Na mesma semana em que comecei a trabalhar na idéia de um IDE, o KDevelop 0.1 foi lançado por três estudantes de Berlim. Dei uma olhada e ele já estava tomando uma forma que me motivou a me envolver diretamente em seu desenvolvimento, e também por conselhos que recebi em listas de discussão para não começar um projeto tão ambicioso sozinho.
RDL - Você já trabalhou em outros projetos Open Source que não o KDE e o KDevelop?
RN - Escrevi alguns patches aqui e ali, mas nada de especial. Naturalmente, em geral eram programas para o KDE (embora não distribuídos juntamente com o KDE, mas por terceiros).
RDL - Que projetos desenvolvidos com o KDevelop mais chamam a sua atenção?
RN - Há alguns dos quais eu preciso para o meu próprio trabalho. Com certeza um deles é o KTexMaker (agora chamado Kile), para escrever e converter documentos em LaTeX, outro é o Digikam para uso de câmeras digitais no KDE. Outro programa muito interessante é o QCAD, para CAD (Computer Aided Design).
RDL - Quais você citaria como exemplos de excelente uso de seu ambiente de desenvolvimento?
RN - Esta é uma pergunta difícil, que tem um pouco a ver com implementação, a funcionalidade do programa e como os programadores usaram o KDevelop para desenvolver o projeto. Diria que um dos efeitos mais impressionantes do KDevelop foi o dia na CeBIT, a maior feira de informática do mundo, em Hannover, Alemanha, quando alguém veio conversar comigo e me contou que sua empresa estava desenvolvendo drivers para sistemas embarcados. Embora programando em C e, comparado com um programa para o desktop, com muito menos código, as pessoas estão ansiosas para usar o KDevelop em vez de ferramentas UNIX tradicionais como o vi. Outro exemplo é um comentário que eu li sobre alguém que desenvolve suas páginas web e scripts Python no KDevelop, função para a qual com certeza ele nunca havia sido pensado até agora. Quanto a programas para o usuário final, acho que os melhores exemplos de bom uso são programas bem pequenos, para tarefas específicas, que os programadores conseguiram desenvolver com o KDevelop em apenas alguns dias. Creio que aqui a economia de tempo é mais aparente, porque fazer a mesma coisa de modo mais tradicional custaria ao programador, com certeza, o dobro do tempo.
RDL - Como é a vida de um desenvolvedor do KDE? Ocupada? Estressante, talvez?
RN - Esta é uma questão meio individual, que leva em conta a maneira como alguém lida com o trabalho a ser feito, e a importância que dá à família e a si mesmo. Para mim é algo bem variado, pois enfrento períodos muito ocupados, que dão lugar a tempos mais calmos, quando dou mais atenção a mim mesmo. Honestamente, penso que uma vida plena também se reflete em código para o KDE, porque outras coisas podem ser tão inspiradoras que você simplesmente tem que implementar algo legal.
RDL - Porque você decidiu ser um desenvolvedor voluntário? O que o estimula a ser um desenvolvedor de Software Livre?
RN - As razões são basicamente as que eu mencionei acima, sobre como me envolvi com o KDE e o KDevelop. Com o passar dos anos, há momentos em que você pensa: É suficiente? Por que não faço outra coisa agora?. Embora eu tenha me feito esta pergunta algumas vezes, decidi continuar por causa do papel que desempenho na motivação de outras pessoas e que se paga - em programas, idéias, código e, o mais importante, amizades. E penso que um dos motivadores é que eu também quero dar algo em troca - Tenho de confessar que mudei muito durante estes anos, e penso que boa parte desta mudança se deve ao KDE. Ou seja, o desenvolvimento de Software Livre se paga, mesmo que o dinheiro seja uma parte menor deste pagamento.
RDL - Qual a maior vantagem que você vê no KDE, quando comparado a outros ambientes desktop?
RN - A grande vantagem é que a adoção da linguagem C++, orientada a objeto, como principal linguagem para desenvolvimento possibilita que um programador KDE crie coisas muito complexas facilmente. O KDE se mostrou muito flexível quando o assunto é a implementação rápida de idéias. E além dos méritos técnicos, são as pessoas envolvidas que tornam sua participação no projeto uma experiência única.
RDL - Guerras santas à parte, quais as vantagens que você vê no projeto GNOME e o que o KDE pode fazer para melhorar nestas áreas?
RN - Tecnicamente, não conheço o suficiente do projeto GNOME para lhe dar uma resposta clara a esta questão. Embora no passado, e ainda hoje, as pessoas pró-GNOME argumentem que o GNOME simplesmente é melhor, eu não encontrei uma razão válida (após experimentar pessoalmente) por que o uso de uma biblioteca C ofereceria mais vantagens, falando em código, para programação a longo prazo. Outro argumento das pessoas pró-GNOME sobre linguagens de programação é que há muito mais bindings para outras linguagens disponíveis para o GNOME, então para um programador o GNOME é mais flexível. Também temos um bom conjunto destes bindings com o kdebindings, mas no final minha opinião quanto aos bindings é que eles são raramente usados, e é muito difícil provar que o trabalho empregado na criação destes bindings para uma linguagem se pague com um número pelo menos igual de aplicações escritas nestas linguagens, com estes bindings. Para mim, as classes C++ e Qt/KDE são fáceis demais para querer usar bindings para qualquer outra linguagem e, ao mesmo tempo, a programação nativa evita uma camada adicional durante a execução do programa (e, certamente, gera um impacto positivo na velocidade de execução).
Atualmente, a única vantagem técnica de usar uma biblioteca em C é que estes programas não são tão afetados pelo linker quanto os programas em C++. Mas esta é uma questão muito específica ao UNIX/Linux que precisa ser resolvida com esforços para trazer o sistema operacional a um estado mais avançado quanto à execução de programas em C++
RDL - Como você vê o KDE e o KDevelop daqui a três anos?
RN - O KDE será usado em 30% de todos os sistemas desktop. Penso que o KDE, em combinação com o Linux vai, ironicamente, ganhar muito com o fato de que o valor de ações e serviços ao consumidor não manterá o equilíbrio que vemos agora nas indústrias tradicionais. A indústria de software muda constantemente e promoverá o Linux e o KDE ao consumidor como o estado-da-arte para poder vender programas novamente. O KDevelop será poliglota e usado para a maior parte das tarefas relacionadas ao desenvolvimento de software naquele período e ganhará uma fatia ainda maior do mercado dos IDEs, pois é um programa KDE nativo que naturalmente tem uma clara vantagem sobre, digamos, soluções em Java, por causa da velocidade com que você pode trabalhar com ele e da integridade do sistema desktop.
Ralf Nolden
Da redação da Revista do Linux