processing / p5.js-website

New p5.js website!
http://p5js.org
MIT License
13 stars 70 forks source link

License issue? #415

Open calebfoss opened 2 months ago

calebfoss commented 2 months ago

I recently communicated concerns regarding attribution for the examples on this site. The public side of that conversation took place on #386. Most recently, I opened #412 as a temporary solution.

I realized, however, that there could potentially be an issue with the license on the legacy site repo, and I do not know if my PR would solve it. I have a difficult time understanding the legal language of licenses, and I wanted to raise the question for anyone who better understands licensing. My understanding is that with Github's inbound=outbound policy, contributors' work on the legacy site would be licensed under the same license as the repo and therefore also copyrighted. Because their code is now in this repo but with their authorship removed and replaced with a different author and because this repo does not currently include the required copyright notice or license, I am wondering if that is a violation of the legacy repo license.

calebfoss commented 2 months ago

I am seeing a similar issue with the Reference. I do not see a way to trace that writing back to its authors.

For the sake of open source contributors in general, I hope that the MIT License does require attribution for the authors (via copyright notice I expect). Even if not, however, I would strongly advocate for attribution regardless. STF project workers like me were compensated and will be acknowledged in a planned social media post on site launch, but my understanding is that much of the work we were building off of was uncompensated with no plan to acknowledge those authors for the new site.

Qianqianye commented 2 months ago

We initially planned using the same MIT license as the legacy website repo. I have been doing research on this and will get back on this issue after I gather more suggestions from previous contributors.

Qianqianye commented 2 months ago

Hi @outofambit @stalgiag, just to double check, are there anything we need to aware about licensing from Bocoup's perspective (the main developer team of the new website)? Thanks.

calebfoss commented 2 months ago

Thank you for the update, @Qianqianye! In the meantime, I opened #425 to add attribution links to each example's description. This replaces the placeholders I opened in #412. I briefly described my process in the PR.

You could follow a similar process for the reference. It would be a bit more complicated, since it would involve matching up the JSdoc from the p5 library. It took me longer than I expected to get the example attribution together, so I'm going to pause there for now. I'm happy to answer questions about my process!

stalgiag commented 2 months ago

To my knowledge, which is admittedly not fresh, there is no code in this repo that is from the legacy repo other than content such as reference which is directly consumed from the GitHub repos of p5 libraries where the licenses travel with it. When contributors contribute to that library they are contributing to the p5 library project with its MIT license. This library is an entity separate from the individual author. My understanding is that the individual authors do not have attribution requirements or the ability to make demands and this is what is meant by the inbound=outbound. You are licensing your contribution with the same license including its attributions.

Additionally, this is a situation where pieces of the text, like the JSDoc comments that become reference sketches, are often modified over time by many authors, some changing just a single word or punctuation. One author may make an update that changes the wording of an original author thus completely removing any single word written by them but that original author's impact is still there. These kinds of attribution issues become boundless quite quickly and this is why I've never heard of any license or attribution requirements for open source being as exacting as to try to track and update all of the contributors that modify individual sections of documentation. This can sometimes be done for parts of documentation that change rather infrequently and in these cases the first author of the example is typically attributed (I believe Threejs used to do this).

This is why the contributor's list has historically been maintained separately and given subject area attributions, any other upkeep would quickly become burdensome.

calebfoss commented 2 months ago

As an example, here is the snowflakes example on the legacy repo, here it is on the legacy site, here is the Attribution-NonCommercial-ShareAlike 4.0 International license displayed below it, and here it is on the new site.

stalgiag commented 2 months ago

I don't have any comment on attributions or how it should be handled. My sense is that is an ongoing conversation that I have not been part of. If attributions at the level of the website are introduced then that is new, done voluntarily on behalf of p5 stewards, and should be done to further the effort (that has been in place since these projects started) to ensure that contributors feel recognized. In my opinion, that should be done without creating a boundless attribution problem for a project that undergoes constant changes across many different workstreams and any suggestions otherwise are not constructive.

As far as license, there are no license violations because the license holder of the legacy website repo is the Processing Foundation and the same license is used here. If there are concerns about losing track of historical work, my suggestion is to keep the legacy website up as a github repo.

Qianqianye commented 2 months ago

Thank you all for your input. Like I mentioned in this comment in PR #425, I'm still waiting for some previous contributors' feedback on this issue and their suggestions on license for this new website repo, the legacy website repo, etc.

We will revisit this issue after we get more responses from other previous contributors who are not currently actively on GitHub. Thanks for your patience.

outofambit commented 2 months ago

@Qianqianye There are no licensing concerns from Bocoup's perspective beyond the general expectation that it would be an open source license of course. I generally agree with what @stalgiag said above and will add that the MIT license does not require any individual attribution.

If we want to add a copyright notice to the footer of the new website, that can be an straightforward task for someone to pick up.

calebfoss commented 2 weeks ago

As far as license, there are no license violations because the license holder of the legacy website repo is the Processing Foundation and the same license is used here.

The MIT license under which the examples were committed (before the update a few weeks ago) does not mention the Processing Foundation.

The Attribution-NonCommercial-ShareAlike 4.0 International license displayed on each example on the old website includes under its terms:

Attribution — You must give appropriate credit , provide a link to the license, and indicate if changes were made . You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.

The license defines "appropriate credit" as:

If supplied, you must provide the name of the creator and attribution parties, a copyright notice, a license notice, a disclaimer notice, and a link to the material. CC licenses prior to Version 4.0 also require you to provide the title of the material if supplied, and may have other slight differences.

Regarding these points:

These kinds of attribution issues become boundless quite quickly and this is why I've never heard of any license or attribution requirements for open source being as exacting as to try to track and update all of the contributors that modify individual sections of documentation. This can sometimes be done for parts of documentation that change rather infrequently and in these cases the first author of the example is typically attributed (I believe Threejs used to do this).

This is why the contributor's list has historically been maintained separately and given subject area attributions, any other upkeep would quickly become burdensome.

Circling back to the original concern I raised, git maintains a record of who committed what automatically, so I proposed maintaining that history. I responded to feedback from project leadership, who expressed agreement with wanting to give credit to people who worked on the examples, with possible solutions to the issues raised.

In addition to the all contributors list, the Processing Foundation gives individual attribution to many people, including me and others on this thread. My opinion is that those who have worked on examples also deserve visible credit for their work, and my goal here was to help make that happen on the new site.

@Qianqianye, once you determine a path forward from the discussions with previous contributors, something else I can offer is that I can further revise the Adding Examples doc I worked on in the spring to include instructions on how contributors can credit themselves for new and edited examples.

xinemata commented 2 weeks ago

Hi @calebfoss, @stalgiag, and @outofambit, thank you for your attention to this issue. I'm taking over this particular license/copyright related issue from @Qianqianye and will work on determining the next steps. As I'm new to this problem, I appreciate your patience while I get up to speed in the upcoming months.