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

Proposed Terminology Change #263

Closed
ryanmrichard opened this issue Aug 18, 2022 · 9 comments · May be fixed by #272
Closed

Proposed Terminology Change #263

ryanmrichard opened this issue Aug 18, 2022 · 9 comments · May be fixed by #272
Assignees
Labels
question Further information is requested

Comments

@ryanmrichard
Copy link
Member

Right now the individual functions a user exposes to PluginPlay are called modules, and modules are grouped into "module collections". I propose we rebrand "module collections" as "plugins". Basically I want to define a "plugin" as a set of modules distributed together.

My logic:

  1. It's shorter.
  2. The name of the repo is PluginPlay and we don't actually have anything called a "plugin"
  3. Avoids the use of "module" in two terms (which may be confusing).

This issue is to solicit feedback from the community.

@ryanmrichard ryanmrichard added the question Further information is requested label Aug 18, 2022
@ryanmrichard ryanmrichard self-assigned this Aug 18, 2022
@twindus
Copy link
Contributor

twindus commented Aug 18, 2022

Based on your definition, a module by itself could not be a plugin? But couldn't a module act as a plugin for execution purposes?

I do like the shorter name and getting plugin into the terminology. I guess I don't think there would be much confusion between module and "module collections", though.

I don't think I have another solution to propose, but I will think about it some more.

@ryanmrichard
Copy link
Member Author

@twindus strictly speaking, a "module collection"/"plugin" is a C++ shared library (or Python module) which exposes a load_modules function. Technically that's all PluginPlay cares about, i.e. there can be 0 or more modules in the "module collection"/"plugin" and PluginPlay still recognizes it as a "module collection"/"plugin".

@twindus
Copy link
Contributor

twindus commented Aug 18, 2022

@ryanmrichard Got it! I am fine with the change as long as we document it. Will it cause much ripple through the code?

@ryanmrichard
Copy link
Member Author

@twindus I believe it's only an issue in documentation.

@ryanmrichard
Copy link
Member Author

Given the overwhelming support for the name change I'm in the process of making the changes in #272. So if anyone has a problem with it now's the time to speak up.

@keceli
Copy link
Contributor

keceli commented Aug 24, 2022

I think module term itself could be a source of confusion since it is overused in programming, i.e. Python modules, C++20 modules etc. How about module -> plugin, module collection -> plugin collection or plugin set?

@ryanmrichard
Copy link
Member Author

@keceli while I don't disagree with you, I'm not thrilled with the idea of changing the "module" term at this point given how pervasive it is throughout the stack. Unlike "module collection", changing "module" has code ramifications.

FWIW, in #272 I coined the term "PyModule" to indicate a pluginplay::Module written in Python (to avoid confusion with the usual meaning of a "Python module"). For documentation purposes I think calling them C++/Python pluginplay::Module instances (rather than C++/Python modules) is probably a better solution since, like you pointed out, there's modules in C++ now too.

@keceli
Copy link
Contributor

keceli commented Aug 26, 2022

I like the recent change with 5a8280a in the documentation. Using pluginplay::Module instead of module or PyModule is more clear.

@twindus
Copy link
Contributor

twindus commented Apr 5, 2023

@ryanmrichard @keceli Can this issue be closed? If there are specific actions on this, then we should delineate them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants