Usuário:Rlopes
Origem: Wikipédia, a enciclopédia livre.
Rodrigo di Lorenzo Lopes
Estudante de Ciências da Computação
Interesses:
- Software Livre
- Sociedade do conhecimento
- Ciências da Computação
- Jogos eletrônicos
- RPG
- Movimentos Anarco-Punks
Índice |
[editar] Estaleiro Pessoal
O software livre exerce influência das seguintes formas:
- Como Modelo de qualidade de software
- Como Fonte de recursos, pela quantidade de produtos lançados
- Pela Presença no mercado (aplicação dos produtos e quantidade de usuários)
- Pelas Atividades de suas comunidades (aglomeração de desenvolvedores )
- Como Modelo de organização institucional voluntária.
- Como fator de incremento a diversidade.
[editar] Sinergia
A sinergia é uma forma complexa de manifestação do Software Livre, retratando a evolução do software. A integração de componentes e programas sofrem dos mais diversos problemas de compatibilidade[1]: do hardware[2], do sistema operacional, da linguagem de programação e das licenças[3], conjugando problemas técnicos e políticos.
Inicialmente o software era restrito a uma plataforma muito bem determinada. Com a evolução dos computadores, linguagens de programação, sistemas operacionais e arcabouços, o software foi pouco a pouco se desvinculando da plataforma. Isto possibilitou a combinação de softwares de origens diversas.
[editar] FLOSS
Software livre implica uma certa diversificação. 22% dos projetos são code-forks de outros projetos de software livre[4]. Um exemplo clássico é a família BSD: "OpenBSD is a NetBSD fork, MicroBSD was an OpenBSD fork, Dragonfly BSD is a FreeBSD 4.x fork". Hendrik Scholz faz uma apresentação no Interz0ne IV, sobre a diversidade do software citando a quantidade de "shell" e gerenciadores de janelas. Olhando na Sourceforge, encontramos 501 projetos na categoria "Text Editors".
[editar] Analogia com a Torre de Babel
Alguns críticos argumentam que o Software livre é análogo a "Torre de Babel"[5]. Na passagem bíblica, várias pessoas tentam construir um grande edifício, mas falham pela falta de comunicação entre as pessoas, causado pela diferença de língua entre elas. No software livre, as diversas plataformas e protocolos funcionam como línguas diferentes, que impedem a integração dos softwares.
Tabela abaixo, ilustra a diversidade linguística entre os projetos da Sourceforge Torre de Babel na Sourceforge
Sistema Operacional | Projetos |
OS Independent (Written in an interpreted language) | 25702 |
OS Portable (Source code to work with many OS platforms) 1886 | |
Other | 796 |
Apple Mac OS Classic | 434 |
BeOS | 430 |
SGI IRIX | 246 |
Project is an Operating System Kernel | 87 |
Project is an Operating System Distribution | 85 |
SCO | 63 |
AmigaOS | 57 |
Project is OS Distribution-Specific | 42 |
Console-based Platforms | 37 |
MorphOS | 27 |
Classic 8-bit Operating Systems (Apple, Atari, etc.) 13 | |
OpenVMS | 5 |
All POSIX (Linux/BSD/UNIX-like OSes) | 29618 |
Linux | 23396 |
OS X (Apple Mac OS X) | 3453 |
All BSD Platforms (FreeBSD/NetBSD/OpenBSD/Apple MacOSX) | 3272 |
Solaris (Sun Solaris (SunOS)) | 2155 |
FreeBSD | 1586 |
OpenBSD | 354 |
HP-UX | 283 |
IBM AIX | 231 |
NetBSD | 225 |
GNU Hurd | 85 |
BSD/OS | 82 |
All 32-bit MS Windows (95/98/NT/2000/XP) | 20635 |
32-bit MS Windows (NT/2000/XP) | 6554 |
32-bit MS Windows (95/98) | 6480 |
WinXP? (Microsoft Windows XP) | 5823 |
Win2K (Microsoft Windows 2000) | 5410 |
MS-DOS (Microsoft MS-DOS) | 624 |
Microsoft Windows Server 2003 | 197 |
IBM OS/2 | 159 |
Win98 (Microsoft Windows 98) | 126 |
WinNT? (Microsoft Windows NT) | 95 |
WinME? (Microsoft Windows ME) | 77 |
Microsoft Windows 3.x | 46 |
Win95 (Microsoft Windows 95) | 32 |
[editar] Sistemas Operacionais
Os sistemas operacionais estão nas raízes do movimento do software livre e de código-aberto [6]. O Unix serviu de inspiração para diversos outros sistemas operacionais, por sua capacidade de comunicação e por sua "superioridade evolutiva". O Unix é comparado com um vírus no livro "The Unix-Haters Handbook" [7] por ser pequeno, portátil e de rápida mutação (pois o código-fonte era disponível com o sistema operacional). Sua divulgação segue a idéia primal do software livre: transferência de conhecimento, cooperação, adaptação e redistribuição. O co-fundador da Sun Microsystem alega que a empresa tem suas raízes na distribuição UNIX BSD lançado sob uma das primeiras licenças de código-aberto.
Uma das missões da comunidade Free Software Foundation, é criação de um completo sistema operacional compatível com o Unix[8]. Também são estes sistemas operacionais as bases para campanhas de adoção do software livre dada sua importância num sistema de computadores (Sem um sistema operacional, o uso do hardware de um computador não seria "proveitoso") .
Finalmente, os núcleos dos sistemas operacionais estão na lista dos projetos que aglomeram maior número de código e que recebem os maiores investimentos. De acordo com a Sun Microsystems [9], o Solaris é resultado de um investimento de 500 milhões de dólares. Como também o Linux seria resultado de semelhante investimento se fosse produzido no modelo tradicional.
- Linux
- OpenSolaris
- Família BSD
- Darwin
- HURD
[editar] Ferramenteiros
Um dos substratos na produção de software eventualmente é um conjunto de bibliotecas e ferramentas de desenvolvimento. Isto se dá pela modularidade da aplicação, planejada ou obtida pela refatoração . Por exemplo: o commons-validator do projeto Jakarta da fundação Apache é resultado de uma refatoração do arcabouço Struts. Já o GTK+ é um conjunto de bibliotecas desenvolvidas para a produção do Gimp (de fato, GTK significa Gimp ToolKit).
Algumas vezes, essas ferramentas são produtos primários dos desenvolvedores. A FSF (Fundação Software livre) estava inicialmente interessada na confecção dessas ferramentas.
Abaixo trecho do Manifesto GNU, fala sobre as ferramentas de desenvolvimento e o projeto GNU: "To begin with, GNU will be a kernel plus all the utilities needed to write and run C programs: editor, shell, C compiler, linker, assembler, and a few other things. After this we will add a text formatter, a YACC, an Empire game, a spreadsheet, and hundreds of other things. We hope to supply, eventually, everything useful that normally comes with a Unix system, and anything else useful, including on-line and hardcopy documentation."
Ainda hoje, a liberdade das ferramentas é uma das principais questões da fundação [10].
- Free Software Foundation e o Projeto GNU
- TrollTech, QT framework e o KDE
- GNOME Foundation, GTK+ e o GNOME desktop
- [Novell e Ximian]?
- Userland
- XFree86 e X.Org Foundation
- Mozilla Foundation e o Projeto Mozilla Firefox
- OpenOffice
[editar] Projetos de Agregação,Distribuição e Portabilidade
[editar] Distribuições
Antes da primeira distribuição Linux, um suposto usuário Linux deveria ser algo como um especialista de UNIX, não somente conhecer quais bibliotecas e executáveis eram necessários para reinicializar o sistema com sucesso e colocá-lo em funcionamento, mas também pensar sobre detalhes de configuração e localização dos arquivos do sistema.
As distribuições Linux começam a aperecer logo depois que o primeiro Kernel do Linux foi usado por pessoas que não fossem desenvolvedores do Linux, uma vez que essas pessoas estavam mais interessadas no desenvolvimento do sistema operacional do que de programas aplicativos, interface para o usuário ou um sistema de empacotamento conveniente.
As distribuições levam aos usuários programas de seu interesse e servem como um centralizador desses recursos. Dessa forma é possível provê-los com valores adicionais tais como: aferição de interoperabilidade, aferição da segurança do sistema, disponibilidade de recursos e padronização da instalação destes.
- Debian
- Gentoo
- FreeCD
- Red Hat
[editar] Projetos de Integração
[editar] Arquitetura Open Source
A arquitetura da internet está fortemente relacionada aos projetos open source. A netcraft mostra que o Apache é usado em 70% dos servidores web. O acrônimo LAMP (Linux, Apache, Mysql, php/perl/python) é conhecido como uma das arquiteturas mais populares em portais Web. Empresas como Google inc. e Yahoo inc. já utilizam amplamente arquiteturas de código aberto. E as arquiteturas de código-aberto dispontam como os servidores de alta confiança e dos supercomputadores em grid.
Buscas no sítio de busca, www.google.com fornecem os seguintes resultados:
- 82.800.000 para python
- 105.000.000 para perl
- 569.000.000 para java OR jsp
- 685.000.000 para php
- 748.000.000 para asp
[editar] LAMP
O acrônimo LAMP se refere ao conjunto de programas de software comumente usados de forma combinada para executar sítios dinâmicos Web ou servidores:
- Linux, o kernel do sistema operacional;
- Apache, o servidor Web;
- MySQL, o sistema de gerenciamento de banco de dados (ou servidor de banco de dados);
- Perl, PHP, e/ou Python, linguagens de script.
Apesar de os criadores desses programas open source não os terem projetado para trabalharem especificamente uns com os outros, a combinação se tornou popular por causa do seu baixo custo e da onipresença de seus componentes (que se apresentam no mesmo pacote da maioria das distribuições Linux atuais). Quando usados de forma combinada representam uma pilha de soluções de tecnologias que comportam servidores de aplicação. Outras dessas pilhas são o Apple Computer's WebObjects?, o Java/J2EE e a arquitetura Microsoft's .NET.
O componente de script da pilha LAMP se origina nas interfaces Web CGI que se tornaram populares no início dos anos de 1990. Essa tecnologia permite que o usuário de um navegador Web excute um programa no servidor e assim receba tanto conteúdo dinâmico como estático. Programadores usaram linguagens de script com esses programas por causa da habilidade que têm de manipular seqüências de texto de maneira fácil e eficiente, mesmo quando elas se originam de fontes totalmente diferentes. Por essa razão, "desenvolvedores" de sistemas frequentemente se referem a esses sistemas de script como linguagens de cola.
Michael Kunze cunhou o acrônimo LAMP em um artigo para a German computing magazine em 1998 (12/98, página 230). O artigo focava em mostrar que um pacote de software livre poderia fornecer uma alternativa viável para substituir pacotes comerciais. Sabendo do gosto que o mundo de TI tem por acrônimos, Kunze criou LAMP como um termo de marketing para popularizar o uso do software livre. O'Reilly e MySQL? AB popularizaram o termo entre os falantes da língua inglesa. De fato, MySQL? AB tem desde então baseado alguns dos seus esforços de marketing na popularidade da pilha LAMP.
- Apache Foundation
- [Bancos de dados] (MySQL?, Postgree)
- Scprits (Perl Foundation/ PHP/ Python)
[editar] Java
Java ganhou enorme popularidade desde de sua primeira aparição. Sua rápida ascenção e larga aceitação podem ser apontados por ses design e caracterísitcas, particularmente na promessa que você pode escrever um programa uma vez e executá-lo em qualquer lugar. Java foi escolhido como a linguagem para redes de computadores e foi recebido como um "front end" para banco de dados empresariais. Como cidado pela Sun Microsystems: "Java é simples, orientado a objetos, distribuído, interpretado, robusto, seguro, portável, dinâmico, com tratamento nativo de múltiplas linhas de execução e arquitetura neutra.
De acordo com o artigo de Mark Stone na NewsForge, a adoção de Java pela comunidade "Open Source" deve-se a três motivos de caráter pragmáticos:
- Crescimento do Mercado
- Penetrção do Mercado
- Previsão do Mercado
"The open source code that is written in a language is often more important than the open source status of the language itself."
De fato, a plataforma Java tem recebido volumosas contribuições de empresas de midleware, tais como a IBM, BEA e a própria SUN. Como uma linguagem voltada para o mercado empresarial, a linguagem Java é apoiada pelo principais fornecedores de banco de Dados (Oracle,. Sybase), bem como forncedores de arquiteturas de servidores (como a Red Hat). Refletindo essa recepção do mercado, a linguagem Java é a mais utilizado entre os projetos da Sourceforge (seguido de perto pelas linguagens C++ e C).
Language | Projects |
Java | 16796 |
C++ | 16767 |
C | 15969 |
PHP | 12228 |
Perl | 6221 |
Python | 4552 |
C# | 2905 |
JavaScript | 2797 |
Visual Basic | 2195 |
- [Java Comunity Process]
- Projeto Jakarta
- JBoss Corp., JBoss AS e Hibernate
- Eclipse
[editar] Outras Informações
- ISBN0471364088 [11]
- Colisão do Nexenta com o Debian
- United We Stand [Not]?? - Steve Holden http://www.artima.com/weblogs/viewpost.jsp?thread=7351
- Cristian Reis - Torre de Babel http://www.async.com.br/~kiko/FISL2003/babel/0.html
- Marius Andreiana, "Too Much Free Software" - Editorials (freshmeat) http://freshmeat.net/articles/view/774/
- Silberchartz , Sistemas Operacionais - Conceitos
- Robin Cover, Sun Releases Solaris Operating System and 1600 Patents under CDDL Open Source License. http://xml.coverpages.org/ni2005-01-27-a.html