>Uma pequena declaração sobre a história do projecto e a forma como
>vão ser usados os respectivos prémios. Algo muito simples com os
>motivos que levaram à ideia do Panasync e a forma como evoluiu (e vai
>evoluir). E, já agora, uma breve declaração sobre o Open Source.

O Panasync resulta do fechar de um círculo que envolveu motivação
prática, investigação teórica e, finalmente, desenvolvimento das
ferramentas apropriadas. A motivação inícial para a investigação
partiu da análise de um caso "da vida real": a dificuldade em
determinar quais os ficheiros obsoletos e quais os que são
importantes, em situações onde existam várias cópias de ficheiros
editáveis (textos, listas de itens, código fonte, ...) que estão ou
estiveram dispersas. Estes casos ocorrem frequentemente sempre que os
utilizadores fazem cópias "para levar de fim de semana" e depois se
esquecem de que elas existem, ou na normal e usualmente caótica gestão
de cópias de segurança sem recurso a ferramentas de controlo de
versões ou de backup. Um outro problema ao qual o Panasync também
procura responder diz respeito à possível existência de versões ou
cópias perdidas de um dado ficheiro. Na verdade, o Panasync permite
responder às questões: "será que já descobri e juntei todas as
cópias?"; "será que posso apagar este ficheiro?".

Face a este cenário, e sendo um dos autores particularmente
desarrumado, e como tal sensível ao problema, surgiu a motivação para
uma análise mais aprofundada do fenómeno. Deveria ser possível
conseguir acompanhar a evolução das várias cópias que vão sendo
geradas, por forma a que estas sejam sempre comparáveis no que diz
respeito ao número de alterações por elas sofridas. Uma vez resolvido
o problema, deveria ser possível determinar para quaisquer duas cópias
se estas são equivalentes, se uma sofreu mais alterações do que a
outra (e como tal uma é mais antiga), ou se as duas viram diferentes
conjuntos de alterações.

O modelo matemático inicial, do Carlos Baquero, era muito ineficiente
na forma como registava a informação do inter-relacionamento das
cópias. Estando ele consciente de que existia esse problema, mas não
vendo como o ultrapassar, recorre ao seu colega Paulo Almeida. Numa
profícua conversa algures em 1999, surge uma analogia com um sistema
de lógica digital, o que finalmente abre a porta a uma solução
eficiente para o problema. Naturalmente, o problema não cedeu à
primeira investida, e foram-se seguindo várias discussões ao longo das
semanas seguintes.  O resultado preliminar é apresentado num artigo no
Encontro Português de Computação Nómada, que decorreu em Tomar em
1999.

Nesta fase junta-se à equipa o Victor Fonte, que já tinha contribuído
nas discussões anteriores, e o modelo atinge a maturidade necessária
para se pensar numa implementação de referência. Devido à necessidade
de se obter uma implementação eficiente e próxima do nível do sistema
operativo mas ao mesmo tempo de ter uma boa capacidade de modelização,
opta-se por C++ e a respectiva STL (Standard Template Library). A
propósito, para responder à necessidade de tornar persistente os dados
manipulados recorreu-se à XTL (eXternalization Template Library), um
projecto de software aberto igualmente desenvolvido na Universidade do
Minho, pelo José Orlando Pereira. Os primeiros prototótipos surgem na
viragem do ano e permitem já auscultar a aplicação do modelo à gestão
de cópias de ficheiros. Surge também um novo artigo, que é apresentado
em 2000 na Dinamarca, no Workshop Europeu do grupo de sistemas
operativos do ACM.

Com o aparecimento do primeiro código surge também a necessidade de se
pensar em licenças de software. O conjunto de código que aplica o
modelo matemático à gestão de ficheiros é um candidato natural para um
modelo de licenciamento com base na GPL (GNU Public Licence).
Pretende-se assim proteger o esforço investido nesse código e garantir
que eventuais melhorias aos comandos Panasync Tools revertam para
comunidade interessada.

A questão já não era tão clara para o conjunto de código que
concretizava o modelo matemático. Esse núcleo de código é bastante
contido e limita-se a concretizar um modelo matemático, modelo esse a
expôr publicamente através de publicações de investigação. Não
querendo os autores impedir o seu uso em software de código fechado,
optou-se por licenciar o núcleo com base na licença LGLP (Lesser GPL).

Deste modo o código Panasync arrancou com base no par de licenças
GPL/LGPL. Ficou-nos a ideia de que a flexibilidade de licenciamento é
uma caracteristica importante para o desenvolvimento do Open Source e
do Free Software e que as soluções devem fazer sentido caso a
caso. Contudo, a diversidade de licenças e as inúmeras guerras
religiosas sobre os modelos de licenciamento deixam antever que a
escolha de uma licença continuará sempre a ser uma questão difícil.

Com o arranque de um projecto de opção da Licenciatura de Engenharia
de Sistemas e Informática da Universidade do Minho, surge a
oportunidade de juntar o Nuno Lopes à equipa. Com o seu contributo
para a re-estruturação da parte GPL do código, o Panasync adquire em
2000 e no início de 2001 uma maior estabilidade e usabilidade.

Ao longo de 2001 procedeu-se à consolidação e documentação do modelo
matemático pelo que o código e a divulgação do projecto estabilizaram
(para não dizer estagnaram) até à decisão de concorrer ao 1.0 Concurso
do Futuro.  Esta decisão conduziu à internacionalização das mensagens
de ajuda e erro, por forma a incluir a lingua portuguesa, e a uma
revisão das instruções de utilização.

Com a atribuição do 1º prémio a equipa passa a dispôr de uma máquina
que será alocada como posto de trabalho para o Nuno Lopes, uma vez que
os outros três autores já possuem recursos individuais no Grupo de
Sistemas Distribuídos do Departamento de Informática da UM.

Acima de tudo, espera-se que com o prémio se possa dar um arranque
expressivo à divulgação do projecto, quer no que diz respeito à
captação de novos utilizadores, quer de novos programadores. Todos são
imprescindíveis à constituição de uma comunidade activa que se deseja
vir a conduzir o desenvolvimento deste projecto. Bom código e código
útil não tem nem idade, nem raça, nem sexo. Todas as contribuições e
opiniões construtivas são e serão sempre bem-vindas.

As tecnologias que nos foram oferecidas pelo desenvolvimento aberto e
colaborativo que está na base do kernel do Linux, às ferramentas GNU e
a tantos outros modelos de sofware aberto, precisam e merecem uma
contribuição de todos os que quiserem construir (com verdadeiro
espírito de hacking) novas soluções e novas ferramentas que melhor
satisfaçam as suas necessidades e com alguma sorte que ajudem também
as satisfazer as necessidades dos outros.

Portugal tem bons programadores, e concursos como este podem,
indiscutivelmente, estimular a participação em projectos com origem
nacional e fomentar o arranque de novos projectos de sucesso.

Aqui não há geografia que nos mantenha na cauda da Europa.