Archive for September, 2007

Apache 2.2.6 released…

Friday, September 28th, 2007

Foi liberado pela Apache Software Foundation um novo release da versão 2.2.x. Segundo o site este é um major release, iniciando um novo branch estável. Esta versão traz uma série de melhorias para o mod_proxy (AJP Proxy e HTTP proxy), que deveriam ser considerados, uma vez que temos usado bastante o apache 2.2.x (versão 2.2.4) nos novos aplicativos. Um feature interessante adicionado, e que eu acho que já era hora, foi a adição de uma nova diretiva na configuração do ProxyPass, chamado ProxyPassMatch. Só para esclarecer, a diretiva ProxyPass é o que usamos para dizer o que vamos passar do apache para o servidor de backend. Nas versões anteriores não tinhamos como especificar uma URI com expressão regular, ou seja, devíamos colocar valores fixos.

Ex.: /fotolog

Agora podemos refinar melhor as configurações e evitar possíveis linhas, tentando agrupar as configurações com uma regexp.

Para poupar o trabalho… extrai o changelog do site da apache. Agora é agendar uma atualização nas farms que rodam apache 2.2.x.

Changelog 2.2.6

*) SECURITY: CVE-2007-3847 (cve.mitre.org)
mod_proxy: Prevent reading past the end of a buffer when parsing
date-related headers. PR 41144.
[Davi Arnaut, Nick Kew]

*) SECURITY: CVE-2007-1863 (cve.mitre.org)
mod_cache: Prevent a segmentation fault if attributes are listed in a
Cache-Control header without any value.
[Niklas Edmundsson ]

*) SECURITY: CVE-2007-3304 (cve.mitre.org)
prefork, worker, event MPMs: Ensure that the parent process cannot
be forced to kill processes outside its process group.
[Joe Orton, Jim Jagielski]

*) SECURITY: CVE-2006-5752 (cve.mitre.org)
mod_status: Fix a possible XSS attack against a site with a public
server-status page and ExtendedStatus enabled, for browsers which
perform charset “detection”. Reported by Stefan Esser. [Joe Orton]

*) SECURITY: CVE-2007-1862 (cve.mitre.org)
mod_mem_cache: Copy headers into longer lived storage; header names and
values could previously point to cleaned up storage. PR 41551.
[Davi Arnaut ]

*) mod_info: mod_info outputs invalid XHTML 1.0 transitional.
PR 42847 [Rici Lake ]

*) mod_ssl: Fix spurious hostname mismatch warning for valid
wildcard certificates. PR 37911. [Nick Burch ]

*) mod_mem_cache: Increase the minimum and default value for
MCacheMinObjectSize from 0 to 1, as a MCacheMinObjectSize of 0 does not
make sense and leads to a division by zero. PR 40576.
[Xuekun Hu ]

*) mod_cache: Remove expired content from cache that cannot be revalidated.
PR 30370. [Ruediger Pluem]

*) mod_proxy_http: accept proxy-sendchunked/proxy-sendchunks as synonymous.
PR 43183 [Brian Rectanus , Vincent Bray]

*) mod_proxy: Ensure that at least scheme://hostname[:port] matches between
worker and URL when searching for the best fitting worker for a given URL.
PR 40910 [Ruediger Pluem]

*) mod_proxy: Improve network performance by setting APR_TCP_NODELAY
(disable Nagle algorithm) on sockets if implemented.
PR 42871 [Christian BOITEL , Jim Jagielski]

*) core: Do not replace a Date header set by a proxied backend server.
PR 40232 [Ruediger Pluem]

*) mod_proxy: Add a missing assignment in an error checking code path.
PR 40865 [Andrew Rucker Jones ]

*) mod_proxy_connect: avoid segfault on DNS lookup failure.
PR 40756 [Trevin Beattie ]

*) mod_proxy: enable Ignore Errors option on ProxyPass Status.
PR 43167 [Francisco Gimeno

*) mod_proxy_http: Don’t try to read body of a HEAD request before
responding. PR 41644 [Stuart Children ]

*) mod_authnz_ldap: Don’t return HTTP_UNAUTHORIZED during authorization when
LDAP authentication is configured but we haven’t seen any
‘Require ldap-*’ directives, allowing authorization to be passed to lower
level modules (e.g. Require valid-user)
PR 43281 [Eric Covener]

*) mod_proxy: don’t URLencode tilde in path component
PR 38448 [Stijn Hoop ]

*) proxy/ajp_header.c: Fixed header token string comparisons
Matching of header tokens failed to include the trailing NIL byte
and could misinterpret a longer header token for a shorter.
Additionally, a “Content-Type” comparison was made case insensitive.
[Martin Kraemer]

*) proxy/ajp_header.c: Backport of an AJP protocol fix for EBCDIC
On EBCDIC machines, the status_line string was incorrectly converted
twice. [Jean-Frederic Clere, Martin Kraemer]

*) mod_dumpio: Fix for correct dumping of traffic on EBCDIC hosts
Data had been incorrectly converted twice, resulting in
garbled log output. [Martin Kraemer]

*) mod_autoindex: Add in Type and Charset options to IndexOptions
directive. This allows the admin to explicitly set the
content-type and charset of the generated page and is therefore
a viable workaround for buggy browsers affected by CVE-2007-4465
(cve.mitre.org). [Jim Jagielski]

*) log core: ensure we use a special pool for stderr logging, so that
the stderr channel remains valid from the time plog is destroyed,
until the time the open_logs hook is called again. [William Rowe]

*) mod_negotiation: preserve Query String in resolving a type map
PR 33112 [Jørgen Thomsen , Nick Kew]

*) mod_ssl: Version reporting update; displays ‘compiled against’
Apache and build-time SSL Library versions at loglevel [info],
while reporting the run-time SSL Library version in the server
info tags. Helps to identify a mod_ssl built against one flavor
of OpenSSL but running against another (also adds SSL-C version
number reporting.) [William Rowe]

*) mime.types: Many updates to sync with IANA registry and common
unregistered types that the owners refuse to register. Admins
are encouraged to update their installed mime.types file.
PR: 35550, 37798, 39317, 31483 [Roy T. Fielding]

*) mod_expires: don’t crash on bad configuration data
PR 43213 [Julien Perez ]

*) mod_dbd: Introduce configuration groups to allow inheritance by virtual
hosts of database configurations from the main server. Determine the
minimal set of distinct configurations and share connection pools
whenever possible. Allow virtual hosts to override inherited SQL
statements. PR 41302. [Chris Darroch]

*) mod_dbd: Create memory sub-pools for each DB connection and close
DB connections in a pool cleanup function. Ensure prepared statements
are destroyed before DB connection is closed. When using reslists,
prevent segfaults when child processes exit, and stop memory leakage
of ap_dbd_t structures. Avoid use of global s->process->pool, which
isn’t destroyed by exiting child processes in most multi-process MPMs.
PR 39985. [Chris Darroch, Nick Kew]

*) mod_dbd: Handle error conditions in dbd_construct() properly.
Simplify ap_dbd_open() and use correct arguments to apr_dbd_error()
when non-threaded. Register correct cleanup data in non-threaded
ap_dbd_acquire() and ap_dbd_cacquire(). Clean up configuration data
and merge function. Use ap_log_error() wherever possible.
[Chris Darroch, Nick Kew]

*) mod_dbd: Stash DBD connections in request_config of initial request
only, or else sub-requests and internal redirections may cause
entire DBD pool to be stashed in a single HTTP request. [Chris Darroch]

*) main core: Emit errors during the initial apr_app_initialize()
or apr_pool_create() (when apr-based error reporting is not ready).
[William Rowe, Jeff Trawick]

*) log core: fix the new piped logger case where we couldn’t connect
the replacement stderr logger’s stderr to the NULL stdout stream.
Continue in this case, since the previous alternative of no error
logging at all (/dev/null) is far worse. [William Rowe]

*) mpm_winnt: Prevent the parent-child pipe from leaking into other
spawned processes, and ensure we have a /Device/null handle for
stdout when running as-a-service. [William Rowe]

*) mod_ldap: Avoid possible crashes, hangs, and busy loops due to
improper merging of the cache lock in vhost config
PR 43164 [Eric Covener]

*) ApacheMonitor: Fix Windows Vista detection. [Mladen Turk]

*) mod_deflate: fix protocol handling in deflate input filter
PR 23287 [Nick Kew]

*) mime.types: add Registered Javascript/ECMAScript MIME types (RFC4329)
PR 40299 [Dave Hodder ]

*) mod_filter: fix integer comparisons in dispatch rules
PR 41835 [Nick Kew]

*) mod_filter: fix merging of ! and = in FilterChain
PR 42186 [Issac Goldstand ]

*) mod_deflate: don’t try to process metadata buckets as data. what should
have been a 413 error was logged as a 500 and a blank screen appeared
at the browser.
[Greg Ames, Ruediger Pluem]

*) mod_cgi, mod_cgid: Fix use of CGI scripts as ErrorDocuments.
PR 39710. [Paul Querna, Ruediger Pluem]

*) mod_proxy: Allow to use different values for sessionid
in url encoded id and cookies. PR 41897. [Jean-Frederic Clere]

*) mod_proxy: Fix the 503 returned when session route does
not match any of the balancer members. [Mladen Turk]

*) mod_proxy: Added ProxyPassMatch directive, which is similar
to ProxyPass but takes a regex local path prefix. [Jim Jagielski]

*) mod_cache: Do not set Date or Expires when they are missing from
the original response or are invalid. [Justin Erenkrantz]

*) mod_cache: Correctly handle HEAD requests on expired cache content.
PR 41230. [Niklas Edmundsson ]

*) mod_cache: Let Cache-Control max-age set the expiration of the cached
representation if Expires is not set. [Justin Erenkrantz]

*) mod_cache: Allow caching of requests with query arguments when
Cache-Control max-age is explicitly specified. [Justin Erenkrantz]

*) mod_disk_cache: Allow Vary’d responses to be refreshed properly.
[Justin Erenkrantz]

*) mod_proxy: Print the correct error message for erroneous configured
ProxyPass directives. PR 40439. [Takashi Sato ]

*) mod_so: Provide more helpful LoadModule feedback when an error occurs.
[William Rowe]

*) mod_alias: Accept path components (URL part) in Redirects. PR 35314.
[Nick Kew]

*) mod_headers: Allow % at the end of a Header value. PR 36609.
[Nick Kew, Ruediger Pluem]

*) mod_cache: Use the same cache key throughout the whole request processing
to handle escaped URLs correctly. PR 41475. [Ruediger Pluem]

*) mod_cache: Add CacheIgnoreQueryString directive. PR 41484.
[Fredrik Widlund ]

*) mod_cache: While serving a cached entity ensure that filters that have
been applied to this cached entity before saving it to the cache are not
applied again. PR 40090. [Ruediger Pluem]

*) mod_cache: Correctly cache objects whose URL query string has been
modified by mod_rewrite. PR 40805. [Ruediger Pluem]

*) HTTP proxy ProxyErrorOverride: Leave 1xx and 3xx responses alone. Only
processing of error responses (4xx, 5xx) will be altered. PR 39245.
[Jeff Trawick, Bart van der Schans ]

*) htdbm: Enable crypt support on platforms with crypt() but not
, such as z/OS. [David Jones ]

*) mod_ssl: initialize thread locks before initializing the hardware
acceleration library, so the latter can make use of the former.
PR 20951. []

*) ab.c: Correct behavior of HTTP request headers sent by ab
in presence of -H command-line overrides. PR 31268, 26554.
[Arvind Srinivasan ]

*) ab.c: The apr_port_t type is unsigned, but ab was using a
signed format code in its reports. PR 42070.
[Takashi Sato ]

*) mod_ldap: Remove the hardcoded size limit parameter for
ldap_search_ext_s and replace it with an APR_ defined
value that is set according to the LDAP SDK being used.
[David Jones ]

*) core: Correct a regression since 2.0.x in the handling of AllowOverride
Options. PR 41829. [Torsten Förtsch ]

*) mod_proxy_http: Handle request bodies larger than 2 GB by converting
the Content-Length header of the request correctly. PR 40883.
[Ruediger Pluem, toadie ]

*) mod_proxy: Fix some proxy setting inheritance problems (eg:
ProxyTimeout). PR 11540. [Stuart Children ]

*) Unix MPMs: Catch SIGFPE so that exception hooks and CoreDumpDirectory
can work after that terminating signal.
[Eric Covener]

PS.: Lembrando que não houve um apache 2.2.5…

XandrOS - O melhor desktop Linux para usuários Windows

Wednesday, September 26th, 2007

Esta é a distro que mais possui interoperabilidade com redes microsoft, suportando desde leitura/escrita em partições NTFS(muito útil em desktop com dual boot) a total compatibilidade com Active Directory, inclusive executando scripts de police e logon. Seu servidor de emails Scalix foi autorizado pela MS a suportar o protocolo do Exchange.

Com seu Network Connection System, o XandrOS se adapta facilmente em qualquer rede, seja NFS via solaris, ou uma impressora SMB com AD.

Aos que precisam utilizar software microsoft, o XandrOS já vem com CrossOver, o que permite rodar os softwares windows mais populares.

Altamente estável por se basear no Debian Sarge 3.1, vem com kernel 2.6.18 mais drivers proprietários da ATI e NVidia

Possui versão gratuita que pode ser baixada via torrent em: http://www.xandros.or.id/xandros4oce.torrent


Licença por Desktop: U$99,00

Fonte completa: DesktopLinux

Memcache + HttpSession = cluster???

Wednesday, September 26th, 2007

Bem, ontem ocorreu o primeiro tech talk 2.0, digo isso pois a Web 2.0 está em onda no mercado de TI com todo o seu discurso colaborativo. Pois bem, ontem o tema do tech talk foi o famigerado memcache, e a palestra foi apresentada de forma colaborativa. Entre os palestrantes estavam:

Guilherme - Equipe WebMedia
Arthur Gasnner - Equipe Aplicativos
Marco Bicudo - Equipe Webmedia
Gustavo Soares (o que vos escreve :D) - Equipe Produção

Achei legal ter 3 áreas diferentes falando sobre um mesmo tema, pois cada um pôde falar a sua experiência com o memcache, o que na minha opinião agregou mais valor e tornou este tech talk em especial mais abrangente.

Uma “idéia”, que vou comentá-la logo logo, já havia me ocorrido um tempo atrás, e hoje vindo para o trabalho e com o tech talk de ontem na cabeça pensei novamente nela… O lance é o seguinte… a equipe de Produção já tentou algumas vezes implantar um cluster nos diversos
applications servers que usamos em producao (weblogic, jboss, tomcat) para replicar sessão
http e com isso termos o balanceamento setado para least conn, ao invés de hash. Vale ressaltar, que nossas experiências com cluster não foram muito boas, especificamente para aplicações com um fluxo intenso de informações, ou seja, bastante acessadas.

Resumidamente… o balanceamento least conn faz com que o request enviado por um usuário cada hora caia em um servidor diferente, distribuindo melhor a carga entre os diversos servidores membros de um grupo. Já o balanceamento em hash, faz com que o request de um usuário sempre caia no mesmo servidor que ele caiu inicialmente, ou seja, se tivermos 3 servidores: A, B e C e o meu primeiro request cair no servidor A, ele irá sempre cair no servidor A, salvo claro, algum indisponibilidade neste servidor. O balanceamento em hash nao é muito bom, pois em algumas situações podemos ter um servidor com um número muito grande de sessões enquanto que o(s) outro(s) servidor(es) está(ão) com um número baixo de sessões http.

Após a explicação do que é least conn e o que é hash, vamos a minha idéia (que ainda nao sei se é viável, ou se trará algum ganho…. é apenas uma idéia). Poderíamos instalar instâncias de memcache nos servidores de backend, e a aplicação poderia salvar a sessão http do usuário no memcache, fazendo uma distribuição das diversas sessões entres os memcache. Só para lembrar, e conforme foi explicado ontem, com o memcache nao há replicação dos dados, as informações ficam distribuídas entre as diversas instâncias do memcache. Desta forma, a persistência de sessão seria garantida pelo memcache, ao invés do cluster habilitado no app server, seja ele jboss ou weblogic, e poderìamos ter o balanceamento configurado para least conn.

Quanto a esta “solução”, restam algumas dúvidas:

- Como o memcache iria se comportar nestas condições?
- É viável?
- E a performance, como seria?
- Seria fácil ligar/desligar o cluster, caso precisássemos?
- Qual o tamanho típico de uma sessão http?
- Haveria realmente uma melhor distribuição da carga entre os servidores?

Well… é isto.. ainda nao tive tempo de testá-la, e pelo andar da carruagem nao terei tempo tão cedo… mas fica aqui o registro da minha proposta… e quem sabe arrumo um tempo para testar.. ou alguma boa alma para me ajudar??? :D

Comentários serão benvindos…

Você não pode morrer sem…

Wednesday, September 26th, 2007

Essas dicas vão para os usuários do Mac OS X de algumas coisas que você nao pode morrer sem fazer pelo menos uma vez…

# Criar um segundo usuário, ativar a troca de usuário, usá-la e ver o cubo girando.

# Configurar o Dock para usar o “Efeito Gênio” e segurar o Shift ao apertar o botão amarelo da janela (minimizar).

# Configurar o Dock para tamanho pequeno e ampliação máxima, enchê-lo de ícones e arrastar o cursor sobre ele. Vaaaai. E vooooooolta. Vaaaaaai…

# Disparar uns 5 vídeos diferentes (open *.mpg), apertar F10 (Exposé do aplicativo) e ver e ouvir todos simultaneamente.

# Apertar freneticamente o F9 (Exposé) para ver a dança dos pixels, quando estiver com duzentas e quarenta e sete janelas abertas.

# Brincar de Zoom. Option-Command-8 liga, Option-Command-= aproxima e Option-Command– afasta. Ah, tem também o Command-Option-Control-8 que é legal.

(Quem disse que no mac nao dava para dar zoom no desktop???)

# Brincar de Zoom - O Retorno. Mais fácil ainda, segure o Control e gire a rodinha do mouse.

# Instalar o port do Gimp que roda no X11, abrir umas 5 fotos nele e após tentar utilizá-lo por 15 minutos, perceber como você é feliz.

Fonte: http://aurelio.net/mac

Sweet Home 3D 1.0 lançado

Monday, September 17th, 2007

Software livre para arquitetura, muito completo

Pra quem quer fazer um layout da própria casa é realmente um achado. Se quiser testar da pra iniciar ele via webstart.

Home:
http://sweethome3d.sourceforge.net/

Download(webstart opcional):
http://sweethome3d.sourceforge.net/download.html

Mexe com quem tá quieto…

Monday, September 17th, 2007

De quem é o Unix? De acordo com a SCO, era dela. Lembram-se do caso? Com certeza os linuxers sabem muito bem quem é SCO. SCO, uma empresa que distribuia o SCO Unix, quis processar todos os usuários de Linux por usar código proprietário (O Unix, através do uso do Linux) e a IBM, por ter fornecido o source do UNIX para Linus Torvalds, criando assim o Linux, o source GNU ‘unix-like’ mais usado do mundo.

Pois bem… agora a SCO acaba de entrar em concordata, de acordo com informações da Info Exame. Motivo? Dinheiro gastos com processos sobre a propriedade intelectual do Unix. Como o mundo dá voltas, heim?!

Link da matéria aqui.

Preview do Compiz Fusion 5.2

Wednesday, September 12th, 2007

O novo Compiz Fusion(Fusão do compiz antigo + beryl) tem efeitos que deixam no chinelo MacOS(exceto claro, o novo MacOS leopard) e Windows Vista. Suporta inclusive widgets.

Com a fusão a sinergia esta ótima, as equipes dividiram as tarefas, a do compiz focando no core e a do beryl nos plugins.

Para ver um preview de como andam as coisas:

http://lunapark6.com/compiz-fusion-052-preview.html

Firefox é seguro (?)

Thursday, September 6th, 2007

Sempre fui defensor do modelo Mozilla de browsers. Acho que esse ‘fanatismo’ já nasceu desde que comecei com o Netscape 1.0.2. Sempre gostei de ‘navegar’ na internet. E quem melhor para me dar isso senão o Netscape, que possuía como símbolo um timão?

Durante a guerra dos browsers, o Netscape infelizmente perdeu para a Microsoft. Mas o maior milagre que a empresa Netscape nos proporcionou foi tornar o source do Netscape público e protegido pela GPL. Além disso, o fato dos ex-desenvolvedores do Netscape terem criado a Mozilla Foundation e produzir web browsers como Mozilla Suite, Firefox e SeaMonkey.

Atualmente, voltamos com a guerra dos browsers, através da frente IE vs Gecko-based browsers (para incluir Netscape, Firefox, SeaMonkey, o finado Mozilla Suite, IceWeasel e outros). Existe o ’segundo-escalão’, que seria o Opera e Safari, mas estes ainda não conquistaram a legião de usuários como há no Gecko e IE. A guerra hoje ainda continua boa e, diferentemente no passado aonde disputavam inicialmente quem redenrizava melhor as páginas, hoje a disputa está sobre quem é o mais seguro. Mas porque a segurança virou prioridade para o usuário do que a renderização, ante ao significado da primeira guerra? Por que cada vez mais a web tem feito parte de nossas vidas. Cada vez mais, estamos usando a web para realizar compras, para acessar nossos e-mails, pagar contas e consumir mais conteúdo. A web tem-se tornado tão perigosa quanto andar na rua. A quantidade de golpes na internet tem aumentado e estar seguro, sem muito esforço, está virando prioridade dos usuários finais de uma certa maneira.

Vendo os números do site de segurança Secunia, um site preferido da Microsoft em relação a reports de segurança, notamos que o Firefox 2 ainda continua seguro, com 14. Já seus oponentes diretos, o IE6 possui a longa lista de 118 com seus 118 problemas e IE7 com 18. Sendo assim, podemos pensar: Nossa, mas o “Firefox já consertou alguns porque agora uso o firefox 2.0.0.6!”. Sim, mas até os usuários de IE estão no mesmo patamar, visto que muitas brechas foram corrigidas. Mas será que ter um browser seguro é o suficiente?

Vendo os casos de fraude online, muitos deles começam não porque o browser é inseguro, mas sim porque o usuário final é a verdadeira fonte de insegurança. Hoje, cada vez mais estamos recebendo e-mails do tipo ‘fishing’. Os ‘fishings’, na minha opinião, estão acima de todos os males de exploração da brecha de segurança de software. Ele explora a brecha de falta de conhecimento de um usuário. E isso eu lhes afirmo: Não há browser que segure.

Veja, por exemplo, esta imagem de mail fishing que recebi.

Fishing sobre cartão

Pense bem: Firefox nos protegeria disso? Veremos…

Firefox bloqueando fishing

Vemos então que o Firefox tem uma proteção quanto a isso. E o IE6? Bem, infelizmente não. Se não me engano, no IE7 passou a ter este recurso.

Uma coisa que sempre me preocupou em relação à segurança de um software está no que diz respeito a ‘público alvo’. Hoje, o público alvo ainda continua sendo o IE. Logo, muitos sites desenvolvem add-ons para o IE a fim de se aproveitarem dos usuários de alguma maneira. Um exemplo disso é um site oferecer gratuitamente jogos, sons e imagens para celular, mediante a instalação de um add-on no seu browser. Para o IE, temos os famosos ActiveX, que é para mim algo extremamente inseguro. O Firefox também tem, o Extensions. Extensions pode ser tão perigoso quanto ActiveX. A diferença, no caso, é se algum site está disposto a trabalhar neste modelo. Hoje, garanto que não há quase nenhum. Mas amanhã… precisaremos estar mais espertos.

Vale mesmo a frase, cunhada no Attriton: “No system is fool-protected.”

Lista de Firefox Extensions problemáticas - leaks

Thursday, September 6th, 2007

A grande sacada do firefox é o suporte a extensions… virtualmente transforma o firefox em qualquer aplicação que possa imaginar. Mas a vida… é uma caixinha de surpresas… (como diria Josef Cliber). Junto com essas maravilhas, podem vir alguns defeitos como memory leaks e uso intenso de CPU.

A lista inclui extensions famosas(das quais algumas não consigo viver sem), como:

——————————————————–

FireBug - Causes excessive CPU usage - Disable Firebug when not using it

All-In-One Gestures - May cause crashes. Also conflicts reported with spellchecker in Linux Mac OSX versions. - Sem workaround

Adblock - Problemas com OBJ_TABS - Não usa-las

——————————————————–

A do firebug é a mais evidente, eu sempre desabilito quando não estou usando.

A seguir a lista completa, direto do mozillazine:

http://kb.mozillazine.org/Problematic_extensions

Thursday, September 6th, 2007

Sun anuncia ofensiva contra o Linux

Terça-feira, 04 de setembro de 2007 - 12h17

SÃO PAULO - A Sun anunciou planos para que o seu sistema operacional OpenSolaris torne-se um rival à altura do Linux nos próximos anos.

De acordo com o site inglês The Inquirer, a intenção da Sun é tornar o Solaris tão comum na rotina dos usuários de tecnologia quanto o Java. Hoje, a linguagem de programação é considerada o bem maior da empresa e, recentemente, tornou-se também o código da Sun na Nasdaq, bolsa de valores das empresas de tecnologia nos Estados Unidos.

Para cumprir a meta ambiciosa, a empresa americana investirá nos mercados em que o Solaris não atua, como desktops e sistemas embarcados em dispositivos móveis.

Já para o ano que vem, a Sun anunciou a chegada no mercado de uma versão do Open Solaris que dispensa compilação. Com o codinome de projeto Indiana, o sistema operacional será similar a distribuições do Linux, como Ubuntu e Suse Linux.