Esclarecendo a questão dos drivers: o problema do suporte a hardware

O dilema entre drivers de dispositivo livres e proprietários tem sido muito discutido ultimamente. Como minha primeira contribuição ao VOL, pretendo esclarecer de uma vez por todas este assunto que é mais complexo do que parece: por que a documentação do hardware é tão importante porém tão difícil de conseguir e o que podemos fazer quanto a isso?

[ Hits: 37.976 ]

Por: Jack Ripoff em 21/05/2007


O que isso tem a ver comigo?



O suporte a hardware é característica essencial em qualquer sistema operacional moderno. Com o advento de um mercado de computadores horizontal (isto é, compra-se hardware de diversas fabricantes distintas), a variedade de dispositivos existentes no mercado tornou-se gigantesca. Junte isso com a falta de padrões que regulem as especificações do hardware em geral e a comunidade de desenvolvedores de software livre acaba tendo um trabalho imenso para poder prover suporte amplo e de qualidade aos mais diversos dispositivos de hardware do mercado.

Estima-se, por exemplo, que mais da metade do trabalho realizado pelos desenvolvedores do projeto OpenBSD - o projeto que mais trabalha nesse sentido - seja apenas com foco no suporte a hardware. Como se trata de software livre, toda a comunidade se beneficia disso e esse esforço acaba sendo aproveitado por outros projetos como Linux, FreeBSD, etc.

Mas aí vem outra questão: como se trata de software livre, os drivers de dispositivo também precisam ser livres! Por quê? Alguns dos motivos:
  1. Os termos de distribuição de software proprietário em geral tendem a ser restritivos e não permitirem que as distribuidoras de sistemas os distribuam junto com o sistema em si;
  2. Software proprietário em geral não é confiável.

Até aí, nada de novo. Do ponto de vista do usuário, essa é a principal questão: drivers precisam ser software livre também. Afinal, o usuário usa software livre por causa disso: é confiável e, afinal de contas, livre para distribuir e usar! Mas a comunidade do software livre não é feita apenas de usuários. Ela é formada principalmente por desenvolvedores. Eles são o ponto chave da comunidade. Pergunte para um usuário que utilidade tem o código-fonte para ele? A maioria deles vai responder que não tem nenhuma utilidade pois ele não entende de programação. Ou seja, o software livre só é efetivamente útil se houver uma comunidade de programadores por trás dele e ele puder ser mantido e desenvolvido por eles!

Os desenvolvedores são a peça mais fundamental da comunidade do software livre: eles a fundaram em primeiro lugar e eles a mantém. Não que o usuário seja insignificante (pelo contrário, ele é muito importante), mas se o desenvolvedor não puder desenvolver o software então ele não poderá dar aquilo que os usuários precisam, e por conseqüência o software não atenderá às necessidades do usuário. Sintetizando: as necessidades do desenvolvedor são primárias para as necessidades do usuário.

Ao analisarmos o ponto de vista do desenvolvedor, surgem mais motivos para que um driver de dispositivo seja livre:
  1. Se algo der errado em um driver proprietário, não é possível consertar (e sempre algo dá errado);
  2. Não ficamos dependentes de uma determinada empresa;
  3. Poderemos dar ao usuário aquilo que ele quer/precisa.

Aí vem a raiz do problema: quando falamos de um driver de dispositivo, o código simplesmente não é o que o desenvolvedor precisa. Um driver de dispositivo é um pedaço de software especialmente complexo. Sem a documentação específica de determinado hardware, a tarefa de criar um bom driver ou mesmo corrigir problemas em um driver existente se transforma num desafio. E de que adianta o driver ser livre se nós não pudermos consertar os erros, continuamos dependentes da empresa ou do sujeito que o criou e não podemos melhorá-lo para atender ao usuário?

Portanto, podemos criar o seguinte quadro à partir desse raciocínio:
  • Drivers oriundos da fabricante em forma binária são completamente inaceitáveis: não podemos confiar em software proprietário e não poderemos consertar se algo der errado (e vai dar). Chamamos esses drivers pejorativamente de "blobs".
  • Drivers oriundos da fabricante em forma de código-fonte livre são mais-ou-menos aceitáveis: muito difíceis de consertar se algo der errado (e vai dar). Lembre-se: se trata daquilo que o desenvolvedor precisa para que ele possa dar ao usuário o que ele precisa.
  • Drivers em forma de código-livre, sejam eles da fabricante ou da comunidade, acompanhados de documentação são perfeitos.

Assim, vemos que a questão dos drivers vai além daquilo que costumamos pensar. A raiz da questão está na documentação do hardware - qualquer driver só é realmente livre se a documentação também for. Por isso ela é tão importante. Não podemos ficar dependendo das fabricantes, pois elas descontinuam produtos a todo momento, e se nós não pudermos manter os drivers depois que elas não os mantiverem mais, nós acabamos ficando com uma peça de hardware quebrada nas nossas mãos - nossa liberdade vai por água abaixo.

Em último caso (se você ainda acha que isso não tem nada a ver com você), sem a documentação nós ficamos em desvantagem com relação a distribuidoras de software proprietário (Microsoft), que podem conseguir a documentação facilmente através de um NDA (falarei mais sobre os NDAs e o mal que eles representam depois). Já percebeu como cada nova versão do Windows trás novos drivers embutidos e melhor suporte a hardware?

Em outros setores do mercado, as fabricantes são obrigadas a dar as informações necessárias para a manutenção de um produto (indústria automobilística). Por que o mesmo não acontece na indústria de hardware de computadores? Isso é injusto e inaceitável.

E se não tivermos a documentação? Bem, então somos obrigados a fazer engenharia reversa. O problema é que ela é ineficiente (isto é, demorada e trabalhosa) e propensa a erros.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. O que isso tem a ver comigo?
   3. Mas se a documentação é tão importante, por que é tão difícil de obter?
   4. O problema das OEMs
   5. E então, o que nós podemos fazer pra resolver esse problema?
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Instalação de impressora multifuncional HP no Linux

Sucata - Dicas de compra

Utilização de termômetro de ambiente com conexão USB no Debian

Dispositivo de Captura de Vídeo Somagic EasyCAP DC60/EasyCAP002 no GNU/Linux

Conheça tudo sobre os hardwares que compõem o seu computador com um simples comando

  
Comentários
[1] Comentário enviado por mcjassis em 21/05/2007 - 13:24h

Bom artigo...
Eu tenho uma outra proposta: voltemos a usar as máquinas de escrever, no máximo as modernissimas máquinas de escrever elétricas.
Para que tecnologia? Para que computador? Para que software livre? Vamos voltar a enviar cartas, ouvir fitas K7 (CD's nunca mais!)

Sou usuário do Ubuntu e confesso que gostei mto da iniciativa da DELL.
A DELL simplesmente visualizou que existia uma nova demanda "PC's OEM com Linux (td configurado, instalado e funcionando perfeitamente)".
A Canonical tbm vende suporte!

Pelo seu artigo uma revolução anarquista seria a saída! Ninguém é dono de nada! Todo mundo faz o q quer! E blah blah blah blah...
Ideais politicos são para serem discutidos em outro local...
Saudações...

[2] Comentário enviado por marcrock em 21/05/2007 - 14:14h


Ótimo artigo....
Eu acho que o fato de empresas como a SIS (tenho uma pc-chips m810 com chipset sis) não liberarem suas documentações já é um grande motivo para que nós boicotemos produtos delas, pense bem eatamos nos sujeitando demais as vontades dessas empresas, elas não respeitam os SO's livres( algumas até fingem que apoiam!!!). O que é mais estranho é que esse negócio de não divulgar porque se trata de segredo industrial é uma grande mentira, pois pra começar os componentes hoje em dia já são bem padronizados, ou seja, o diferencial está na qualidade dos materiais e do processo de produção e não no que uma peça faz e outra não faz!!!!
Assim como muitas empresas já estão disponibilizando drivers for linux em formato binário , poderiam divulgar os documentos e o código fonte, pois faz parte da ideologia do mundo open-source e cabe as empresas se adaptarem ao que cada SO oferece e o linux nos oferece liberdade, portanto cabe as indústrias até como um pensamento comercial dar essa liberdade aos programadores e usuários.
Isso não é fácil de se conseguir, mas não custa tentar e enquanto não conseguimos temos que nos virar com hardware for Rwindows, pois prá mim se a empresa não dá o drivers (Nvidia, ATI e etc...), não fornece documentação aoa programadores e nem os fontes, então esse é um hardware pra Windows e que portanto só combina com as suas ideologias e políticas (sem liberdade, sem fontes, sem melhorias e adaptações).

Parabéns pelo artigo!!!

Valew

[3] Comentário enviado por juliaojunior em 21/05/2007 - 17:18h

acho meio 'doidão' todo artigo 'político' publicado. é como ouvir um religioso defendendo sua própria religião. boa iniciativa, talvez, mas também meio sem foco.

[4] Comentário enviado por david.kwast em 21/05/2007 - 17:21h

Parabens, falou tudo, torco pra mesa virar mesmo. E concordo q empresas q soh visam lucros com Linux podem soh miar mesmo...

[5] Comentário enviado por GilsonDeElt em 21/05/2007 - 17:28h

Muito bom esse artigo!

Tarefa cumprida: mostrou bem como anda a questão do suporte a hadrware nos sistemas Livres.

Parabéns!

[6] Comentário enviado por segalla em 21/05/2007 - 19:44h

Jack, quero parabenizá-lo pelo seu artigo.

Ao pessoal que achou sem foco apenas posso lamentar pois não sabem o que estão dizendo.

Na minha modesta opinião de empresário (vejam que não sou xiita do software livre ou da gratuidade das coisas, estou no mercado para ganhar dinheiro e ter lucro), sempre tento maximizar o lucro da minha empresa e uma das formas é aumentar minhas vendas. Para aumentar as vendas e conseguir manter a qualidade dos meus produtos e serviços não posso canibalizar o preço de venda e nem querer concorrer com produtos ou serviços de menor qualidade, mantenho sempre em mente que tem mercado para todos.

A melhor forma de manter a qualidade dos produtos e serviços foi com a utilização de software livre e o que nos prejudica muito é justamente a falta de fabricantes com hardwares compatíveis, e aí entra a necessidade da disponibilização da documentação para o desenvolvimento de drivers confiáveis. Se nos fossem fornecidos drivers bugs-free (uma utopia pois sempre haverá um bug a ser corrigido) talvez nunca fosse necessário lermos a documentação, pois isso é custo, ao invés de investir tempo e esforço para desenvolver nossos produtos estaríamos gastando para corrigir problemas em produtos de terceiros.

Quando o pessoal se oferece para desenvolver o driver gratuitamente de algum dispositivo, o fabricante deveria ver uma ótima oportunidade de negócio, afinal ele só tem a ganhar com o aumento de possíveis compradores de seus produtos, seu público alvo cresceria sem investimento algum.

Eu, como empresário, só tenho a lamentar a falta de visão de mercado dos meus "colegas" empresários e eu, como engenheiro e apoiador do SL, adoraria poder desenvolver soluções mais estáveis e confiáveis e que não me causassem problemas por bugs em softwares de terceiros que não tenho acesso para corrigir.

Gostaria só de complementar que politicamente acho que o governo brasileiro atual mostra o tamanho de sua burrice ao querer impôr a utilização de SL (Software Livre), afinal para cada problema existem várias soluções no mercado e nem sempre a melhor solução é com SL.

E nem acho que todo software deva ser livre, existe mercado para todos mas o que não posso concordar é com a venda de um produto com problema e que quem vendeu não resolva o problema e nem me deixa resolver sozinho. Aí o meu lado consumidor se revolta pois quem está tendo prejuízo sou eu.

Abs,

Segalla
http://comendoemsampa.segalla.eng.br

[7] Comentário enviado por cybertux em 21/05/2007 - 22:03h

Excelente discussão vc criou aqui, acho que este é um espaço SIM para discussões, afinal poder expor pontos de vista e ideias é ser livre.

Este é um tema que deveria ter um envolvimento maior por todos nós.

Concordo com o colega acima, falta um pouco de visão de negócios para estas empresas, uma vez que se forem desenvolvidos drives que tornem os SL mas compativeis com o hardware eles passariam a vender mais.
Mas eles é que devem amadurecer e prestar mais atenção nas tendencias.

ABRAÇO

[8] Comentário enviado por freakcode em 23/05/2007 - 11:44h

Drivers fechados ou não, essas empresas uma hora acordam para o sistemas como Linux e BSD pois fica impossível ignorá-las.

nVidia tem um suporte incrivel para sua linha no Linux, no entanto, o driver é fechado. Eu não me importo que o driver seja fechado, uma vez que o objetivo do driver é apenas fazer a placa deles funcionar. O software livre, mas o hardware se leva anos de pesquisa para desenvolver, consumindo montantes expressivos de investimento. Ideologia não vai encher a barriga deles. Nem eles vão deixar de serem competitivos no mercado para apoiar uma causa que não é deles.

O que se percebe mesmo é falta de visão das empresas, onde alguém acaba fazendo gratuitamente um driver aberto por engenharia reversa para um dado hardware pela falta de suporte da empresa.

Mas muita coisa tem melhorado. Há bastante hardware com suporte OFICIAL no Linux. Placas de vídeo (nVidia, ATi, Matrox), placas de áudio (Creative, M-Audio), impressoras (HP, Lexmark, Epson tambem?), fora vira e mexe algumas surpresas ao comprar um hardware e descobrir que no site existe um driver para Linux.

[9] Comentário enviado por geckobr em 23/05/2007 - 13:47h

tb acho q qm deve cuidar do suporte a hardware para o linux sao as proprias empresas, afinal quem conhece melhor o produto delas do que elas mesmas? Mas qd falo cuidar, falo em cuidar mesmo, corrigir bugs e etc, assim como fazem no windows e não apenas criarem um driver e deixarem lá só pra dizer que dão suporte.

A parte ideologica desse artigo me pareceu meio radical, mas como não conheço bem o tema prefiro não comentar, talvez só um detalhe, uma posição radical, por imposição pode não ser bem aceita, o pensamento: "eu estou certo, vc esta errado!", raramente funciona.

[10] Comentário enviado por Jack Ripoff em 23/05/2007 - 21:20h

mcjassis, acho que você não leu o artigo inteiro. Se leu, não o entendeu bem. Sua proposta de que larguemos a tecnologia é impraticável, chega a ser surreal. A minha proposta é de aproveitarmos a tecnologia. Se eu não tenho o driver do meu hardware não posso usá-lo e portanto não posso gozar da tecnologia. É axiomático que se faça livre a documentação dos drivers, pois se nós compramos um dispositivo nós temos o direito de usá-lo em qualquer plataforma, em qualquer sistema operacional e em qualquer época que nós quisermos. As fabricantes já mostraram que são incapazes de manter drivers para nós. A comunidade, por outro lado, é capaz de manter drivers que funcionem em todas as arquiteturas que o software livre roda e em todas as versões de sistemas operacionais.

Não se trata de querer convencer os outros de que estou certo e que os outros estão errados. Isto aqui não é uma pregação. No artigo não tento convencer ninguém de que o software livre seja o caminho a ser seguido - ele se aplica apenas àqueles que gostam da liberdade e entendem o espírito do software livre (tanto é que eu explico toda a lógica do meu raciocínio partindo do pressuposto que quem está lendo entende a filosofia por trás). Ninguém é obrigado a gostar de ou apoiar o software livre. Há quem encara o software livre apenas como um produto ou como um modelo de negócios. Há quem usa apenas um sistema operacional em apenas uma única plataforma e portanto não se importa se os blobs da Nvidia não rodam em PowerPC.

Não queremos que as fabricantes apóiem a nossa causa. Não queremos nenhuma linha de código delas. Só queremos a documentação. É nosso direito. Eu expliquei claramente porque nós temos o direito de tê-la - independentemente de ser para um projeto de software livre ou não. Eu expliquei porque não podemos ficar contando que as empresas cuidem do hardware para nós: elas descontinuam produtos a todo o momento e não é porque a sua impressora é antiga que você não tem o direito de usá-la plenamente. Elas são incapazes de manter drivers para diversas plataformas e o Linux roda em uma porção de arquiteturas. Não preciso nem citar exemplos de dispositivos que não funcionam em sistemas operacionais novos (ex: Linux 2.6) ou cujos drivers são extremamente instáveis, até mesmo no próprio Windows. É fácil manter drivers para Windows pois ele é monolítico (um driver de Windows 2000 por exemplo geralmente funciona no Windows XP, um driver de Linux 2.4 quase nunca funciona no Linux 2.6) e monoplataforma. As fabricantes conhecem o produto porque elas tem a documentação - é claro, elas o criaram! Se nós tivermos a documentação saberemos tanto quanto elas e poderemos ser livres e independentes. Afinal, o lema desta comunidade não é "Porque nós amamos a liberdade!"?

Um grande abraço e obrigado a todos pelo retorno!

[11] Comentário enviado por Macuco em 23/05/2007 - 21:28h

É de entender que vendem menos não vendendo para nós, mas que não perdem com isso, mas ganham de outros que tem interesse que não vendam para nós.

[12] Comentário enviado por realnpc em 23/05/2007 - 22:57h

Gostei do artigo, muito educativo.
Mas fiquei confuso: se eu devo boicotar todos os fabricantes que se recusam a abrir a documentação, e esses são a imensa maioria dos fabricantes, como diabos eu vou comprar hardware?
Processador por exemplo: nada de Intel, AMD, Sparc da Sun, C3/C7 da Via (nunca vi driver aberto que preste pra Via, principalmente pro xorg e eles não liberam nada)... chipset entao nem se fala. VGA: intel, ati e nvidia nao servem... sis eh lenda. WiFi eh de lascar, Dell == Broadcom, ipw ultra-mega-popular eh da Intel... Tah complicado, tudo com ndiswrapper, firmware e o diabo.
Estou prestes a comprar um pc novo, porque o meu Laptop pseudo-linux-friendly Dell deu pau. Não sei o que comprar, sinceramente.

Shalom!

NPC.

[13] Comentário enviado por sombriks em 23/05/2007 - 23:23h

Deve ter sido essa parada de NDA que rolou com o driver de modem da motorola; 3 anos atrás tinha o driver e o fonte, mas isso sumiu do site deles... Mas outro dia eu vi um mandriva 2006 rolando net discad acom esse modem, sendo que o kernel era recente mas a última versão pública data de 2004... (ou 2003?)

Daí tenho que desencorajar qualquer um que esteja penando em comprar um modem discado motorola simplesmente porque um smartlink funciona bem em windows e o driver linux dele eh muito bom!

[14] Comentário enviado por Jack Ripoff em 24/05/2007 - 00:07h

realnpc, não se preocupe demais em boicotar as fabricantes! Como eu disse na parte 4 do meu artigo, as OEMs exercem uma influência muito maior sobre as fabricantes do que nós consumidores. Portanto o boicote é mais um ato simbólico, mas não é tão significativo.

Se você puder, boicote! Mas se não for possível, não fique tão preocupado. Mesmo porque algumas vezes é quase impossível achar um equipamento (por exemplo, um laptop) que seja completamente livre (você mesmo citou o exemplo da Dell). Também não precisa deixar de comprar os processadores da Intel! Compre os processadores, mas tente evitar as controladoras Wireless.

É muito melhor deixar claro para os programadores e as distribuidoras de Linux que NDAs são prejudiciais e nós não os queremos. A medida mais significativa é nos ajudar a reclamar enviando e-mails às empresas. Também nos ajude a convencer a Dell a persuadir as fabricantes votando lá no IdeaStorm, quem sabe nós não conseguimos chamar a atenção dessa grande OEM né? Mas não se prejudique por causa da atitude das fabricantes, se você realmente precisa de determinado hardware não deixe de comprá-lo.

[15] Comentário enviado por andreeduardo.sa em 24/05/2007 - 19:33h

Muito boa a matéria,

Concordo com você, pois eu faço o mesmo, boicoto o fabricante, posto mensagens malcriadas no fale conosco de diversas empresas que não fornecem suporte ao software livre. se todos nós tomassemos uma atitude em vez de ficar calados como carneirinhos talvez as empresas parassem pra pensar. O grande problema é que muita gente que fica reclamando se diz usuário de software livre, mas possui um SO proprietário em sua maquina com dual boot, aí o hardware que não funciona no linux roda no Windows com seu joguinho 3D. As pesoas tem que aprender a lutar por seus direitos e contestar os fabricantes.

Um Grande Abraço.

[16] Comentário enviado por realnpc em 24/05/2007 - 22:23h

Oi, gente.
Falando em reclamar e exigir direitos, algo interessante parece ter se tornado verdade também no Brasil.
Quando comprei meu Dell há 1 ano e meio não havia produto da Dell disponível no Brasil que não viesse com um produto da Micro$oft junto. Entao era venda casada mesmo, na maior cara-de-pau. Liguei pra lá e disse que queria o notebook, mas que não queria o Windows XP Home Edition junto. O vendedor me respondeu que não era possível vender separado e me ofereceu um desconto de R$350.00 por eu estar fechando a compra por telefone, usei parte do desconto numa garantia Compelte Care e o resto cobriu o frete. Entao eu fiquei tranquilo, consegui o que queria, e até hoje tenho os CDs em casa pegando mofo.
Pois bem, nos EUA é de praxe que os usuários que compraram alguma coisa que "obrigatoriamente" vem com Windows ligarem pra Dell e exigirem parte do dinheiro de volta, então a Dell deposita uns trocados na conta deles.
Há algum tempo a Dell já vende produtos com FreeDOS e agora com Ubuntu no Brasil e eu li em um Blog que usuários brasileiros que compraram computadores Dell com Windows podem receber parte do pagamento devolta, só não sei exatamente como, mas vale a pena tentar.

Shalom!

NPC.

[17] Comentário enviado por Jack Ripoff em 25/05/2007 - 17:24h

A Dell começou a oferecer PCs com Ubuntu justamente porque os clientes exigiram através do IdeaStorm, por isso acho importante nós votarmos no IdeaStorm para conseguir a documentação dos dispositivos (nem que seja apenas dos dispositivos da própria Dell).

http://www.ideastorm.com/article/show/64498


Há um bom guia no Linux.com sobre como conseguir esse pagamento:

http://www.linux.com/article.pl?sid=07/01/03/227237

[18] Comentário enviado por Kelno em 03/06/2007 - 03:04h

Artigo muito bom e importante para pessoas como eu q queremconhecer tanto as vantagens como as desvsntagens desse maravilhoso sistema operacional.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts