quarta-feira, 18 de dezembro de 2013

Pinceis do Gimp e entendendo os cenários do Software Livre...

Sketch usando uma dinâmica para meios secos inspirada naquela default do Gimp.  Made with Gimp.
Sketch usando uma dinâmica para meios secos inspirada naquela default do Gimp.
Estou atualmente fazendo um trabalho de revisão dos pinceis oficiais do Gimp 2.8 e de muitas das dinâmicas da sua coleção. O meu intuito é colocar a prova todos os conceitos, intuições e conhecimentos que foram acumulados em 6 anos fazendo pinceis para o GIMP. Neste trajeto troquei impressões com muitos artistas e ilustradores (*) que usam o GIMP, alguns desses já não  o usam para pintura digital e ainda muitos que migraram para o Krita, que tem um cenário aparentemente mais ativo e interessante para a Pintura Digital.

Remodelando pinceis no Gimp

Neste caso o grupo de trabalho ao qual estou participando está pensando em adotar o meu conceito de design de pinceis para a nova versão do Gimp 2.9 e cada vez que se esbarra em argumentos como estes das resources oficiais, que estão à base de aplicativos, temos a que fazer com as comunidades, tanto de usuários, tanto de desenvolvedores. Isto requer organização na hora de argumentar... aparentemente é só fazer e pronto... mas não é assim que funciona. O software é como um grande bazaar aonde cada um tem algo pra dizer e argumentar em prol ou contra, e é justo que seja assim.

Foi esta experiencia atual e passada com project manager em alguns projetos de software envolvendo plataformas livres que me levaram a escrever sobre a minha visão do contexto geral do software livre aplicado a minha área, artes gráficas e, uma série de ideias e insights sobre como organizar melhor as comunidades de software livre.
Testando o conceito de uma dinâmica para muitos pinceis, incluindo os paramétricos.
Testando o conceito de uma dinâmica para muitos pinceis, incluindo os paramétricos.

Pintura Digital no GIMP

Eu ainda não entendi bem esta questão da Pintura Digital no GIMP, tem muitos instrumentos e funções para isto, mas parece que o programa não consegue se entender consigo mesmo ;) Talvez seja uma questão de colocar os usuários do programa — de médio e alto nível — para a pintura digital juntos e criar algum tipo de fórum ou mesmo discussão aonde possamos interagir com maior determinação, conhecimento e causa aos fins de melhorar e ou mesmo redescobrir modos e funções que o próprio Gimp esconde nos seus meandros.
Pincel Vine do Gimp 2.8, tag 'legacy' redesenhado por mim. Aqui usei o aerógrafo com um spread para pulverizar o pincel em modo a formar um pattern informal das folhas da videira. Made with Gimp.
Pincel Vine do Gimp 2.8, tag 'legacy' redesenhado por mim. Aqui usei o aerógrafo
com um spread para pulverizar o pincel em modo a formar um pattern informal das
folhas da videira.
O que dificulta a decolagem de qualquer software, seja ele qual for, é a relação que os mantenedores do software estabelecem com a comunidade de usuários. Esta pode ser uma via de dois sentidos, tanto boa como ruim, isto é, se você privilegiar uma parte da comunidade a despeito de outra, por questão de 'marketing' ou mesmo por 'quantidade' estará endereçando o software independentemente das suas reais possibilidades a ser visto como feito para aquele determinado nicho.

Comunidades de profissionais específicas e visão geral

Não existe um levantamento e tão menos uma ideia de quem usa software livre para as artes aplicadas nem no Brasil e nem fora dele... isto complica por demais a questão de sensibilizar o profissional das artes quanto as oportunidades únicas que o software livre oferece.

Hoje em dia, no software livre da área das artes aplicadas, se pode notar uma grande quantidade de concept artists, que trabalham ou no mundo da animação 2D e 3D ou mesmo para o cinema nas áreas de efeitos especiais... e não esquecendo a dos games, que acredito seja a maior parte dos casos de quem usa software livre.

Em alguns casos a alta concentração de profissionais de uma determinada área impede ou dificulta uma visão mais ampla das possibilidades do próprio software.

As vezes até mesmo o staff de desenvolvedores é tomado de surpresa por coisas inéditas ao o escopo que eles traçaram para as suas próprias criaturas... e isto é natural, pois as vezes um desenvolvedor imagina uma capacidade nova e interessante mas não vislumbra completamente os usos desta, somente pra fazer um exemplo prático — o MyPaint é visto por seus criadores, como um pacote para sketching essencialmente, mas desde a origem ele tem o canvas infinito — para quem está acostumado a trabalhar na 'concept art' isto pode ser comodo pra agregar e mudar o campo... pra quem trabalhar no mundo do papel esta função abre a possibilidade para trabalhos com maior profundidade e resolução... ou seja involuntariamente a aplicação abre a estrada para uma área não pensada por seu idealizador... e o que fazer a partir disto é que pode ser uma área de conflito ou de comunhão com a comunidade de usuários.

Relação entre usuários e desenvolvedores no software livre

Mas qual seria o papel dos usuários e como estabelecer relações saudáveis e educadas com quem dá o seu próprio tempo a prol de algo que nem os próprios criadores, as vezes, conseguem vislumbrar? (**)
Sinceramente, acho uma coisa muito complicada no estado atual, pois falta em muitos casos o elo de ligação entre desenvolvedores e usuários finais... aqueles que em um certo modo se tornam respeitáveis na comunidade somam a de simples usuário também a função de desenvolvedor ou quase isto. Mas esta condição é peculiar e não podemos exigir ou pretender que todo usuário seja também em parte um quase desenvolvedor ou nerd que seja.

Então o único modo que vejo para resolver este dilema é criando comunidades abertas ou não para cada ou conjunto de software, aonde os usuários possam trocar impressões e organizar documentos mais densos de informações, intuições, ideias para que um determinado software evolua. A partir daí este sistema pode criar vínculos com os diferentes grupos de desenvolvedores e assim encontrar um canal de escoo para suas ideias e questões mais importantes e vitais.

Comunidades e desenvolvimento do software livre

Já existem bastante comunidades abertas para quase todos os softwares livres, isto é muito presente no universo google+, e acho que está aí uma coisa boa de ser experimentada por todos as classes de usuários, new entry, médio e avançado. Uma comunidade que estou achando que tem uma marcha a mais é aquela da distro Elementary (+Anderson Prado, thanks!) aonde funciona muito e aonde dividiram a discussão em modo brilhante e eficiente.

Estas mesmas comunidades poderiam de alguma forma ser o cerne de fundações e organizações que possam captar fundos para poder financiar projetos ao interno de cada software ou mesmo no conjunto quando se trata de software que pode estar na base de muitas aplicações, por exemplo, uma interessante questão seria a criação de uma normativa para realização de pinceis digitais comum a todos aplicativos, em modo que pudéssemos ter uma especie de pincel universal.

Um exemplo grande e importante financiador, pelo porte e fama 'benfeitor',  destas causas é o Google Summer Code, que vem sendo utilizado por muitos aplicativos, como o Gimp, Inkscape, Scribus, etc... Esta iniciativa vem ajudando o opensource em geral desde 2005 de forma 'positiva' e vai seguramente incentivada e melhor organizada (principalmente no controle da qualidade dos resultados obtidos) e quanto menos vai exigida uma maior participação das comunidades de usuários (***)... hoje em dia tenho a impressão que muitos dos projetos aprovados pelo Google Summer Code tem origem no staff de desenvolvedores, e o que é bem natural ... isto porque, enquanto o grupo de desenvolvedores é coeso e compacto, em muitos casos, o mesmo não se pode dizer das comunidades de usuários... então se de um lado cresce o numero de comunidades, que é altamente positivo, por outro lado pulveriza os  seus efeitos... diluindo tudo em quase nada ou pelo menos não conseguindo influenciar os caminhos de um dado software...

Mas então o que falta?
Parece faltar a capacidade de criar canais de comunicação entre as varias comunidades ativas e planejar metas comuns capazes de alimentar o software livre com blueprints, recursos financeiros, material humano profissional para debugging, test e promoção de cada software.

Mas como se faz isto?
Em primeiro lugar interligando as varias comunidades entre si através do auto-referenciamento, depois agendando um minimo de atividades comuns entre os administradores das diferentes comunidades (encontros, party's day, hangouts, ...). Naturalmente cada comunidade irá criar um repertório de 'coisas' que poderiam ser uteis para inúmeras tarefas, ações e principalmente novas funções ou rearranjo daquelas já existentes. A vantagem de ter isto dentro uma comunidade de usuários e não ligada fisicamente à comunidade ou grupo de desenvolvedores  é que esta teria o papel de filtrar e entender a fundo as melhores e principais questões e apresenta-las numa forma mais orgânica e segundo as normas que os desenvolvedores estão acostumados a lidar. Não tem coisa pior de uma boa ideia ser mal compreendida pelo staff de desenvolvedores e cair no esquecimento pois não encontrou o terreno fértil pra faze-la germinar.

Mas quanto tempo precisa pra isto?
Isto eu não sei responder... pode ser muito ou pouco e depende em grande parte de como as diferentes comunidades estão organizadas e como estas irão receber os pedidos de colaboração e de 'comunhão de intenções'... seguramente o jeito melhor pra entender o processo é começar... então mãos à obra!

Notas:


Related Posts Plugin for WordPress, Blogger...