26 dicembre 2010

Copyright nel 21esimo secolo

In un’articolo pubblicato in prima pagina su ilfattoquotidiano.it Federico Mello descrive i cambiamenti recenti all’interno dell’industria discografica, suggerendo che le attuali modalità di distribuzione e i prezzi bassi renderebbero, contrariamente a 10 anni fa, la “pirateria” ingiustificata. Seguono i miei pensieri basati su un commento che ho fatto all’articolo.

Nell’ambito della codivisione di file, il punto cruciale che spesso non viene colto è l’assoluta arretratezza e inadeguatezza dell’attuale normativa sul copyright. La quale non fa assolutamente gli interessi della collettività, come dovrebbe e come probabilmente faceva un tempo: fino all’800 violare il copyright significava possedere una tipografia che stampava materiale di cui non si avevano i diritti (c’è poi da dire che le prime leggi in materia sono nate per ragioni assai meno nobili, ma questo è un’altra storia...). Sta di fatto che ora il copyright fa invece quasi esclusivamente gli interessi delle multinazionali dell’entertainment e di pochissimi artisti che di certo non rischiano di morire di fame.

Diritti esclusivi per 70 anni (negli Stati Uniti 70 anni dopo la morte dell’artista) sono un lasso di tempo ridicolo. È davvero raro che i piccoli artisti, quelli per i quali è più importante assicurare un ritorno di investimento, riescano a guadagnare qualcosa dalle loro creazioni per più di una decina d'anni.

La metafora del furto non funziona. Se io ti rubo una mela, te non la hai più. Se io invece ti “rubo” una canzone, la abbiamo entrambi, non è una cosa fantastica?! Dicono che rubiamo un possibile profitto all’artista, il che, in particolare per piccoli artisti, potrebbe non essere così vero (diventando più conosciuto potrebbe finire per guadagnarci). Ma soprattutto, chi lo dice che colui che ha creato un’opera d’arte ha moralmente diritto a una ricompenza ogni volta che qualcuno ne usufruisce, e quanto dovrebbe essere questa ricompensa? quanto vuole lui? o altrimenti chi lo decide? Se io racconto a delle persone una storia che mi sono inventato, posso arrabbiarmi se loro la raccontano ad altri?! Sono convinto che non può esserci una regola morale assoluta e in questo caso il principio guida dovrebbe essere di fare ciò che più giova alla collettività. E, nel dubbio, lasciare una maggiore libertà, perché sia ben chiaro, il copyright è una limitazione abbastanza arbitraria alla libertà personale.

Non voglio affermare che eliminare tout court ogni forma di copyright sarebbe la soluzione migliore, anche se a mio avviso la società nell'insieme ne guadagnerebbe rispetto al sistema attuale, senza limitare poi tanto l’esistenza e la creazione di contenuti (o almeno questo vale per quanto riguarda contenuti principalmente ludici, non avere una minima forma di copyright per esempio per giornali o libri di testo potrebbe creare qualche problema). Ma per esempio limitare il copyright (non il diritto d’autore che è una cosa diversa) a 10 anni, permetterebbe a chiunque di ottenere guadagni più che sufficienti, e chi è disposto ad aspettare avrebbe un mondo da guadagnarci.

Un mio consiglio: se volete finanziare i musicisti che vi stanno a cuore andate ai loro concerti!

20 dicembre 2010

dove va la neve? (parte II)

forse prima o poi
la neve è destinata a tornare
la poesia a riprendersi il paesaggio
e le persone a sognare

i fiocchi riportano in vita
speranze lungamente assopite
il riso rieccheggia nelle valli e nelle anime
e le persone vengono riunite

con i sogni
si costruiscono castelli
troppo alti
e troppo belli

i primi scricchiolii
vengono ignorati
i primi squarci
con un po' di apprensione, osservati

ma la valanga
è in agguato
e la tempesta
ti coglie impreparato

il gelo nell'aria
diventa gelo nel cuore
il sogno che ti dava forza
una speranza che muore

nel silenzio incerto
che ha succeduto alla tempesta
un vago ricordo del fuoco che è stato
è tutto ciò che resta

03 settembre 2010

Ruby Summer of Code, End

Ruby Summer of Code has come to an end. We want 1.0 of Hackety Hack to be really polished and ready, so on Whyday we decided to release just a prerelease version, it can be downloaded from github (you can find the Ubuntu version here). It has already been downloaded over 650 times. There will be another prerelease version in a few days with the latest improvements included. It should not be much then until 1.0 final.

Most of the change since my last blog post are lots and lots of bug fixes and small improvements, specially to the user interface. The state of not used tabs is now preserved, and you don't risk accidentally losing unsaved changes anymore. The lesson architecture, which was very minimal when just implemented, now has an index to easily navigate through the pages and when a lesson set gets opened it will do so on the same page the user last left, along with many other enhancements. And thanks also to an improvement in Shoes, now window size is handled much better.

To make contributing to Hackety Hack easier I added some documentation for developers to the wiki, there are also much more comments in the source code than before. On the website there is some help for users available, so that they won't get lost.

Sometimes I found it a little hard to work with Shoes, as it seems to not have the flexibility needed in an application of medium size. This is why, triggered by a discussion on the Shoes mailing list (see also this follow up discussion), I played around a bit with the idea of a Shoes implementation based on qt-ruby, some proof of concept code can be found on my github repository. Based on my initial idea Steve Klabnik also created a Shoes branch. Some of the advantages of using Qt include good cross platform support, including support for multimedia and support for the promizing MeeGo mobile platform, many additional features that would be provided by Qt for free. And it might be easier for people to contribute to code written in Ruby instead of C, I know C a little but I found that the current Shoes code base isn't very welcoming.

Of course this is, for now, just proof of concept code, and there are quite a bit of things to do before it will become obvious if this road will really lead to something useful. For example I did't find a straightforward way to implement the current way text and other elements are combined. But it looks promising nevertheless.

So, I must say it has been wonderful to have this opportunity. Many thanks go to my Summer of Code mentors Steve Klabnik and Christopher Redinger for their help and encouragements, and to all the RSoC sponsors that have made this possible. I hope and am quite sure this will pay back in terms of a very nice application that will help many people get into programming, ruby and free software.

Bugreports and comments are obviously welcome!

21 luglio 2010

Ruby Summer of Code, Midterm

As I've gotten this exiting opportunity to work on Hackety Hack for the whole summer, it's only fair to let people know what I've been up to. Let me thus summarize what has been done in the first half of this great Summer of Code.

I started by making some improvements to the editor and the Try Ruby console. The editor now has undo and redo support using key shortcuts, highlighting of blocks and brackets, and simple automatic indentation (when starting a new line the indentation level of the previous line will be used). I also improved the history browsing in the console, which is triggered using the up and down keys, and while doing so I fixed a few bugs and made some other minor improvements to the console; some work is still needed there, as I recently noticed a few bugs that need fixing, I hope to have them smashed soon. This phase provided the additional benefit of allowing me to familiarize more with the code base and with Shoes, upon which Hackety is built.

Next I implemented a turtle graphics DSL. I think turtle graphics is a nice way to introduce young people to programming, it's fun and lets you understand how the flow of execution of code works. ashbb made a great video capture of the turtle in action (thanks!). If you feel adventurous and want to try it out you can download the latest development snapshot, or fetch the development version from github, you can find some documentation for writing turtle code here.

Once this was done I had to dive back into the code of the main application, and did a little bit of boring but needed refactoring. Then I started to write the code needed to be able to write lessons. For more info about the lesson architecture you can read the email I wrote on the mailing list. Here follows a screenshot where the current state of the lessons can be seen:

All in all I'm very happy with what I've been able to accomplish so far, my ruby knowledge has improved a lot, especially with regards to reflection and to writing DSL, having written two! (one for the turtle graphics and one for the lessons)

It seems we will easily manage to release 1.0 in time for whyday, thanks also to the help of Steve who is rewriting the website. I've finished doing exams for university, thus from now on I can concentrate more on Hackety coding myself. It seems things are moving again in Hackety land, people starting contributing, the mailing list having become quite active again, and the downloads at github showing people displaying interest in the development process. The priority will now be 1.0, finishing the lesson architecture, and writing a few basic lessons, and then stabilizing and polishing until the 19th of August. But I've already got a few interesting post-1.0 ideas in mind. You will hear from me... Happy Hacking (or Hackety-ing? =)

05 febbraio 2010

speranze infuocate dall'avidità

mi sento annegare
risucchiato in fondali
privi dell'aria
che agogno

ma di sete
ugualmente
grida
ogni mia cellula

perché non è ossigeno
né acqua
ma amore
ciò che bramo

04 gennaio 2010

dove va la neve? (parte I)


m'era parso d'intravedere
fiocchi di neve e di felicità
donatimi dal mondo
nella sua discontinua bontà

forse era soltanto un sogno
soltanto un flebile miraggio
ombra dei miei desideri
immaginario viaggio

o un evento destinato a rimanere
nulla più che un ricordo distante
lavato via dal tempo
come neve sciolta dal sole accecante