Arduino is genius, but I prefer to recognise defects and decide what to do.
IMHO, the major defects were:
- printing PWM on the board, but calling it analogWrite,
- calling it analogWrite when it's a simulation of analogue, and
- the none-0.1" pin header spacing.
I really do think that is amazingly good. I wish everything were that good (we'd still moan, but that's just the "conservation of misery principle" TM in action)
To break things for cleanliness this late feels to me like "throwing the baby out with the bathwater". There seems to be little benefit, and quite a lot of damage. So Uno Punto Zero will carry these through.
So do we ever fix defects (not that I expect anyone to agree with my list)?
How do we help folks prepare for the change, and alter their existing projects to work with the new thing?
Will some changes just be too big for backward compatibility?
If we do change Arduino, what is the process, and what do we call the thing which has incompatible changes?
Is it only when crossing a major version number that all bets are off, or is their some other way to understand that incompatible changes are coming?
I feel that clearly stating guiding principles and answering these types of questions helps us decide how to best proceed.
There are some useful experiences from other Open Source projects that we can draw on. I think Arduino has extra challenges because it has physical existence too.
My $0.02
GB-)