From 235ed7ccfb9fed4aaadce3a2d693027c72d314ae Mon Sep 17 00:00:00 2001 From: SheetJS Date: Mon, 21 Oct 2024 09:43:40 -0400 Subject: [PATCH] update CONTRIBUTING.md (fixes #3233 h/t @Akxe) --- CONTRIBUTING.md | 67 ++++++++++++++++++++++++++----------------------- 1 file changed, 36 insertions(+), 31 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c79ca02..97d729a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,69 +1,74 @@ # Contributing -The SheetJS Libraries should be free and clear to use in your projects. In -order to maintain that, every contributor must be vigilant. +SheetJS CE should be free and clear to use in your projects. To ensure that +remains true, each contributor must be vigilant and each contribution must be +carefully scrutinized from a technical and legal perspective. -There have been many projects in the past that have been very lax regarding -licensing. We are of the opinion that those are ticking timebombs and that no -commercial product should depend on them. +Many commercial products and open source projects have been very lax regarding +licensing. They are ticking timebombs that no commercial product should use. -# Required Reading +## Required Reading These are pretty short reads and emphasize the importance of proper licensing: -- https://github.com/jazzband/tablib/issues/114 (discussion of other tools) +- https://web.archive.org/web/20200916173942/https://github.com/jazzband/tablib/issues/114 -- https://web.archive.org/web/20120615223756/http://www.codinghorror.com/blog/2007/04/pick-a-license-any-license.html +- https://web.archive.org/web/20240909210554/https://github.com/stephen-hardy/xlsx.js/issues/8 -# Raising Issues +## Raising Issues -Issues should generally be accompanied by test files. Since github does not -support attachments, the best method is to send files to -(subject line should contain issue number or message) or to share using some -storage service. Unless expressly permitted, any attachments will not be -shared or included in a test suite (although I will ask :) +Issues should generally be accompanied by test files. It is strongly recommended +to use the [issue tracker](https://git.sheetjs.com/sheetjs/sheetjs/issues). -If sending email to a gmail account is problematic, the email -inbox is self-hosted. +If they cannot be shared publicly, please send files to +(subject line should contain issue number or message) or share links to files +hosted on a storage service. Unless expressly permitted, attachments will not be +shared outside of SheetJS LLC or included in a test suite. -# Opening Pull Requests +If a NDA is required, please send an email to with subject +line "Non-Disclosure Agreemeant Request". -[Squash commits](https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History) -before opening a pull request, If the pull request addresses documentation or -demos, add `[ci skip]` in the body or title of the commit message to skip tests. -# Pre-Contribution Checklist +## Opening Pull Requests + +Please raise an issue before opening pull requests. It is easy to solve a +specific problem without considering the full context or implications. + + +## Pre-Contribution Checklist Before thinking about contributing, make sure that: - You are not, nor have ever been, an employee of Microsoft Corporation. - You have not signed any NDAs or Shared Source Agreements with Microsoft - Corporation or a subsidiary + Corporation or a subsidiary. - You have not consulted any existing relevant codebase (if you have, please take note of which codebases were consulted). If you cannot attest to each of these items, the best approach is to raise an -issue. If it is a particularly high-priority issue, please drop an email to - and it will be prioritized. +issue. If it is a particularly high-priority issue, please drop an email to + and it will be prioritized. -# Intra-Contribution +## Intra-Contribution Keep these in mind as you work: -- Your contributions are your original work. Take note of any resources you +- Your contributions are your original work. Take note of any resources you consult in the process. Be extra careful not to use unlicensed code on the Internet or code generated by a large language model or other AI tool. -- You are working on your own time. Unless they explicitly grant permission, +- You are working on your own time. Unless they explicitly grant permission, your employer may be the ultimate owner of your IP -# Post-Contribution -Before contributions are merged, you will receive an email (at the address -associated with the git commit) and will be asked to confirm the aforementioned -items. Ensure that the email addresses associated with the commits are valid. +## Post-Contribution + +Before certain contributions are merged, you will receive an email (at the +address associated with the git commit) and will be asked to confirm the +aforementioned items. Ensure that the email addresses associated with the +commits are valid.