A importância do software livre e padrões abertos na Web

Ano passado um aluno de jornalismo da UEL me procurou para falar um pouco sobre minha “experiência” com software livre. Ele desejava saber minhas opiniões tanto no papel de usuário quanto de desenvolvedor, tanto para o mercado quanto para a área científica. Uma parte do resultado da pesquisa do Lucas de Godoy pode ser visto nesse post do blog dele.

Há algum tempo o João José postou aqui no blog sobre práticas para se tornar um melhor desenvolvedor CakePHP e entre elas muitas estão relacionadas ao software livre ou a padrões abertos. Mas acredito que essas práticas não ajudam somente o desenvolvedor CakePHP, mas qualquer desenvolvedor.

Por que?
Imagine a Web dependente da vontade de players de mercado com suas soluções proprietária e obscuras? Difícil? Então vamos voltar um pouco no tempo e lembrar da época da guerra dos browsers. Netscape e Microsoft disputavam quem tinha o melhor browser e para isso também disputavam a preferência dos desenvolvedores Web. Pouca importância era dada aos padrões do W3C e era muito comum implementar duas versões de um mesmo aplicativo Web.

Até hoje sofremos um pouco com os resultados dessa época negra da Web, mas o cenário mudou. Hoje os browsers brigam entre si para ver quem é o mais rápido em dar suporte total a HTML 5, CSS 3, EcmaScript o que é muito positivo e na minha opinião o caminho certo. Não sou só eu que penso assim, Tim Berners-Lee, o criador da nossa tão querida WWW é um dos maiores incentivadores de padrões abertos. Vantagens, você só precisa aprender uma vez, pois todos seguem o mesmo padrão o que torna a Web muito mais acessível. O usuário também ganha pois, por mais que não saiba, tem a liberdade de escolher o browser de sua preferência e visualizar a aplicação Web da mesma maneira em todos eles.

Falando um pouco sobre o server side, não tem como negar que o software livre é praticamente a base da Web atual. O servidor Web mais utilizado é o Apache e a linguagem de programação o PHP. Ambos são disponibilizados com licenças abertas, o que facilita a sua adoção. Também possuem uma ampla comunidade que está sempre disposta a ajudar e uma boa documentação que ajuda tanto iniciantes quanto desenvolvedores mais experientes. Com nosso framework preferido também não é diferente.

Tudo isso ajuda a fazer um desenvolvedor melhor. Ter a oportunidade de ver o código do que você utiliza para desenvolver suas soluções dá uma compreensão melhor de como as coisas funcionam, te ajuda a entender melhor a lógica por trás da mágica, te faz entrar em contato com outras metodologias de programação, etc. Participar de comunidades de software livre, lendo threads, postando perguntas e ajudando com respostas também tem um peso muito positivo, ajuda a entender necessidades de outros desenvolvedores, compreender códigos diferentes dos seus, solucionar problemas que não são seus, entrar em contato com outros profissionais com mais ou menos experiência, etc.
Se você for um pouco mais hardcore pode até colaborar no desenvolvimento, e o convite sempre está aberto para quem deseja ajudar. Se você não é um programador fabuloso, ainda pode ajudar na documentação, tradução ou simplesmente sendo ativo na comunidade.

E o software proprietário? Não sou contra de maneira alguma, mas algo tão abrangente e revolucionário como a Web não pode ser baseado em licenças proprietárias.
E você, o que acha sobre a importância do software livre e dos padrões abertos para o desenvolvimento Web?