taurus-org / taurus

Moved to https://gitlab.com/taurus-org/taurus
http://taurus-scada.org
43 stars 46 forks source link

The boat is sinking... #1140

Open cpascual opened 4 years ago

cpascual commented 4 years ago

This is a quite special bug report. It is about a community issue

IMHO, we should seriously re-think the organization of the Taurus development, and specially the core members (@taurus-org/integrators ). Currently the taurus management (integration, planning, steering,...) is de-facto concentrated almost exclusively on a single institute (ALBA)... and mostly a single person (me). This is neither healthy for the Taurus Project nor for me.

I assume the responsibility for this situation because at some point, 2-3 years ago, I perceived that the Taurus community had gotten enough momentum to be self-sustained, and therefore I neglected some community grooming to devote more time to other pressing issues..., this lead to decreased involvement from other institutes... and then more burden on ALBA... and then less time for community grooming... and this spiraled down to the current situation.

In contrast, let's look at the case of the Sardana community (which naturally should overlap a lot with the Taurus one). Thanks undoubtedly to the great amount of effort put in the last years by @reszelaz in building the community, it is now healthier than ever (i.e spiraling up instead of down). Big lesson here.

So, what to do?

Without discussing specific measures, I see the following general aspects in which we could improve:

I leave it here.

Let's use this issue as the place for discussion, proposals, etc

Please do not leave this issue unwatched and without comments... the irony of it would kill me... ;)

thorstenkracht commented 4 years ago

Hello Carlos, thanks for bringing-up the issue. I also think that we need to discuss certain things.

Below you find my immediate comments. I intentionally avoided addressing technical issues. This can be done at a later stage.

Best regards, Thorsten

cpascual commented 4 years ago

Thanks a lot @thorstenkracht for the input. Here some comments:

for me Sardana and Taurus belong together. Therefore, if we setup some new governance structure, both should be covered.

I agree. In fact we have always considered it all as the "sardana suite", encompassing both sardana and taurus, and we have included taurus in the presential "taurus+sardana meetings"... the main separation was at "project" (github and mailing lists) level because we felt that the technical discussions could be better dealt with separatedly... but maybe this got too far and we should at least do joint "steering" online meetings, for example

I would appreciate, if we could install some kind of decision making process within the 'Sardana' (Taurus and Sardana) community.

I was advocating for less formal, more organic governance (where, e.g., casual contributors from outside the main institutes could also easily act as integrators). But I understand that what you have in mind is somewhat the opposite... can you give an example of what you would prefer?

we have to ensure that Sardana is sufficiently supported

Fully agree. However, up to now, I have the impression that the taurus support to sardana has always been smooth. Do you have some specific worries in this respect?

reszelaz commented 4 years ago

Hi all,

Thanks @cpascual for starting this discussion and @thorstenkracht for joining it! I think it is a good moment for making a retrospective about the community which runs with this organization for 7 years already. My following comments refer equally to Taurus and Sardana.

I agree with @thorstenkracht that Sardana and Taurus belong together - Sardana can not exist without Taurus. On the other hand I also think that Taurus may be of users interest as a separate library.

From the community point of view I think that DESY, MAXIV, SOLARIS and ALBA are still the main users and contributors to Sardana and Taurus. Then IMO it continues to make sense that these sites play the core role in community.

During the last 7 years we also received numerous feedback and contributions from other places and here I would like to thank to all of them. I think that more sites could join the community core members if there is an interest in that.

About installing a decision making process in Sardana (Taurus and Sardana) IMO the existing TEP and SEP processes are working pretty well. The previously mentioned four sites are always voting decissions made in the enhancement proposals.

I agree with @cpascual that there is a big room of improvement in the PR review/integration. Currently any project collaborator can review & comment the PRs and there is a smaller group of the official integrators (proceeding from the previously mentioned four sites). I don't mind extending this last group if someone would like to join it. To ease the PRs review/integration we could try to prepare a list of special attention check points. Below some ideas:

  1. Functionality tests (preferable automatic tests). These can be insipred on the release manual tests and may be suggested by other reviewers/integrators in the PR discussion. Of course the more tests done the better.
  2. New features needs to be documentated.
  3. Backwards compatibility should not be broken. Defined on which level we ensure the backwards compatibility.
  4. Code needs to be self explaining and easy to understand. Eventually code comments should help in understanding it.
  5. Follow naming conventions (establish them if not clear now).
  6. Correct static code analysis warnings.
  7. Etc.

Well, these are just some ideas, we could make a braistorming metting on how to improve the PR review/integration process.

Regarding the communication channels, IMO the GitHub issues are very convenient. In Sardana we also mentioned to evaluate Slack or similar tools but we did not have time to do it yet.

In Sardana we also do periodic follow-up meetings (+/- 1 per month). Here many thanks to @teresanunez, @amilan, @daneos, @cpt-majkel, @julianofjm and @aureocarneiro for organizing them! Up to know we were mainly discussing Sardana issues there. But If we all prefer, we could try to find time to discuss both projects. Then maybe we would need to increase the frequency to do it +/- every 2 weeks - now we consume 2 hours for Sardana only. Another approach would be to organize a separate meeting for Taurus - I would be very happy to join it. In any case, I see it very beneficial to have this face-to-face online dicussion.

In case of Sardana we were recently working on the user's questionnaire - soon to be released. We hope it will help us to better understand how Sardana is used and to assign priorities in the very long backlog of bugs and feature requests.

There are also other ideas that we already identified on how to improve the community life...