In the recent New Scientist article "Eight things you didn't know about the Internet" the question is asked Could the Internet become self-aware?.
The article quotes Free University of Brussels consciousness and artificial intelligence researcher Francis Heylighen
"Adding consciousness is more a matter of fine-tuning and increasing control... than a jump to a wholly different level,"
If a basic low level of consciousness (albeit a non-human form of consciousness) can be achieved by creating "a system of mechanisms for making information processing more efficient by adding a level of control over which of the brain's processes get the most resources" then it should be reasonably possible to implement something similar for the CPAN.
I've been pondering if we are seeing the faintest hints of this kind approach in the FAIL 100 list.
Where the Volatile 100 is merely a ranking of both important and risk on a particular dimension, the FAIL 100 makes a specific judgement call on where we should be focusing our maintenance efforts for maximised productivity.
I suspect I've been heading in this direction for a while without realising exactly what I was doing, and I plan to go do a bit more reading on the subject now that I have some references.
If we look forward at what some notional "CPAN 2.0" might be, I think some of these ideas definitely come into play. Just as Web 2.0 has been largely about computing across relationship networking for humans, perhaps we reach "Repository 2.0" when the repository is able to efficiently model the totality of the dependency network within itself and automatically make judgement calls about the most efficient ways to allocate development, testing, and maintenance efforts.
To support the computation of these priorities, however, requires more data, and more communication of data between the different parts of CPAN. So in the short term, I plan to focus my efforts on getting more SQLite database exports from the various CPAN systems, and to make it easier to communicate this data between the different subsystems.
That CPAN 2.0 will run my code's tests, detect errors, and submit patches!
Unbelievable!
Fantastic!
I look forward to this almost as much as I look forward to getting paid...