@billroy
The whole purpose of having a separate IDE for a while is to work with the community to estailish standards to use in the future.
Adding a new core to the IDE to support a completely different processor is going to bring pain, we have done some preparatory work to be able to do that, the work is clearly not complete.
I don't exactly understand when you say "to have one's work broken without warning, again and again."
In 2010 we had a meeting with a number of prominent members of the community, we even flew a few of them from japan and europe to NYC to discuss the future Arduino 1.0, we blogged about it and we discussed it on the developer mailing list.
We mentioned over and over that we were going to break a few things in order to have an 1.0 API that could stay stable for a long time.
We released beta IDE's for a while and yet when 1.0 came out a lot of people acted like they were taken by surprise.
Now we're bringing to the table a completely new processor with many more possibilities, adding these features to the core is going require that we make some additions to the API keeping the old API stable as much as possible (for example pinMode on ARM should have many more modes, but the old one will still behave as expected.)
We've released the 1.5 IDE as beta, there are bugs, this is obvious. the Examples vs examples is clearly a bug that has been fixed already.
Having said this it's not a bad idea to have a discussion on how to clean up the directory structure of libreries to make them more standard.
At the end of this process we can write a nice wiki page with all the detailed specs and everybody will have the right info to work from.
Change happens , let's work together to drive where this is going. The beta of 1.5 is a chance for arduino to move to a more open development model
PS:where would be the right place to keep in touch with library writer? as it seems that our current channels do not reach all of them.
m
billroy:
Massimo, I have the highest respect for your judgement and this platform. It's your ecosystem. You can break it if you want to.
But hear me out. As a long-time Arduino library developer, I can tell you it's both frustrating and disheartening to have one's work broken without warning, again and again.
Massimo: You won. This platform is a huge accomplishment. There are existing projects on Duemilanove boards that will be in operation for decades, perhaps long after we are dead. This is goodness. But unless the Arduino team perceives it to be part of its mission to provide a tool chain that will be compatible over that kind of time scale, those systems will become useless the first time a bug is found and an old library needs to be recompiled to fix it.
I would agree library developers have a responsibility to track the core. But it is a fact of life that there are libraries that are not going to be maintained any more and therefore need to be buildable in their present state.
The thing that is particularly egregious about this proposed change is that it not only breaks current libraries, but it also prevents co-existence of future versions with earlier versions of Arduino needed to build older projects.
From my perspective, the team should take more seriously the impact of its decisions to break backwards compatibility. If there is a way to keep the old libraries working, then keep them working, even if it's ugly compared to the shiny new stuff. In my view, this is a responsibility that comes with the success of this project.
If the core team does not agree with this view, it would be helpful to hear.
Thank you for listening. I'd be happy to follow up either here or privately.
Best regards,
-br
http://bitlash.net