Às vezes surge no meu cérebro um pensamento, uma pergunta: vale mesmo a pena desenvolver usando ferramentas gratuitas, ou com código-fonte aberto?
Eu comecei a programar no MSX. Tinha um Expert, da Gradiente. Na verdade aprendi nele, mas comecei com um Apple II (acho, faz muito tempo), num curso de informática que “ganhei” quando tinha meus 12, 13 anos. Logo depois que comecei o curso ganhei o MSX, e era nele que aplicava toda a teoria que aprendia no curso.
No MSX comecei usando BASIC, depois parti pro Pascal, Assembly, e cheguei a fazer algumas poucas coisas em linguagem de máquina diretamente (principalmente debugar programas escritos em Assembly). Na época não existia internet, e todo o conhecimento vinha através de revistas ou de livros. Durante um bom tempo meu livro de cabeceira foi O Livro Vermelho do MSX.
Aí comecei a trabalhar, e veio a oportunidade de programar profissionalmente. Iniciei com o famigerado Clipper, e depois de algum tempo comecei com MS Access, e daí pro Visual Basic foi um pulo. Quando passei a usar as ferramentas da Microsoft um novo mundo se abriu, pois se tem algo no qual a Microsoft sempre foi excelente é em documentação. Foi com ela que aprendi que o melhor amigo de um usuário/programador pode ser a tecla F1.
E aí surgiu a internet. E a descoberta da MSDN. Bastava pesquisar, que encontrava a solução.
Depois veio o Java, que também conta com uma documentação muito boa. Mas o Java já apresenta um problema: muitas coisas nele são feitas através de bibliotecas criadas por outros usuários. E quem disse que todos os que fazem essas bibliotecas fazem uma documentação decente? Muitos sequer fazem um leia-me!
Com isso, fazer um programa muitas vezes passa a ser descobrir como algo funciona para que possa ser usado corretamente. E é exatamente o que estou enfrentando agora.
Estou convertendo o pySafe de GTK para Qt. Aí apareceu o primeiro problema: qual biblioteca utilizar? Sim…existem duas bibliotecas de Qt para o Python!! Existe a mais desenvolvida, chamada de PyQt, e existe uma outra que a Nokia resolveu criar, chamada de PySide. A Nokia tomou essa atitude porque a PyQt possui uma licença de uso que obriga que se pague ao seu desenvolvedor caso o programa que a use seja comercial. Se for um programa livre não é preciso pagar nada.
Então tive que pesar os prós e contras de cada uma. Em tese, elas seriam completamente equivalentes!! Só precisaria mudar uma linha de código para usar uma ou outra….mas como mundo ideal é uma coisa, e mundo real é outra, elas possuem suas diferenças, e essa história de mudar uma linha não funciona (eu testei).
Acabei optando pela PyQt porque meu programa é livre, então não tenho que me preocupar com a licença. E a PySide, neste momento, roda apenas em GNU/Linux, e eu quero que o pySafe rode em qualquer sistema operacional (basta ter Python), e isso a PyQt permite.
Mas para aprender sobre uma biblioteca você depende de sua documentação. E voltamos ao problema comentado acima….quem disse que a documentação dessas bibliotecas é boa? Há vários links apontando para o nada, não há exemplos claros e práticos, e hoje em dia, infelizmente, encontrar algo útil no Google está difícil. A maioria dos links que o Google devolve são de listas de discussão ou de fóruns, onde nem sempre você encontra a solução para seu problema.
Aí fico pensando no SDK da Apple, altamente elogiado por todos, com vasta documentação. Não adianta apenas lançar um bom aparelho, é preciso dar subsídios para quem quer desenvolver para ele.
E nisso (dar os subsídios) a qualidade da Microsoft é indiscutível! E parece que a da Apple também…..
A resposta para a pergunta inicial continua indefinida. Há alguns casos de softwares livres onde você paga pela documentação….aí eu pergunto: isso é realmente software livre?