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

Community participation: Authorship, feature developments, governance, publication #17

Open
MartinThoma opened this issue Feb 19, 2022 · 3 comments

Comments

@MartinThoma
Copy link
Owner

MartinThoma commented Feb 19, 2022

Every open source software project needs at least one active maintainer, contributors, and users.

I can take over technical parts of the maintenance, but I need people who are users themselves to participate in changes to the code. I am a professional software developer, but I have no clue about protein descriptors.

Scientific open source software projects that works super well are Scipy, numpy, and sklearn. Although I guess the userbase for propy3 is by far not as big, I hope we can grow the number of active users who care about the development.

Authorship

Most users and contributors of propy3 likely come from the academic community and thus giving credit, especially in publications, is likely highly valued.

Scipy has a CITATION.bib file in their repository and I would like to do the same here.

I think the following rule for being mentioned as an author is fair:

  • Everybody who fixes a bug
  • Everybody who adds a new feature
  • Everybody who reviews a Pull Request (PR) and finds an issue / a contribution.

The following are NOT authors:

  • Reporting an issue

Before I add somebody as an author, I need their consent to be mentioned as an author for this project. This is the only reason why I removed Dongsheng Cao and Yizeng Liang from the authors field. I simply have doubts if they want to be mentioned as authors.
I also need to know in which way you want to be mentioned as an author (preferably "First name Last name", but you need to write me how to spell your name)

Regarding the order of authors: If Dongsheng Cao and Yizeng Liang want to be mentioned as authors, I would put them directly on the first position. I would try to keep the order according to contributions / invested time. At the moment, it would be me in the first position. If I cannot see a clear different, I would put people in alphabetic order based on the last name

Feature developments

There are a couple of things that I don't like where I want to have breaking changes:

  • Supported Python versions: I want to support the latest 3 versions. That would be Python 3.8, 3.9, and 3.10 at the moment. Supporting a version means the tests are executed for that version and I will make sure they succeed. Not supporting a version does not mean that it will not work. It just means we are free to use features that were not available in that version. But if this is acceptable depends on additional dependencies of the community.
  • Deprecations: Propy3 currently does not follow Python naming schemes. For example, the module names should be snake case instead of camel case (pseudo_aac.py instead of PseudoAAC.py). I want to change that. But I also don't want to break the setup of people. For this reason I would introduce a transition period of one year for breaking changes. In that year, both options are possible. But the option that will be deprecated will cause a deprecation warning (a message shown to people who use the old format with instructions how to change)
  • Reviews: If new features are added, I need people to review it.

Project governance

Project governance is about how to decide / who decides how propy3 is developed. As long as there are no active developers, I will keep the "benevolent dictator" model. Meaning I try my best to make good decisions for the project. But keep in mind that this is a free-time project for me and that I am not in academia. Meaning I have absolutely no benefit of this project. This means I'm also not willing to spend too much time on it.

I'm open to change this model if I see a couple of people contributing over an extended period of time.

Publication

If propy3 should grow, people need to publicly say that they are using it. This means they need a way to cite it.

The easiest way to make propy3 citable is to add a software publication (example). I would create such a publication when the TODOs are removed.

A better way would be to create a whitepaper about propy3. Examples are:

@MartinThoma
Copy link
Owner Author

@MarinaParr @jowch @ArchieV1

@MartinThoma
Copy link
Owner Author

I'd be interested in thoughts / comments on this :-)

@jowch
Copy link
Contributor

jowch commented Feb 20, 2022

Thanks for doing this. I'm ok with being listed as an author 😊. I don't have to admit that I am not actively developing with this package at the moment (but have scripts depending on this). I'm happy to provide support as needed.

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

No branches or pull requests

2 participants