quarta-feira, 20 de agosto de 2008

O PODER DAS COMUNIDADES DE SOFTWARE

Uma das grandes questões sobre o poder das comunidades de Software Livre é determinar quais são as comunidades mais influentes e poderosas e o que faz dessas comunidades especialmente poderosas.
Por outro lado, em virtude do crescimento exponencial de softwares livres é impossível verificar caso a caso a importância de cada comunidade.
Acho que o melhor palpite é nos guiar pelas novas leis do espaço cibernético e olhar cada uma das principais forças e encontrar expoentes de manifestação dessas forças.
Lembrando a importância do gcc, vamos analisar a força da arquitetura, sobre o mesmo prisma que seguem pessoas como Linus Tovalds e Arthur Griffith .
Intuitivamente, sabemos que um sistema operacional auto suficiente é a soma de um kernel um compilador e um editor de textos. A ideia é que a soma desses três elementos torna possível adicionar novas funcionalidades ao sistema sem a necessidade de criar programas numa outra plataforma (sistema operacional). Basta criar um arquivo com o código-fonte no editor de texto, compilar o arquivo com o compilador e tem-se a nova funcionalidade. No entanto, nem sempre essas chamadas são feitas diretamente e para isso é utilizado um interpretador de comandos (como o bash) ou um servidor de janelas e gerenciador de programas com o X.
Vamos supor, por ora, que programa seja tão simplesmente editar um código-fonte num editor de texto, e que esse programa seja simples o bastante para não incluirmos nessas considerações. Onde chegamos em três classes importantes de programas: compiladores, os núcleos dos sistemas operacionais e o programas de iteração com usuário.
Mas, em cada uma dessas classes a uma miríade de opções que torna necessário a adoção de um novo critério para definir quais são os programas mais importantes e influentes. Podemos tomar algumas das forças como critério de desempate mas preferimos por hora nos focar na questão de arquitetura.
Compiladores
Um compilador está associado a uma linguagem, a uma comunidade de desenvolvedores para essa linguagem (seus usuários diretos) e sua comunidade de desenvolvedores. Usuários de programas compilados por esse programa constituem, via de regra um grupo maior que são usuários indiretos do compilador.
Notadamente, os desenvolvedores para a linguagem terão mais facilidade com o código-fonte desse compilador quanto estiver na mesma linguagem (que programam), e além disso se o compilador é capaz de se autocompilar.
Sobre sai aqui o gcc e a linguagem C.
C é uma linguagem de programação estruturada e padronizada criada na década de 1970 por Dennis Ritchie e Ken Thompson para ser usada no sistema operacional UNIX. Desde então espalhou-se por muitos outros sistemas operacionais, e tornou-se uma das linguagens de programação mais usadas. C tem como ponto-forte a sua eficiência (devido a ausência de suporte a linguagem em tempo de execução) e é a linguagem de programação de preferência para o desenvolvimento de software de sistemas (devido em parte a sua simplicidade e eficiência).
"Unix em si, é uma história de grande sucesso em termos de portabilidade. O núcleo do Unix, como muitos núcleos, conta com a existência de C para dar a maioria da portabilidade necessária. Assim, como para o Linux. A ampla disponibilidade de compiladores C em muitas arquiteturas possibilitou portar o Unix, em todas essas arquiteturas.

VÁ A FONTE E SAIBA +++

Nenhum comentário: