Skip to content

Conversation

@jtniehof
Copy link
Contributor

@jtniehof jtniehof commented Jun 4, 2025

This PHEP updates the community (2, 12, 13, 15) and licensing (5) standards. Closes #33.

The big change is the licenses. I tried to come up with a good way to thread that needle, see some comments inline.

I would love a lot more examples of things that are done well in our projects.

EDIT: Candidate timeline. If people are able to provide feedback on this timeline it will greatly help me incorporate comments into drafts in a timely manner. There are a number of these trying to "come in to land" at the fall meeting and I appreciate not having to write them all at once.

  • July 7: target for comments to address in first revision. Major suggestions that will need substantial reworking / rewriting, or changing the direction of the PHEP, are much more likely to be incorporated if in by this date.
  • July 14: target for first major revision incorporating all comments to date.
  • August 11: target for further comments; if these are major, they will probably not be addressable in time for the target vote. Announcement of first vote around this time.
  • August 25: target for second revision.
  • Early September: first vote, on telecon
  • Oct/Nov: second vote, at fall meeting


Projects at the bronze tier or above must use an [OSI-approved open source license](https://opensource.org/licenses).

Projects at the gold tier or above must either use the [BSD 3-clause](https://opensource.org/license/bsd-3-clause) or [Apache](https://opensource.org/license/apache-2-0) licenses, or include a detailed description of:
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is again very prescriptive and prefers the two licenses above. Does it really matter if people are using MIT or two-clause BSD? No, but that also should make the essay assignment really quick. Maybe this "must" should be the full list of permissive "popular and widely used" and have the exception process otherwise, but was trying to avoid getting bogged down.

Choose a reason for hiding this comment

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

I think expanding this to 3-5 good options is fine at the silver tier. Maybe we include MIT and bsd-2-clause there? Perhaps a more restrictive list is preferred at the gold tier?
Also, there is no tier above gold tier -> "at the gold tier or above"

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed the "or above" but the other discussion is still open...do we want something different for silver, or keep things simple?

* why relicensing is not possible, including any efforts taken to that end
* what steps will be taken to overcome the disadvantages of the license, including the ability to distribute via normal means, the ability to accept contributions, and the ability to be used as a component of other projects

Project reviewers will consider this rationale in evaluating the package for gold tier. It is still strongly recommended to use a permissive license from the OSI categomry "[Licenses that are popular and widely used or with strong communities](https://opensource.org/licenses?categories=popular-strong-community)", i.e. [BSD 2-clause](https://opensource.org/license/bsd-2-clause), [CDDL](https://opensource.org/license/cddl-1-0), [EPL](https://opensource.org/license/epl-2-0), [MIT](https://opensource.org/license/mit), or [MPL](https://opensource.org/license/mpl-2-0). This will be taken into consideration when evaluating the reason for the selection of license.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, now I see the "categomry" typo, will fix in next push.

Choose a reason for hiding this comment

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

ability to accept contributions without restrictions

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@rebeccaringuette , take a look and can you resolve if satisfied?


This includes development in a version controlled repository which is accessible to the public. PyHC uses git almost universally and most projects use GitHub, which facilitates much of the workflow around these activities. Using similar tools across packages helps integrate the PyHC community.

To keep development open, not just the code, most projects have a means to discuss design and other decisions in a way that allows for public visibility and input. This includes means of collecting user feedback, bug reports, feature requests, and other inputs. Providing all contributors access to the same or similar workflow as project developers, e.g. pull request and reviews, smooths contributions and breaks down distinctions between "internal" and "external" contributions.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@rebeccaringuette this feels like it might be a place for your comment to have contributions "allowed without additional legal processes" unless maybe that should go up in the "hard requirements" of the licensing standard?

Choose a reason for hiding this comment

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

Add on to line 104 and copying from earlier text:
"Choosing a license without restrictions on the ability to distribute via normal means, the ability to accept contributions, and the ability to be used as a component of other projects further supports open development."
Seems like enough to me. What do you think?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@rebeccaringuette , another request to resolve if the new language is properly incorporated?

…push date

 * Incorporate Rebecca Ringuette's wording on licenses that accept
   contributions without restrictions and related best practices.
@jtniehof
Copy link
Contributor Author

jtniehof commented Oct 18, 2025

@sapols : if this is ready for a number, can you assign one and I'll mark not-draft? I think this would be 5? (EDIT: 6. #32 should probably be 5, and I know I promised to work on that.)

(posting phep 1 criteria here:
It is sound and complete. The ideas must make technical sense. The editors do not consider
whether they seem likely to be accepted.
– It is of reasonable scope, not too broad or unfocused.
– The title accurately describes the content.
– The PHEP’s language (spelling, grammar, sentence structure, etc.) should be correct and
conformant. Markdown (MD) markup and other formatting should be clear and reasonable)

@sapols
Copy link
Contributor

sapols commented Oct 20, 2025

Thanks @jtniehof, I assigned this PHEP number 6

@jtniehof jtniehof marked this pull request as ready for review October 20, 2025 21:59
@rebeccaringuette
Copy link

I checked the language this morning. All seems fine. One thing that seems to be missing is the circumstances under which a given type of license can be considered to add to this PHEP, and what characteristics should that license have? Ideally there would be no restrictions on contributions or incorporation into other packages. Thoughts on adding text to this point?

@jtniehof jtniehof changed the title PHEP: Community and Licensing Standards PHEP 6: Community and Licensing Standards Nov 3, 2025
@jtniehof
Copy link
Contributor Author

jtniehof commented Nov 3, 2025

One thing that seems to be missing is the circumstances under which a given type of license can be considered to add to this PHEP, and what characteristics should that license have?

That would be a matter of "write another PHEP and have another vote", I think...this is meant to be a static list.

Would it make sense for me to expand a bit in the rationale of why these particular licenses? That would then be a potential guide in the future if for some reason people wanted to think about additional licenses.

But I think ideally there would not be more licenses...

@jameswilburlewis
Copy link
Collaborator

Yes, I'd be interested in the rationale for why/why not these specific licenses. PySPEDAS is licensed under MIT -- it might not be a big deal to switch to one of the recommended licenses, but it would be nice to understand why the MIT license isn't preferred.

@rebeccaringuette
Copy link

rebeccaringuette commented Nov 18, 2025

I am quite interested in this from HDRL's perspective. For most software, it can be extremely difficult to change licenses if there are institutional processes. What is the list of software licenses that PyHC recommends, why are those licenses recommended, and why a few other common licenses are not recommended? For starters, here is a short list from HSSI generated with previous PyHC input:

Example text could be:
The licenses below are selected as options for this standard due to their openness, particularly their lack of restriction for collaboration and downstream usage. (followed by the list of licenses).

In comparison, the current text prefers BSD 3-clause or Apache 2.0 licenses at the gold tier and highlights a few others.

@jvandegriff
Copy link

We should not recommend GPL since it is viral. Some institutions (like mine) do not allow us to release software with GPL. This then restricts how we can even use GPL software.

Also, NASA in SPD-41a also suggests using a permissive license, so GPL does not fit with that recommendation.

@sapols
Copy link
Contributor

sapols commented Nov 20, 2025

PyHC Package License Summary

License Count Percentage
MIT 42 43.8%
BSD-3-Clause 17 17.7%
Apache-2.0 15 15.6%
BSD-2-Clause 12 12.5%
GPL-3.0 3 3.1%
Public Domain 2 2.1%
LGPL 1 1.0%
GPL-2.0 1 1.0%
PSF 1 1.0%
NASA Open Source 1 1.0%
N/A 1 1.0%

Total Packages: 96

@jvandegriff
Copy link

NASA SPD-41a (currently available here: https://science.nasa.gov/wp-content/uploads/2023/08/smd-information-policy-spd-41a.pdf )
calls for only using permissive open source licenses, so should we discourage copyleft license?

@jtniehof
Copy link
Contributor Author

Sorry this took awhile, but updated draft from the fall meeting discussions is up. The rationale is a fair bit more descriptive now, and is explicit about what factors result in the inclusion/exclusion of any particular license.

I don't know why the trailing whitespace failure. I can't find any in the phep 6 file; maybe it's in another existing file.

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.

Revise "community" and "license" standards

5 participants