Some thoughts on the typical RIOT workflow

Dear reviewing IOTlers,

the RIOT maintainer meeting that happened yesterday triggered some thoughts about our common workflow [1] when it comes to pull request introducing new features, new hardware support, or new concepts.

The first observation is that proposing something new goes often along with quite a bunch of implementation already done. On the one hand, this sometimes steer discussions into the wrong direction where some people already start to dig into implementation details while the discussion about the general approach haven't yet concluded. On the other hand, the contributor is much more reluctant to change his or her approach (or even give up on it) because so much time has been spent for implementing it.

The second observation is that the typical scenario is that a single person proposes a pull request and then tries to convince the rest of the community that the idea and realization are good and worthwhile to be integrated into RIOT master. Depending on the openness of this person regarding feedback and his or her responsiveness the lifetime of the pull request and the effort spent on it (from both sides) can easily explode.

As an idea how to tackle both problems, I think it could be useful to change this "one against all" approach (over-exaggerating here, of course). If someone wants to propose something new, he or she could ask for a somewhat experienced RIOT developer to pair up with (we could think of it as a sparring partner and sponsor if you like). So, one could first discuss the idea and the realization approach with this partner, before actually starting the implementation. Then, both (or potentially more people) would present the PR to the rest of the community and try to defend and improved it together.

Cheers Oleg

[1] Excuse me for still talking about "we" and "us" here although I haven't     contributed anything for a long time. And also excuse me if I'm not taking     recent developments in this respect into account.

Hi,

That’s great to discuss before developping new feature.

Why don’t we use a idea voting system platform or +1 button of ideas in github issue to vote and discuss for most waited next feature?

Cheers,

Hi,

That’s great to discuss before developping new feature.

Why don’t we use a idea voting system platform or +1 button of ideas in github issue to vote and discuss for most waited next feature?

Cheers,