Contributing to Open Source

Participation in open source projects is highly encouraged, and the Open Source Program Office wants to make this process as simple as possible. Saucers are responsible to preserve our valuable information and code. OSPO and your manager can help you understand and determine what is open sourceable and what must remain private. In doubt, always ask.

Summary

We highly encourage contributions to any open source project that aligns with the guidelines. If you are looking for projects to contribute, but don’t know how to choose, we can help.

There are some requirements before you start patching, and guides to help you figure out the right path:

  • Patches generally don’t require any review from the Open Source Program Office
  • Double-check to make certain you are not sharing confidential information
  • Ensure your commits are associated with your saucelabs.com email (unless you have a history of contributing to the repo under a different email before your employment at Sauce Labs). How to associate your commit with a saucelabs.com email.

Common Contribution Rules

The following criteria must be met when contributing to an open source project:

  • Only contribute to public repositories on GitHub (or the community GitLab version) that have a permissive, weak copyleft or string copyleft license according to the license guide
  • Do not share Sauce Labs confidential information
  • Do not contribute code that is proprietary to Sauce Labs and/or a competitive differentiator
    • In short, do not reveal our secret sauce.
    • When in doubt, check with the OSPO and your manager for additional guidance
  • Keep in mind that Sauce Labs has legal ownership of the contributions you make while you are a Sauce Labs employee, and CLAs are signed on behalf of Sauce Labs
  • Only sign allowlist CLAs, please reach out to the OSPO team for advice

Non-code Contributions

Contributions to open source projects such as the following normally do not require you to sign a CLA, are encouraged as part of your employment at Sauce Labs, and do not need any approval:

  • Reporting issues
  • Writing documentation
  • Reviewing code
  • Participating in project maintenance such as creating roadmaps, grooming backlogs, etc.
  • Advocating for your favorite projects by sharing it in social media or, why not, giving talks about it

Code Contributions

Upstream code contributions are encouraged to open source projects that our customers or our tech stack depend on. Code contributions can generally be divided into two categories:

  • Contributions triggered by a work task, e.g,. a feature or a bug fix needs to be implemented in a project dependency and this is blocking your internal work at Sauce Labs
  • Contributions on your own initiative

Both are allowed and they do not need a review unless you have questions about the contribution rules and guidelines mentioned above. Simply ensure that the project you are contributing to is not licensed under AGPL.

Allowed list CLAs

If a non-Sauce Labs Open Source project requires you to sign a contributor agreement, ask the OSPO, unless it is one of the following allowlisted CLAs:

  • Selenium Project CLA
  • Appium Project CLA
  • WebdriverIO Project CLA
  • Google CLA
  • Facebook CLA