├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── pull_request_template.md └── templates ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE └── README.md /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | All notable changes to this project will be documented in this file. 4 | 5 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), 6 | and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 7 | 8 | ## [Unreleased] 9 | 10 | ### Changed 11 | 12 | ## 0.0.1 - 2018-10-10 13 | 14 | ### Added 15 | 16 | - This CHANGELOG.md and its template 17 | - README.md and template 18 | - CONTRIBUTING.md and template 19 | - LICENSE and template 20 | - pull_request_template.md for Github pull requests 21 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | When contributing to this repository, please first discuss the change you wish to make via issue, 4 | email, or any other method with the owners of this repository before making a change. 5 | 6 | Please note we have a code of conduct, please follow it in all your interactions with the project. 7 | 8 | ## Pull Request Process 9 | 10 | 1. Ensure any install or build dependencies are removed before the end of the layer when doing a 11 | build. 12 | 2. Update the README.md with details of changes to the interface, this includes new environment 13 | variables, exposed ports, useful file locations and container parameters. 14 | 3. Increase the version numbers in any examples files and the README.md to the new version that this 15 | Pull Request would represent. The versioning scheme we use is [SemVer](http://semver.org/). 16 | 4. You may merge the Pull Request in once you have the sign-off of two other developers, or if you 17 | do not have permission to do that, you may request the second reviewer to merge it for you. 18 | 19 | ## Code of Conduct 20 | 21 | ### Our Pledge 22 | 23 | In the interest of fostering an open and welcoming environment, we as 24 | contributors and maintainers pledge to making participation in our project and 25 | our community a harassment-free experience for everyone, regardless of age, body 26 | size, disability, ethnicity, gender identity and expression, level of experience, 27 | nationality, personal appearance, race, religion, or sexual identity and 28 | orientation. 29 | 30 | ### Our Standards 31 | 32 | Examples of behavior that contributes to creating a positive environment 33 | include: 34 | 35 | - Using welcoming and inclusive language 36 | - Being respectful of differing viewpoints and experiences 37 | - Gracefully accepting constructive criticism 38 | - Focusing on what is best for the community 39 | - Showing empathy towards other community members 40 | 41 | Examples of unacceptable behavior by participants include: 42 | 43 | - The use of sexualized language or imagery and unwelcome sexual attention or 44 | advances 45 | - Trolling, insulting/derogatory comments, and personal or political attacks 46 | - Public or private harassment 47 | - Publishing others' private information, such as a physical or electronic 48 | address, without explicit permission 49 | - Other conduct which could reasonably be considered inappropriate in a 50 | professional setting 51 | 52 | ### Our Responsibilities 53 | 54 | Project maintainers are responsible for clarifying the standards of acceptable 55 | behavior and are expected to take appropriate and fair corrective action in 56 | response to any instances of unacceptable behavior. 57 | 58 | Project maintainers have the right and responsibility to remove, edit, or 59 | reject comments, commits, code, wiki edits, issues, and other contributions 60 | that are not aligned to this Code of Conduct, or to ban temporarily or 61 | permanently any contributor for other behaviors that they deem inappropriate, 62 | threatening, offensive, or harmful. 63 | 64 | ### Scope 65 | 66 | This Code of Conduct applies both within project spaces and in public spaces 67 | when an individual is representing the project or its community. Examples of 68 | representing a project or community include using an official project e-mail 69 | address, posting via an official social media account, or acting as an appointed 70 | representative at an online or offline event. Representation of a project may be 71 | further defined and clarified by project maintainers. 72 | 73 | ### Enforcement 74 | 75 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 76 | reported by contacting the project team at devops@contently.com. All 77 | complaints will be reviewed and investigated and will result in a response that 78 | is deemed necessary and appropriate to the circumstances. The project team is 79 | obligated to maintain confidentiality with regard to the reporter of an incident. 80 | Further details of specific enforcement policies may be posted separately. 81 | 82 | Project maintainers who do not follow or enforce the Code of Conduct in good 83 | faith may face temporary or permanent repercussions as determined by other 84 | members of the project's leadership. 85 | 86 | ### Attribution 87 | 88 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, 89 | available at [http://contributor-covenant.org/version/1/4][version] 90 | 91 | [homepage]: http://contributor-covenant.org 92 | [version]: http://contributor-covenant.org/version/1/4/ 93 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2018 Contently 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Contently Open-source 2 | 3 | A guide for Contently developers on how to approach open-sourcing internal projects. 4 | 5 | ## Our Projects 6 | 7 | ### Actively Maintained 8 | 9 | - [Action mailer matchers](https://github.com/contently/action_mailer_matchers) 10 | - [HTML diff service](https://github.com/contently/html-diff-service) 11 | - [Videojs annotation comments](https://github.com/contently/videojs-annotation-comments) 12 | - [xDomain cookies](https://github.com/contently/xdomain-cookies) 13 | 14 | ### No longer supported 15 | 16 | - [Daisydiff](https://github.com/contently/daisydiff) (deprecated in favor of [HTML diff service](https://github.com/contently/daisydiff)) 17 | 18 | ## Open-source policy 19 | 20 | Open-source is encouraged whenever possible, but it is not the default policy, nor mandatory for any project. It is required that you get approval from a Director of Engineering before publishing your project. 21 | 22 | ### Getting approval 23 | 24 | All projects need to be reviewed with a manager to determine open-source eligibility. The following statements must be true. 25 | 26 | - The project does not contain technology that significantly differentiates the Contently product from competition. 27 | - The code repository is free of any private information including personal data and private keys. (Use [these methods](https://help.github.com/articles/removing-sensitive-data-from-a-repository/) to remove private information from git history.) 28 | - You are willing and have the time to perform the extra work required to create and maintain an open-source project, as outlined in [project quality](#project-quality). 29 | 30 | ### Project quality 31 | 32 | One of the reasons that we are not open-source by default is this process requires extra responsibilities to be taken up by our developers. You are encouraged to work through the requirements listed below before publishing and to be responsive in replying to issues and pull requests on your project after publishing. 33 | 34 | If any of these requirements cannot be met at the time of publishing, you can create Github issues for them, which can be taken up by you or other developers. 35 | 36 | #### Quality requirements 37 | 38 | - Thoroughly document how to interact with all APIs 39 | - Docs should go in depth with usage examples. A /docs directory can contain information beyond the README if necessary. 40 | - Use inline documentation to explain key areas of the code. 41 | - Use semantic versioning 42 | - Include the following files, which can be templated from this repo: 43 | - [README.md](templates/README.md) 44 | - [LICENSE](templates/LICENSE) 45 | - [CONTRIBUTING.md](templates/CONTRIBUTING.md) 46 | - [CHANGELOG.md](templates/CHANGELOG.md) 47 | 48 | ### Getting help from the team 49 | 50 | You can encourage your teammates to help with your open-source project. It can be great to have help getting a code base ready for publishing by adding documentation, tests, or polishing APIs. You could also hand off writing blog posts about your project to a coworker who is interested. 51 | 52 | ### Licensing 53 | 54 | By default, use the [MIT license](templates/LICENSE), which is included in this repo. Discuss with a Director of Engineering if you think a different license would be a better fit. For example, your project may be an extension of an existing open-source project which is under a different license. 55 | 56 | ### Process 57 | 58 | 1. Open a PR in this repo and use it to work through the following steps. 59 | 2. Review your repo with a Director of Engineering to get approval, based on [getting approval](#getting-approval). 60 | 3. Update your Github repo to be public, or create a new Github public repo. 61 | 4. Publish to any package managers, such as rubygems or npm, if necessary. 62 | 5. Merge your PR into contently/open-source. 63 | 64 | ## Contributing 65 | 66 | Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us. 67 | 68 | ## Authors 69 | 70 | * **Jack Pope** - *Initial work* - [@jackpope](https://github.com/jackpope) 71 | 72 | See also the list of [contributors](https://github.com/contently/open-source/contributors) who participated in this project. 73 | 74 | ## License 75 | 76 | This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details 77 | 78 | ## Acknowledgments 79 | 80 | * [@PurpleBooth](https://github.com/PurpleBooth) for the excellent README and CONTRIBUTING templates 81 | * [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) for the excellent CHANGELOG template 82 | -------------------------------------------------------------------------------- /pull_request_template.md: -------------------------------------------------------------------------------- 1 | # Open-source process 2 | 3 | ## 4 | 5 | Follow these steps to get your project open-sourced! For more information, see the README. 6 | 7 | - [ ] Review your repo with a Director of Engineering to get approval, based on getting approval. 8 | - [ ] Update your Github repo to be public, or create a new Github public repo. 9 | - [ ] Publish to any package managers, such as rubygems or npm, if necessary. 10 | - [ ] Add project to the list in README. 11 | -------------------------------------------------------------------------------- /templates/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | All notable changes to this project will be documented in this file. 4 | 5 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), 6 | and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 7 | 8 | ## [Unreleased] 9 | 10 | ### Changed 11 | 12 | - Update and improvement of Polish translation from [](). 13 | 14 | ## [0.0.2] - 2014-06-09 15 | 16 | ### Added 17 | 18 | - Better explanation of the difference between the file ("CHANGELOG") 19 | and its function "the change log". 20 | 21 | ### Changed 22 | 23 | - Refer to a "change log" instead of a "CHANGELOG" throughout the site 24 | to differentiate between the file and the purpose of the file — the 25 | logging of changes. 26 | 27 | ### Removed 28 | 29 | - Remove empty sections from CHANGELOG, they occupy too much space and 30 | create too much noise in the file. People will have to assume that the 31 | missing sections were intentionally left out because they contained no 32 | notable changes. 33 | 34 | ## 0.0.1 - 2014-05-31 35 | 36 | ### Added 37 | 38 | - This CHANGELOG file to hopefully serve as an evolving example of a 39 | standardized open source project CHANGELOG. 40 | - CNAME file to enable GitHub Pages custom domain 41 | - README now contains answers to common questions about CHANGELOGs 42 | - Good examples and basic guidelines, including proper date formatting. 43 | - Counter-examples: "What makes unicorns cry?" 44 | -------------------------------------------------------------------------------- /templates/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | When contributing to this repository, please first discuss the change you wish to make via issue, 4 | email, or any other method with the owners of this repository before making a change. 5 | 6 | Please note we have a code of conduct, please follow it in all your interactions with the project. 7 | 8 | ## Pull Request Process 9 | 10 | 1. Ensure any install or build dependencies are removed before the end of the layer when doing a 11 | build. 12 | 2. Update the README.md with details of changes to the interface, this includes new environment 13 | variables, exposed ports, useful file locations and container parameters. 14 | 3. Increase the version numbers in any examples files and the README.md to the new version that this 15 | Pull Request would represent. The versioning scheme we use is [SemVer](http://semver.org/). 16 | 4. You may merge the Pull Request in once you have the sign-off of two other developers, or if you 17 | do not have permission to do that, you may request the second reviewer to merge it for you. 18 | 19 | ## Code of Conduct 20 | 21 | ### Our Pledge 22 | 23 | In the interest of fostering an open and welcoming environment, we as 24 | contributors and maintainers pledge to making participation in our project and 25 | our community a harassment-free experience for everyone, regardless of age, body 26 | size, disability, ethnicity, gender identity and expression, level of experience, 27 | nationality, personal appearance, race, religion, or sexual identity and 28 | orientation. 29 | 30 | ### Our Standards 31 | 32 | Examples of behavior that contributes to creating a positive environment 33 | include: 34 | 35 | - Using welcoming and inclusive language 36 | - Being respectful of differing viewpoints and experiences 37 | - Gracefully accepting constructive criticism 38 | - Focusing on what is best for the community 39 | - Showing empathy towards other community members 40 | 41 | Examples of unacceptable behavior by participants include: 42 | 43 | - The use of sexualized language or imagery and unwelcome sexual attention or 44 | advances 45 | - Trolling, insulting/derogatory comments, and personal or political attacks 46 | - Public or private harassment 47 | - Publishing others' private information, such as a physical or electronic 48 | address, without explicit permission 49 | - Other conduct which could reasonably be considered inappropriate in a 50 | professional setting 51 | 52 | ### Our Responsibilities 53 | 54 | Project maintainers are responsible for clarifying the standards of acceptable 55 | behavior and are expected to take appropriate and fair corrective action in 56 | response to any instances of unacceptable behavior. 57 | 58 | Project maintainers have the right and responsibility to remove, edit, or 59 | reject comments, commits, code, wiki edits, issues, and other contributions 60 | that are not aligned to this Code of Conduct, or to ban temporarily or 61 | permanently any contributor for other behaviors that they deem inappropriate, 62 | threatening, offensive, or harmful. 63 | 64 | ### Scope 65 | 66 | This Code of Conduct applies both within project spaces and in public spaces 67 | when an individual is representing the project or its community. Examples of 68 | representing a project or community include using an official project e-mail 69 | address, posting via an official social media account, or acting as an appointed 70 | representative at an online or offline event. Representation of a project may be 71 | further defined and clarified by project maintainers. 72 | 73 | ### Enforcement 74 | 75 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 76 | reported by contacting the project team at devops@contently.com. All 77 | complaints will be reviewed and investigated and will result in a response that 78 | is deemed necessary and appropriate to the circumstances. The project team is 79 | obligated to maintain confidentiality with regard to the reporter of an incident. 80 | Further details of specific enforcement policies may be posted separately. 81 | 82 | Project maintainers who do not follow or enforce the Code of Conduct in good 83 | faith may face temporary or permanent repercussions as determined by other 84 | members of the project's leadership. 85 | 86 | ### Attribution 87 | 88 | This Code of Conduct is adapted from the [Contributor Covenant homepage](http://contributor-covenant.org), version 1.4, 89 | available at [version](http://contributor-covenant.org/version/1/4) 90 | -------------------------------------------------------------------------------- /templates/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2018 Contently 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /templates/README.md: -------------------------------------------------------------------------------- 1 | # Project Title 2 | 3 | One Paragraph of project description goes here 4 | 5 | ## Getting Started 6 | 7 | These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system. 8 | 9 | ### Prerequisites 10 | 11 | What things you need to install the software and how to install them 12 | 13 | ``` 14 | Give examples 15 | ``` 16 | 17 | ### Installing 18 | 19 | A step by step series of examples that tell you how to get a development env running 20 | 21 | Say what the step will be 22 | 23 | ``` 24 | Give the example 25 | ``` 26 | 27 | And repeat 28 | 29 | ``` 30 | until finished 31 | ``` 32 | 33 | End with an example of getting some data out of the system or using it for a little demo 34 | 35 | ## Running the tests 36 | 37 | Explain how to run the automated tests for this system 38 | 39 | ### Break down into end to end tests 40 | 41 | Explain what these tests test and why 42 | 43 | ``` 44 | Give an example 45 | ``` 46 | 47 | ### And coding style tests 48 | 49 | Explain what these tests test and why 50 | 51 | ``` 52 | Give an example 53 | ``` 54 | 55 | ## Deployment 56 | 57 | Add additional notes about how to deploy this on a live system 58 | 59 | ## Built With 60 | 61 | * [Dropwizard](http://www.dropwizard.io/1.0.2/docs/) - The web framework used 62 | * [Maven](https://maven.apache.org/) - Dependency Management 63 | * [ROME](https://rometools.github.io/rome/) - Used to generate RSS Feeds 64 | 65 | ## Contributing 66 | 67 | Please read [CONTRIBUTING.md](https://gist.github.com/PurpleBooth/b24679402957c63ec426) for details on our code of conduct, and the process for submitting pull requests to us. 68 | 69 | ## Versioning 70 | 71 | We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/your/project/tags). 72 | 73 | ## Authors 74 | 75 | * **Billie Thompson** - *Initial work* - [PurpleBooth](https://github.com/PurpleBooth) 76 | 77 | See also the list of [contributors](https://github.com/your/project/contributors) who participated in this project. 78 | 79 | ## License 80 | 81 | This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details 82 | 83 | ## Acknowledgments 84 | 85 | * Hat tip to anyone whose code was used 86 | * Inspiration 87 | * etc 88 | --------------------------------------------------------------------------------