Hi Mathieu, On Tue, Jan 20, 2015 at 09:53:33AM +0100, Mathieu Malaterre wrote: > [All the following only reflect my sole opinion based on my limited > contribution to Debian, and may not even reflect the reality.]
at first thanks for sharing your reasons to step back from the teams. As all your technical contributions it was welcome and inspired me to do some additional research in the teammetrics project. All I write below is not to revert your mind (which probably can only be your own decision) but my personal view on these things ... also trying to reflect the reality with numbers. > On Wed, Dec 24, 2014 at 10:21 AM, Mathieu Malaterre <ma...@debian.org> wrote: > > Hi, > > > > I hereby resign from both the debian-science and debian-med maintainer > > team in Debian. > > I am not able to produce any good work within those teams, so remove > > me from the Uploaders field on next upload. Thanks. > > I was privately asked to comment on this decision, so as to understand > what could be changed or improved. This private question was asked by me in case somebody might wonder ... > I am not going to enter in a long thread, for which I'll be the sole > reader. So in summary: I hope that this thread will find some more readers since I'd consider it independently from your resignation. > 1. Debian aims to be "the universal operating system". This means that > <insert exotic arch> needs a little love, even if this is not the > actual desktop used by scientists. I agree that I had to fight through some architecture issues in the past. I personally found out that one of the following solutions was easy to find: 1. Either getting help bei porters or 2. Restricting the package to architectures where it builds and runs [I guess this was not your reason you left the teams since you will face the issue also as non-team maintainer.] > 2. Debian is still just an OS with some user level programs. > Particular attention is needed to help -release team for ABI > compatibility issues, and more generally API compatibility (program > level). That's true. Debian wants to release something to its users. [I also see no reason here to leave the teams.] > 3. Other teams (debian-python, debian-java...) are organized by > languages. They have a clear (per language) policy for stating if a > package is in good shape or not. I perfectly agree that a clear policy is helpful and necessary to form a strong team. I fail to see in how far this is a specific feature of language teams. I was always keen on spreading the good experiences we had in the Debian Med team when adopting the policy of the pkg-perl team (which looks like "the mother of all Debian team policies ;-)). > 4. Debian scientific groups are organized as single person team. If > the package "just work" for solving their actual scientific problem, > then everything is just fine. There is in some case very little > mutualisation. I agree that in scientific groups we have a mixture of partly very different specialists. I previously wrote several mails on Debian Science how I imagine better focussing but this should not be the topic of this mail. Your concern has inspired me to take a "scientific" look how those Blends (most of them with scientific orientation) are working together. In the teammetrics effort we are assembling the VCS commits of different teams in the database and I tried to find an answer, how many maintainers are working on the packages. For the readers comfort I have put the resulting graphs on one page: http://blends.debian.net/liststats/blends-teams.html Loocking at the teams I think we can ignore debian-astro for now since it was just forming. From my point of view Debian Med, DebiChem and Debian Multimedia are working quite nicely together since the majority of packages is maintained by more than one person (at least in summary - it might need another detailed inspection how it works if you split over years to see whether just some person adopted from another single maintainer or whether there is cooperation all the time). I see room for improvement in the other three teams while I know from own experience that there is moving a lot in Debian GIS (pkg-grass) currently. And yes, it seems you are correct that the cooperation in Debian Science could be better. However, what the graphs from language teams assembled on another page http://blends.debian.net/liststats/language-teams.html is showing that there is no significant difference between Blends teams and language teams. You have teams which are perfectly working together like pkg-perl - which might be the clear proof why a policy is really helpful - and also pkg-java and pkg-ocaml-maint are looking quite sensible from this graph. On the other hand you see teams looking not way different compared to Debian Science. In short: You are correct about the role of a clear policy but the destinction you tried to make between language teams and scientific teams (or Blends in general) can not be supported by the investigation I did. Once I have found out this and I had assembled the needed data I tried to find out how your personal feeling might have evolved based on the commits you did on different packages in different teams. The attached query output contains the team in the first column, the package in the second column (main ordering criterion) and in the last row the number of commits different maintainers did. Since the teammetrics effort was sometimes criticised about violating privacy (even if all data are open an aggregation of open data is something else) I anonymised the data and marked your own commits with '-->' in front of the number of commits. (BTW, all queries are in Git[1] and can be re-run or modified on blends.debian.net) What I see from this table is that with very rare exceptions you never worked alone on a package and these exceptions are not in Debian Med and Debian Science. So even the general pattern that in Debian Science are people working alone is not true for the packages you are working on. But as I said, my plan is not to let you re-consider your decision. I just tried to understand your reasons based on numbers and failed in doing so. > Because all of the above goes against my own intuitions, I think I'll > be able to provide better results working on other packages. However, to make sure we will be able to properly care for the packages you have shown interest in the past, I think some more words need to be said (perhaps in a different thread). I personally assume that a maintainer has its own interest why he works on certain packages. From my personal perception you were *the* medical imaging expert (the selection of packages you commited to is supporting this assumption) and you need these packages for your day to day work which is a good reason for your involvement. I do not understand how you could put those packages you need at risk beeing non-properly maintained by people who are not experts in this field. I admit I'm *totally* clueless how we should keep on your good work you always provided reliably and in how far this might be good for your own interest to have rock solid and usable medical image packages. Some enlightment how you think about this would be welcome. > Again this is my *sole* opinion, I am not going to ask any group to > change anything, this has been working great for others so far. A final remark about this. While I'm personally quite happy about the work in Debian Med (with some potential for enhancements for sure) I think Debian Science maintenance has not qualified for "working great". This was criticised in the past, probably most prominently by Matthias Klose (Doko). However, at least I for myself see my work in Debian not only in adding packages to the pool but also as trying to solve problems (not only technical ones). This is one reason why I started the teammetrics effort (and thanks to your mail I was inspired to get a new measure :-)). It is not my style to see a problem and run away. I rather try to find a solution and this mail should be part of it in the hope to find other readers who might have a similar problem like Mathieu. I'd recommend that if you are concerned that too few people are working on a package in a team just commit yourself to the package in question to fix it. Thanks for your attention Andreas. [1] http://anonscm.debian.org/cgit/teammetrics/teammetrics.git/tree/maintainer_per_package.sql -- http://fam-tille.de
project | package | ncommit ----------------+--------------------------+--------- debian-med | activiz.net | -->52 debian-med | activiz.net | 5 debian-med | activiz.net | 2 debian-med | activiz.net | 2 debian-med | aeskulap | 36 debian-med | aeskulap | 16 debian-med | aeskulap | -->8 debian-med | aeskulap | 2 debian-med | aeskulap | 1 debian-med | aeskulap | 1 debian-med | alien-hunter | 22 debian-med | alien-hunter | 1 debian-med | alien-hunter | 1 debian-med | alien-hunter | -->1 debian-med | bio-formats | -->21 debian-med | bio-formats | 2 debian-med | bio-formats | 1 debian-med | bioimagexd | -->6 debian-med | bioimagexd | 1 debian-med | bioimagexd | 1 pkg-java | bnd | 27 pkg-java | bnd | 15 pkg-java | bnd | 13 pkg-java | bnd | 6 pkg-java | bnd | 3 pkg-java | bnd | 3 pkg-java | bnd | 3 pkg-java | bnd | 1 pkg-java | bnd | -->1 pkg-java | bnd | 1 pkg-java | bnd | 1 debian-med | camitk | 30 debian-med | camitk | -->20 debian-med | camitk | 17 debian-med | cellprofiler | -->33 debian-med | cellprofiler | 3 debian-med | cellprofiler | 3 debian-med | cellprofiler | 2 debian-science | ceres-solver | -->5 debian-med | charls | -->19 debian-med | charls | 8 debian-med | charls | 2 pkg-java | clooj | -->5 debian-science | cminpack | -->37 debian-science | cminpack | 7 debian-science | cminpack | 2 debian-med | commontk | 1 debian-med | commontk | -->1 debian-med | conquest-dicom-server | 70 debian-med | conquest-dicom-server | -->36 debian-med | conquest-dicom-server | 8 debian-med | ctk | -->20 debian-med | ctk | 2 debian-med | ctk | 1 debian-med | ctn | 37 debian-med | ctn | 26 debian-med | ctn | 2 debian-med | ctn | 1 debian-med | ctn | -->1 debian-med | ctn | 1 debian-med | ctn | 1 debian-med | dcm4che | 7 debian-med | dcm4che | -->1 debian-med | dcmtk | -->174 debian-med | dcmtk | 17 debian-med | dcmtk | 1 debian-med | dicom3tools | -->133 debian-med | dicom3tools | 5 debian-med | dicom3tools | 4 debian-med | dicom3tools | 1 debian-med | dicom3tools | 1 debian-med | dicompyler | 47 debian-med | dicompyler | -->1 debian-med | dicomscope | -->89 debian-med | dicomscope | 12 debian-med | dicomscope | 2 debian-med | dicomscope | 1 debian-med | dicomscope | 1 debian-med | dicoogle | 4 debian-med | dicoogle | -->2 debian-med | dicoogle | 2 pkg-java | dita-ot | 6 pkg-java | dita-ot | -->3 debian-med | edflib | -->4 debian-science | flann | -->67 debian-science | flann | 2 pkg-java | fop | -->56 pkg-java | fop | 21 pkg-java | fop | 16 pkg-java | fop | 10 pkg-java | fop | 7 pkg-java | fop | 6 pkg-java | fop | 3 pkg-java | fop | 3 pkg-java | fop | 1 pkg-java | fop | 1 pkg-java | fop | 1 debian-med | gassst | 4 debian-med | gassst | -->2 debian-med | gassst | 1 debian-med | gdcm | -->326 debian-med | gdcm | 23 debian-med | gdcm | 3 debian-med | gdcm | 1 debian-med | gdcm | 1 debian-med | ginkgocadx | 49 debian-med | ginkgocadx | 35 debian-med | ginkgocadx | -->10 debian-med | ginkgocadx | 6 debian-med | ginkgocadx | 4 debian-med | ginkgocadx | 3 debian-med | gofigure2 | -->52 debian-med | gofigure2 | 4 debian-med | igraph | 35 debian-med | igraph | -->35 debian-med | igraph | 5 debian-med | igraph | 3 debian-med | igstk | 32 debian-med | igstk | 18 debian-med | igstk | 9 debian-science | igstk | 8 debian-med | igstk | 1 debian-med | igstk | -->1 debian-med | igstk | 1 debian-med | imagevis3d | -->86 debian-med | insightapplications | 8 debian-med | insightapplications | 2 debian-med | insightapplications | -->1 debian-med | insighttoolkit | 295 debian-med | insighttoolkit | -->44 debian-med | insighttoolkit | 33 debian-med | insighttoolkit | 3 debian-med | insighttoolkit | 1 debian-med | insighttoolkit | 1 debian-med | insighttoolkit | 1 debian-med | insighttoolkit | 1 debian-med | insighttoolkit | 1 debian-med | jai-core | -->19 debian-med | jai-core | 6 debian-med | jai-core | 1 debian-med | jai-imageio-core | -->14 debian-med | jai-imageio-core | 4 pkg-java | java-common | 43 pkg-java | java-common | 37 pkg-java | java-common | 19 pkg-java | java-common | 13 pkg-java | java-common | 13 pkg-java | java-common | 11 pkg-java | java-common | 10 pkg-java | java-common | 8 pkg-java | java-common | 6 pkg-java | java-common | 4 pkg-java | java-common | 3 pkg-java | java-common | 2 pkg-java | java-common | -->1 pkg-java | java-common | 1 pkg-java | javadap | -->10 pkg-java | jcm | -->5 pkg-java | jmdns | -->21 pkg-java | jmdns | 3 pkg-java | jmdns | 3 pkg-java | jmdns | 2 pkg-java | jmdns | 1 pkg-java | jmdns | 1 pkg-java | joda-convert | -->12 pkg-java | joda-convert | 6 python-modules | jpylyzer | -->31 python-modules | jpylyzer | 1 debian-science | kwwidgets | 62 debian-science | kwwidgets | -->14 debian-science | kwwidgets | 2 pkg-java | lein-clojars | -->11 debian-med | libics | -->16 debian-med | libics | 6 pkg-java | libjdepend-java | 2 pkg-java | libjdepend-java | 2 pkg-java | libjdepend-java | 2 pkg-java | libjdepend-java | 2 pkg-java | libjdepend-java | 2 pkg-java | libjdepend-java | 2 pkg-java | libjdepend-java | 1 pkg-java | libjdepend-java | -->1 pkg-java | libjoda-time-java | 21 pkg-java | libjoda-time-java | 10 pkg-java | libjoda-time-java | -->7 pkg-java | libjoda-time-java | 2 pkg-java | libquartz2-java | -->4 pkg-java | libquartz-java | 24 pkg-java | libquartz-java | -->10 pkg-java | libquartz-java | 8 pkg-java | libquartz-java | 5 pkg-java | libquartz-java | 4 pkg-java | libquartz-java | 2 pkg-java | libquartz-java | 1 pkg-java | libsaxon-java | 8 pkg-java | libsaxon-java | 7 pkg-java | libsaxon-java | 5 pkg-java | libsaxon-java | 5 pkg-java | libsaxon-java | -->4 pkg-java | libsaxon-java | 3 pkg-java | libsaxon-java | 3 pkg-java | libsaxon-java | 1 pkg-java | libsaxon-java | 1 pkg-perl | libterm-clui-perl | 7 pkg-perl | libterm-clui-perl | 6 pkg-perl | libterm-clui-perl | 4 pkg-perl | libterm-clui-perl | -->2 pkg-java | local-file | -->4 debian-med | log4qt | -->4 debian-med | log4qt | 3 pkg-perl | meta | 351 pkg-perl | meta | 166 pkg-perl | meta | 147 pkg-perl | meta | 84 pkg-perl | meta | 61 pkg-perl | meta | 59 pkg-perl | meta | 53 pkg-perl | meta | 36 pkg-perl | meta | 33 pkg-perl | meta | 25 pkg-perl | meta | 19 pkg-perl | meta | 17 pkg-perl | meta | 17 pkg-perl | meta | 15 pkg-perl | meta | 15 pkg-perl | meta | 14 pkg-perl | meta | 14 pkg-perl | meta | 12 pkg-perl | meta | 11 pkg-perl | meta | 10 pkg-perl | meta | 10 pkg-perl | meta | 10 pkg-perl | meta | 10 pkg-perl | meta | 10 pkg-perl | meta | 9 pkg-perl | meta | 9 pkg-perl | meta | 8 pkg-perl | meta | 8 pkg-perl | meta | 8 pkg-perl | meta | 8 pkg-perl | meta | 7 pkg-perl | meta | 7 pkg-perl | meta | 7 pkg-perl | meta | 7 pkg-perl | meta | 7 pkg-perl | meta | 6 pkg-perl | meta | 6 pkg-perl | meta | 5 pkg-perl | meta | 5 pkg-perl | meta | 5 pkg-perl | meta | 5 pkg-perl | meta | 5 pkg-perl | meta | 5 pkg-perl | meta | 5 pkg-perl | meta | 5 pkg-perl | meta | 4 pkg-perl | meta | 4 pkg-perl | meta | 4 pkg-perl | meta | 4 pkg-perl | meta | 4 pkg-perl | meta | 3 pkg-perl | meta | 3 pkg-perl | meta | 3 pkg-perl | meta | 3 pkg-perl | meta | 3 pkg-perl | meta | 3 pkg-perl | meta | 3 pkg-perl | meta | 2 pkg-perl | meta | 2 pkg-perl | meta | 2 pkg-perl | meta | 2 pkg-perl | meta | 2 pkg-perl | meta | 2 pkg-perl | meta | 2 pkg-perl | meta | 2 pkg-perl | meta | 2 pkg-perl | meta | 2 pkg-perl | meta | 2 pkg-perl | meta | 1 pkg-perl | meta | 1 pkg-perl | meta | 1 pkg-perl | meta | 1 pkg-perl | meta | 1 pkg-perl | meta | 1 pkg-perl | meta | 1 pkg-perl | meta | 1 pkg-perl | meta | 1 pkg-perl | meta | 1 pkg-perl | meta | 1 pkg-perl | meta | 1 pkg-perl | meta | 1 pkg-perl | meta | 1 pkg-perl | meta | 1 pkg-perl | meta | 1 pkg-perl | meta | -->1 pkg-perl | meta | 1 pkg-perl | meta | 1 pkg-perl | meta | 1 pkg-perl | meta | 1 pkg-perl | meta | 1 pkg-perl | meta | 1 pkg-perl | meta | 1 debian-med | micromanager | -->34 debian-med | micromanager | 2 debian-med | micromanager | 1 debian-med | mriconvert | 46 debian-med | mriconvert | 10 debian-med | mriconvert | 7 debian-med | mriconvert | -->3 debian-med | mriconvert | 1 debian-science | mrmpi | -->40 debian-science | mrmpi | 5 debian-med | mummy | -->36 debian-med | mummy | 6 debian-med | mummy | 1 debian-med | netcdf-java | -->26 pkg-java | net-luminis-build-plugin | -->9 debian-med | oiffile | -->4 pkg-java | opencsv | 1 pkg-java | opencsv | -->1 pkg-java | opendap | -->8 pkg-phototools | openjpeg | 76 pkg-phototools | openjpeg | 42 pkg-phototools | openjpeg | -->22 pkg-phototools | openjpeg | 20 pkg-phototools | openjpeg | 12 pkg-phototools | openjpeg | 1 debian-med | openmrs | 32 debian-med | openmrs | 18 debian-med | openmrs | -->4 debian-med | openslide | -->70 debian-med | openslide | 1 debian-med | openslide-java | -->7 debian-med | openslide-java | 3 debian-med | openslide-python | -->35 debian-med | openslide-python | 6 debian-med | orthanc | 54 debian-med | orthanc | 30 debian-med | orthanc | -->24 debian-med | papyrus | -->14 debian-science | paraview | 217 pkg-scicomp | paraview | 83 debian-science | paraview | -->56 pkg-scicomp | paraview | 50 debian-science | paraview | 5 debian-science | paraview | 3 debian-science | paraview | 2 debian-science | paraview | 1 debian-science | paraview | 1 debian-science | paraview | 1 debian-science | paraview | 1 pkg-scicomp | paraview | 1 pkg-scicomp | paraview | 1 debian-science | pcl | 78 debian-science | pcl | -->14 debian-science | pcl | 12 debian-science | pcl | 11 pkg-java | pirl | -->15 debian-med | pixelmed | -->103 debian-med | pixelmed | 3 debian-med | plastimatch | 40 debian-med | plastimatch | 17 debian-med | plastimatch | 16 debian-med | plastimatch | -->1 debian-med | plastimatch | 1 pkg-java | plexus-resources | 7 pkg-java | plexus-resources | -->4 debian-med | pvrg | -->15 debian-med | pvrg-jpeg | -->17 debian-med | pvrg-jpeg | 3 debian-med | pylibtiff | -->18 debian-med | pylibtiff | 3 debian-med | pylibtiff | 2 debian-med | python | 21 debian-med | python | 3 debian-med | python | -->3 debian-med | python | 1 debian-med | python | 1 debian-med | python-openslide | -->4 debian-med | pythonqt | -->9 debian-med | pythonqt | 5 debian-med | pythonqt | 1 debian-med | pythonqt | 1 debian-med | r-cran-igraph | 5 debian-med | r-cran-igraph | -->4 debian-med | r-cran-igraph | 2 debian-med | r-cran-igraph | 1 pkg-java | saxonb | 17 pkg-java | saxonb | -->5 pkg-java | saxonb | 5 pkg-java | saxonb | 5 pkg-java | saxonb | 2 pkg-java | saxonhe | 20 pkg-java | saxonhe | -->4 pkg-java | saxonhe | 3 debian-science | slicer | 58 debian-science | slicer | 3 debian-science | slicer | -->1 debian-med | socket++ | -->25 debian-science | teem | 93 debian-science | teem | 10 debian-science | teem | -->2 debian-med | tifffile | -->49 debian-med | tifffile | 2 debian-med | visad | -->8 debian-med | volview | -->53 debian-med | volview | 9 debian-med | volview | 1 debian-science | vtk6 | 95 debian-science | vtk6 | 7 debian-science | vtk6 | -->7 debian-science | vtk6 | 1 debian-science | vtk6 | 1 debian-science | vtk6 | 1 debian-science | vtk6 | 1 debian-science | vtk6 | 1 debian-med | vtk-dicom | -->52 debian-med | vtkedge | -->29 debian-med | vtkedge | 2 debian-med | vtkedge | 2 debian-med | vxl | -->178 debian-med | vxl | 11 pkg-java | xmlgraphics-commons | 16 pkg-java | xmlgraphics-commons | -->11 pkg-java | xmlgraphics-commons | 6 pkg-java | xmlgraphics-commons | 4 pkg-java | xmlgraphics-commons | 4 pkg-java | xmlgraphics-commons | 3 pkg-java | xmlgraphics-commons | 2 pkg-java | xmlgraphics-commons | 2 pkg-java | xmlgraphics-commons | 2 pkg-java | xmlgraphics-commons | 1 pkg-java | xml-maven-plugin | 11 pkg-java | xml-maven-plugin | -->2 pkg-java | xslthl | -->22 pkg-java | xslthl | 8 pkg-java | xslthl | 4 pkg-java | xslthl | 4 pkg-java | xslthl | 1 (439 Zeilen)