Ola Pessoal.Hoje tratarei de um assunto que esta em alta, porque usar software livre ou porque migrar para ele.Primeiramente, Software Livre e qualquer software que tenha como licenca, a liberdade de usar, estudar, modificar e redistribuir esse software por parte de quem adquirir.Portanto, ele deve ter seu codigo aberto para que outros possam usufruir dessas liberdades.Muita gente confunde Software Livre com Software Gratis (FreeWare), o que nao e correto, pois um Software Livre pode ser vendido e um FreeWare pode ser proprietario (distribuido sem o codigo fonte, o que geralmente acontece).Mas entao, qual a vantagem de um software livre, se ele pode ser pago?A vantagem esta em poder modificar o software conforme suas necessidades, sem necessitar pagar a terceiros, geralmente os criadores do software, para alterar o aplicativo a sua necessidade (claro que pode ser contratado esses servicos).Outra vantagem e que, como sendo livre, provavelmente tera uma comunidade envolvida em seu desenvolvimento. Isso implica na nao necessidade de depender de um seleto grupo(geralmente uma empresa com fins lucrativos) para que o software evolua e ganhe novas funcionalidades ou ganhe correcoes de bugs. Ate mesmo pode haver o problema de descontinuacao do projeto por parte dos criadores( geralmente problemas financeiros ou falta de interesse) dos softwares proprietarios. Caso aconteca isso em um software livre, sua comunidade continuara a dar suporte e desenvolve-lo(claro que ha excecoes, como projetos pequenos demais ou desentendimentos entre membros da comunidade).Muito provavelmente voce ja tenha usado Software Livre sem saber. Ao ler este blog, por exemplo, voce ja esta usando Software livre, pois o servidor que o blogspot.com usa e o Linux (toolbar.netcraft.com/site_report?url=blogspot.com). Muitos sites utilizam linguagens livres em seu desenvolvimento.Outros exemplos de Softwares Livres conhecidos sao:Linux - Sistema OperacionalPython, PHP, Java, Ruby, Lua - Linguagens de ProgramacaoApache - Servidor WebMySQL, Postgres - SGDB'sGnome, KDE, Xorg - Ambientes Graficos Mozilla Firefox - Navegador WebOpenOffice - Suite OfficeDjango, Wordpress, Joomla, Drupal - CMS'sBlender - Poderosa ferramenta de modelagem 3DEclipse - IDE de desenvolvimentoPara mais detalhes, consulte o site da Free Software Foundation(FSF) - www.fsf.org ou o projeto nacional sobre Software Livre - softwarelivre.org. Ola,hoje me deparei com um problema, eu queria saber qual modulo Python estava importando um outro modulo, mas nao tinha a minima ideia de que modulo era esse ou onde ele estava. A unica coisa que sabia era que, com certeza, ele era um arquivo de texto e tinha a seguinte string:import moduloPesquisando encontrei uma solucao muito, mas muito simples, o maravilhoso grep. Vamos ao mundo magico do shell:$ grep -rin "string" /*Esse comando retorna todas os arquivos de texto que contenham a string/home/cleiton/arquivo.txt:7: 'Essa era a string que eu queria'/etc/arquivo.conf:263: 'Outra string que o grep retornou'Vamos as explicacoes:grepgrep e um aplicativo para linha de comando de sistemas Unix/Linux que faz buscas no conteudo dos arquivos (ou input) procurando linhas que respeitem a expressao regular mencionada.(Wikipedia)-rinSao parametros do grep.-r indica recursividade, ou seja, ele vai procurar em todos os arquivos de todos os subdiretorios.-i indica que nao sera case-sensitive , ou seja, nao fara distincao entre maiusculas e minusculas. Caso queira diferenciar, remova o i dos parametros.-n