Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

one acute rewording request, one milder one, and short elaboration on refactoring #244

Merged
merged 7 commits into from
Mar 22, 2024

Conversation

michelemartone
Copy link
Collaborator

  1. Suggestion for avoiding the "digital research" formulation, which is not good terminology.

  2. Add mention to the boring reality of software maintenance and refactoring tools.

  3. I find this importnat: alternatives to avoid misuse of word 'ecosystem'; explained here by me:

    In the English language, the word ecosystem has been introduced around
    1935. During those 89 years, it has mostly being used to describe the
    system that organisms (that is, biological living systems) form
    with their environments. In the last few decades a trend started
    in extending the association of this into concepts which are systems,
    but far away from being biological; these are rather human-made
    organisational structures, business arrangements, or in many cases,
    simply mere products, where 'ecosystem' is used with more or less
    veiled marketing (greenwashing) intentions. We can have a discussion
    about this at deRSE24 or in any other setting, and I'd give you even
    more reasons against this abuse.

    p.s.: I'm very aware and sorry to jump in the discussion so late..
    p.s.: The word has been recognized to be abused already 15 years
    ago within the environmental sciences:
    https://www.cambridge.org/core/journals/environmental-conservation/article/on-the-use-and-misuse-of-the-term-ecosystem/A57FCEBC08E64CFC7409FD40F6DA97FE

Perhaps 'digitally supported' or 'electronically enhanced' would convey the same here.
In the English language, the word ecosystem has been introduced around
1935. During those 89 years, it has mostly being used to describe the
system that organisms (that is, biological living systems) form
with their environments. In the last few decades a trend started
in extending the association of this into concepts which are systems,
but far away from being biological; these are rather human-made
organisational structures, business arrangements, or in many cases,
simply mere products, where 'ecosystem' is used with more or less
veiled marketing (greenwashing) intentions. We can have a discussion
about this at deRSE24 or in any other setting, and I'd give you even
more reasons against this abuse.

p.s.: I'm very aware and sorry to jump in the discussion so late..
p.s.: The word has been recognized to be abused already 15 years
 ago within the environmental sciences:
https://www.cambridge.org/core/journals/environmental-conservation/article/on-the-use-and-misuse-of-the-term-ecosystem/A57FCEBC08E64CFC7409FD40F6DA97FE

Signed-off-by: Michele Martone <[email protected]>
Copy link
Collaborator

@MakisH MakisH left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we should just eliminate any uses of the term "ecosystem" for the listed (political) argument. I never associate it with anything environment/greenwashing-related. It accurately describes cross-dependencies between software, for example (which is not the case here).

For each of the cases, see inline comments.

competencies.md Outdated
Comment on lines 112 to 113
"The Missing Semester of Your CS Education" [@MIT], which aims to convey computing
ecosystem literacy even to students of Computer Science at \ac{MIT}.
"The Missing Semester of Your CS Education" [@MIT], which aims to convey basic
programming environment literacy skills even to students of Computer Science at \ac{MIT}.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The term computing ecosystem literacy comes directly from the cited resource, so I think it should remain like this independently of whether we like it or not. Maybe we can put it in quotation marks.

This sentence was introduced by @CaptainSifff in 6f1107f

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMHO in quotation marks is perfect.

competencies.md Outdated
is exactly what is needed for modern digital research.
is exactly what is needed for modern digitally enhanced research.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't really like either term, but I guess "digitally-enhanced research" is better than "digital research".

There are multiple instances of this term.

This sentence was introduced by @CaptainSifff in 5444136.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about 'modern research methods'?
This would not discredit any modern research topics being worked on by traditional methods
but would emcompass what we want to say.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't have a problem with the original "modern digital research", maybe add "methods" as @jpthiele suggests. It makes it clear what we are talking about. "enhanced" implies to me a value. In many instances the digital methods enable the research in the first place.

Copy link
Collaborator Author

@michelemartone michelemartone Feb 15, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is not such thing as "digital research", be it ancient or modern. Many research fields exist. In some of those, digital technology is an object (e.g. computing machinery). In many of them, digital tools (that is, tools based on digital computing, as opposed to analog computing) are employed. But still, no such thing as "digital research", sorry. @mhagdorn .

Copy link
Collaborator

@mschwarzmeier mschwarzmeier Feb 16, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My view on this is, you have a problem you want to solve. Most problems you can approach analytically, experimentally or digitally/numerically (or a combination of those). These I would call methods or approaches, e.g. "digital research approach".

Research field to my is something like engineering (or more specific, e.g. fluid dynamics).

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@michelemartone German is clearer on this: it would be "digitaler Forschungsansatz". digital refers to the approach.

Methods or approach: I don't have a strong preference. In this context I would like methods actually a bit better.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"is exactly what is needed for modern, digitally assisted research" - fine with me
"is exactly what is needed for (modern,) digital research methods" - fine with me

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mschwarzmeier in this last comment of yours I'd ask you: in "digital research approach", is the "digital" an attribute of "research" or of "approach"?

If it's of "research", then it should be substitutable to "analog", and "analog research" does not seem meaningful.

If it's of "approach" I'd say much better, because "digital approach" is a shorthand for "approach employing digital (i.e. discrete, not analog) techniques".

What about substituting "is exactly what is needed for modern digital research" with "is exactly what is needed for modern, digitally assisted research", @mschwarzmeier @mhagdorn @MakisH ?

In this case "digital" relates to something that can be processed by computers. TBH I haven't thought about how research that doesn't involve digital systems should be called. I guess that's where the term traditional research methods come in. I think "assisted" is not strong enough. Digital research methods can

  • be "assisted", when you analyse measurements with a computer - you could theoretically do this by hand as it was done in the pre-digital era
  • make it cheaper, you could do fluid dynamics using wave tanks, scale models, etc. You should get the same results but it is a lot more difficult/expensive.
  • make it possible, you couldn't do climate models without computers. If I remember correctly the first climate model was done by hand
  • be totally different, RSEs are involved in art projects that do something weird and wonderful

Digital research methods are transformative. That's why we are arguing we need people who understand and manage these systems. We need a term that describes these new computer or digital systems based research methods.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see the point: we may be doing research on simulations, new AI models etc, which is fully digital. We may also be doing classical chemistry lab research, which then needs streamlined and reproducible collection, post-processing, and publication of data (which would be digitally-enhanced).

I think both categories are modern, software-enabled research. They would either not be possible at all, or be not the same without software.

I am just a bit skeptic of the term "digital" as it is generic and could mean anything (e.g., reading papers online instead of in print). Our emphasis is on software in the core (or very near the core) of research.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just stumbled upon the term software-enabled research in the description of the de-RSE logo:

The logo plays on the nature of RSE as an intersection of software-enabled research and software engineering.

@jpthiele
Copy link
Collaborator

The way I know many people use the terms environment and ecosystem is that
environment is the local configuration (think Conda)
and ecosystem is all the packages you could install through pip.

There is also the term of 'reproducible computation environment' which means somebody can replicate your setup to reproduce your results.

@jpthiele
Copy link
Collaborator

The essay you linked clearly states that environmental sciences should agree on the term and use it correctly.

I found the word metaphorical extension for other uses of the word and I think that fits here as well.
And I also don't associate technical ecosystems as greenwashing to be honest.

Different domains use terms differently and that happens and you can't really roll it back.
Otherwise we'd never get a news article referring to a big breakthrough as a quantum leap....

@mhagdorn
Copy link
Collaborator

The way I know many people use the terms environment and ecosystem is that environment is the local configuration (think Conda) and ecosystem is all the packages you could install through pip.

I think the ecosystem can also include hardware and peripherals.

@@ -294,7 +294,7 @@ Those interested in domain-specific RSE skills or even programming will gain the
special knowledge in classes and projects they choose.
For example, statistics curricula can
be used to showcase RSE infrastructure, e.g. the R programming language and
its ecosystem of statistics libraries and integrated development environments
its collection of statistics libraries and integrated development environments
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think ecosystem is better term here, as collection of libraries implies a pile of unconnected tools. The point of R is that provides this interconnected ecosystem

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In a nutshell, the term "ecosystem" differs from "system" in that it focuses on systems having living organisms in it, and is a biology term. Software libraries and IDEs aren't. "Ecosystem" within these contexts is business/marketing speak which crept in the last decades and brings no new concept of any sort in the field. If you had studied computer science in an engineering department in the early 2000s like I did (with English-language books from those years), you would have found none of this use of the word "ecosystem". If there is the desire to adhere to a growing trend, I can understand that. But I maintain that is poor use of the language.

I also do not claim to have suggested the best alternatives: for me it was to avoid the -- IMHO -- worst.

Moreover on your comment, @mhagdorn, in "The point of R is that provides this interconnected ecosystem": "interconnected" already is the property linking the "members" of the "ecosystem" within it -- "interconnected ecosystems" sounds like "bread made of dough", which is nonsense.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just for context, the term seems to have appeared in the late '40s and currently growing: https://books.google.com/ngrams/graph?content=ecosystem&year_start=1800&year_end=2019&corpus=en-2019&smoothing=3

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had documented myself on this wording issue before yesterday, so here from my notes..
To the best of my knowledge the term "ecosystem" appeared in 1935 in an article by Arthur George Tansley; the article I link here (https://doi.org/10.1177/0309133307083297, also from
https://www.researchgate.net/profile/Stephen-Trudgill/publication/249823757_Tansley_AG_1935_The_use_and_abuse_of_vegetational_concepts_and_terms_Ecology_16_284_307/links/55a8e68708ae481aa7f6d8f9/Tansley-AG-1935-The-use-and-abuse-of-vegetational-concepts-and-terms-Ecology-16-284-307.pdf ) treat that first appearance of the term.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In a nutshell, the term "ecosystem" differs from "system" in that it focuses on systems having living organisms in it, and is a biology term. Software libraries and IDEs aren't.

I do believe that the term also applies in software and accurately describes the following:

  • Software is a "living organism", since it grows, evolves, and "dies" (gets abandoned). Like a flower or a community of animals, it can grow uncontrollably and die sooner, or, with some help, it can grow in a more sustainable way.
  • Decisions in one software project affect decisions in other software projects. Projects are not only interconnected in terms of functionality, but also in terms of mutual success, prosperity, and sustainability.

I love metaphors and I have no issue with borrowing or misusing terms from other domains and contexts, if it makes communication more effective.

I agree with @mhagdorn that in this case, this term is just the most accurate.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remember, that this part still has to be very much written...
So for today I'd stick with the ecosystem, and basically postpone this until this one is closer to maturity.

@@ -440,7 +440,7 @@ digital competence. The scale is based on the six proficiency levels used by
the Common European Framework of Reference for Languages, ranging from A1
(no use of digital technologies in the classroom) to C2 (champion the use
of digital technologies in teaching environments, actively contribute
to the ecosystem of digital tools and curate open educational resources).
to the stack of available digital tools and curate open educational resources).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

again, not quite the right word. stack implies order and is not interconnected

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about "to the palette of available digital tools" ? "palette" already conveys the concept of a range of available choices, in this case of "digital tools".

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Better for me, but still palette lacks the interconnectivity and the different things that work together like compiler, IDE, formatter, containers, VCS, CI, the tons of imports (pandas, numpy,...), intelliSense,...

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mschwarzmeier @mhagdorn Then what about
- actively contribute to the ecosystem of digital tools and curate open educational resources
+ actively contribute to interoperable digital tools and related open educational resources
?
In the above suggestion, interoperable is the best relation one may wish from the tools I guess.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is better than stack or palette

@mhagdorn
Copy link
Collaborator

I think we should keep ecosystem - the Cambridge Dictionary has as after the original, biological definition

"any complicated system consisting of many different people, process, activities, etc., especially relating to technology"

This is exactly where our use fits in.

@annalenalamprecht
Copy link
Contributor

"ecosystem" is a very established term in the software community (see also https://en.wikipedia.org/wiki/Software_ecosystem#:~:text=In%20the%20context%20of%20software,technical%20(the%20Ruby%20ecosystem), so I have no bad feelings about keeping the term

supporting and undertaking modern digital research into research groups and teams.
supporting and undertaking modern digitally enhanced research into research groups and teams.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see discussion above

competencies.md Outdated
is exactly what is needed for modern digital research.
is exactly what is needed for modern digitally enhanced research.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see the point: we may be doing research on simulations, new AI models etc, which is fully digital. We may also be doing classical chemistry lab research, which then needs streamlined and reproducible collection, post-processing, and publication of data (which would be digitally-enhanced).

I think both categories are modern, software-enabled research. They would either not be possible at all, or be not the same without software.

I am just a bit skeptic of the term "digital" as it is generic and could mean anything (e.g., reading papers online instead of in print). Our emphasis is on software in the core (or very near the core) of research.

competencies.md Outdated
@@ -1087,6 +1087,7 @@ In this changing environment, a significant amount of effort in (research) softw
needs to be spent on maintenance to ensure that software remains useful or even installable.
With regard to which additional competency is required,
these are people having experience with software stacks that are not part of the general curricula any more (e.g., \gls{COBOL} or \gls{Fortran}).
Adaption of existing, large-scale codebases to evolving dependencies (\gls{LIBS}) or changing hardware (\ac{HPC}; see the HPC-RSE point below) may require mastery of in refactoring techniques and in the usage of specialized code transformation tools.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This part was rewritten in #222, which has now been merged. Let's rebase and reconsider if the changes are still needed.

@@ -294,7 +294,7 @@ Those interested in domain-specific RSE skills or even programming will gain the
special knowledge in classes and projects they choose.
For example, statistics curricula can
be used to showcase RSE infrastructure, e.g. the R programming language and
its ecosystem of statistics libraries and integrated development environments
its collection of statistics libraries and integrated development environments
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In a nutshell, the term "ecosystem" differs from "system" in that it focuses on systems having living organisms in it, and is a biology term. Software libraries and IDEs aren't.

I do believe that the term also applies in software and accurately describes the following:

  • Software is a "living organism", since it grows, evolves, and "dies" (gets abandoned). Like a flower or a community of animals, it can grow uncontrollably and die sooner, or, with some help, it can grow in a more sustainable way.
  • Decisions in one software project affect decisions in other software projects. Projects are not only interconnected in terms of functionality, but also in terms of mutual success, prosperity, and sustainability.

I love metaphors and I have no issue with borrowing or misusing terms from other domains and contexts, if it makes communication more effective.

I agree with @mhagdorn that in this case, this term is just the most accurate.

@michelemartone
Copy link
Collaborator Author

"ecosystem" is a very established term in the software community (see also https://en.wikipedia.org/wiki/Software_ecosystem#:~:text=In%20the%20context%20of%20software,technical%20(the%20Ruby%20ecosystem), so I have no bad feelings about keeping the term

@annalenalamprecht I checked the book by Messerschmitt and Szyperski: that book does not use "ecosystem" in the way it is being intended in this article.

Specifically:

  • the occurrence of "ecosystem" alone happens once "ecosystem of complementary as well as competitive
    suppliers"
  • in the preface, it is being used intentionally cautiously: double-quoted and with mention it's a metaphor
  • that book uses that word as a non-countable item (like "water is), so never as a multiple, i.e. "ecosystems"
  • the term "ecosystem" occurs referring to software once in the title book and as "software ecosystem"

So if "ecosystem" is to be kept in this article without any double quote or specifier adjective, it is with a different, less "cautious" way than that specific book.

@mschwarzmeier
Copy link
Collaborator

On the discussion of one or many ecosystems: I think we only use it in singular form, so that would be fine. That having said...
Actually on Earth there is one Biosphere, which contains biomes, which contain ecosystems [NG]. One could now try stretching the methaphor, that there may be a python-ecosystem, a c++-ecosystem,... or a ubuntu-ecosystem (or is it a biome?) and that the term we actually would use our "software ecosystem" but the term "software biosphere" would be better suited in our use case... 🤷‍♂️

I would like to stick with ecosystem and settle this discussion.
I believe most readers will not think, we believe there is a hearbeat measurable with a stethoscope to programs. (Although, ... looking at e.g. the commit frequency of a repo, I usually deduce if a project might be "dead".)

@michelemartone
Copy link
Collaborator Author

michelemartone commented Feb 22, 2024

On the discussion of one or many ecosystems: I think we only use it in singular form, so that would be fine. That having said... Actually on Earth there is one Biosphere, which contains biomes, which contain ecosystems [NG]. One could now try stretching the methaphor, that there may be a python-ecosystem, a c++-ecosystem,... or a ubuntu-ecosystem (or is it a biome?) and that the term we actually would use our "software ecosystem" but the term "software biosphere" would be better suited in our use case... 🤷‍♂️

I would like to stick with ecosystem and settle this discussion. I believe most readers will not think, we believe there is a hearbeat measurable with a stethoscope to programs. (Although, ... looking at e.g. the commit frequency of a repo, I usually deduce if a project might be "dead".)

@mschwarzmeier @mhagdorn @MakisH @hvwaldow and others: ok perhaps I won't continue in this round.
Though I've this last proposal: what about settling on using "ecosystem" always in double quotes within the article?

@MakisH
Copy link
Collaborator

MakisH commented Feb 22, 2024

@mschwarzmeier @mhagdorn @MakisH @hvwaldow and others: ok perhaps I won't continue in this round. Though I've this last proposal: what about settling on using "ecosystem" always in double quotes within the article?

I think that quotes should be used wherever there is a verbatim reference (e.g., the Missing Semester, where "computing ecosystem literacy" anyway sounds strange).

Wherever we are using an established term, we should not be using quotes.

Wherever we are inventing terms for easier description, I think we can indeed use quotes.

And I still think we need to look at each case specifically. In some of them, we can just bypass the issue by citing something or refining the term (with the suggestions of this PR as a starting point).

@mschwarzmeier
Copy link
Collaborator

yes, @MakisH . I didn't mean to make futile, what has been discussed in the individual code suggestions above.

@@ -1192,7 +1193,7 @@ where people working in RSE related fields got together to figure out
structures and ideas for educating newcomers to this field.
One outcome of this diverse gathering is that RSEs from far away fields gather
around similar core concepts, and at the same time share a vision of how to
update the scientific ecosystem to the age of digitalisation.
renew scientific research practice making proper use of digital tools.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good!

@CaptainSifff
Copy link
Collaborator

@michelemartone Thank You! Do not forget to add you as a contributor!

@CaptainSifff CaptainSifff merged commit 806e136 into the-teachingRSE-project:main Mar 22, 2024
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants