Maintaining an Arduino platform port

Well, I think it is worth noting the way the most recent significant advancement in the Arduino development software, pluggable discovery and monitors, was handled: This system was based on a contribution to the classic Arduino IDE from Paul Stoffregen:

which then needed to be expanded and ported to Arduino CLI. An RFC was published for each component of the project:

and these were advertised on the mailing list. The pluggable discovery RFC had a ton of high quality input from the community, and there were some significant evolutions of the proposal in response (the community was not so interested in the pluggable monitor RFC, but it followed the template of pluggable discovery closely). This was followed by the implementation and documentation of those proposals in the public open source Arduino CLI repository, done via pull requests with plenty of time for reviews from the community.

So this was all done very much in a transparent manner that was open to input from interested parties. But I'm sure you could point out other cases where it went differently. Maybe it is a sign of improvement though? The same process is being used for the "build profiles" feature.

I also think the ArduinoCore-API project is a positive thing for 3rd party platform developers. But you would certainly be justified in arguing that Arduino is not so receptive to community contributions in this area. As you say, a big part of maintaining a popular open source project is turning down proposals. I think it is essential for Arduino to maintain direction and a specific vision when it comes to the Arduino API, and that is not compatible with accepting every thing anyone happens to throw at it, even if technically sound. But as you also say, the proper way to do that is by saying "no" nicely, not by ignoring the contributions.

1 Like