From 4dd28a91ef461c99b45c25d9a3739711c1e5ab47 Mon Sep 17 00:00:00 2001 From: Misty Stanley-Jones Date: Wed, 28 Sep 2016 16:42:34 -0700 Subject: [PATCH] Move opensource docs to opensource subdirectory --- Dockerfile | 34 - Jenkinsfile | 8 - MAINTAINERS | 719 ------------------ Makefile | 5 - README.md | 4 - maintainercollector/generate.go | 43 -- maintainercollector/main.go | 174 ----- maintainercollector/roles.toml | 48 -- maintainercollector/rules.toml | 240 ------ maintainercollector/types.go | 54 -- {docs => opensurce}/Dockerfile | 0 {docs => opensurce}/FAQ.md | 0 {docs => opensurce}/Makefile | 0 {docs => opensurce}/code.md | 0 {docs => opensurce}/doc-style.md | 0 {docs => opensurce}/get-help.md | 0 .../governance/board-profiles.md | 0 .../governance/conduct-code.md | 0 {docs => opensurce}/governance/dgab-info.md | 0 .../governance/images/hackday-600px.jpg | Bin {docs => opensurce}/governance/index.md | 0 {docs => opensurce}/images/bonus.png | Bin {docs => opensurce}/images/docker-friends.png | Bin {docs => opensurce}/images/gordon.jpeg | Bin .../images/irc_after_login.png | Bin {docs => opensurce}/images/irc_chat.png | Bin {docs => opensurce}/images/irc_connect.png | Bin {docs => opensurce}/images/irc_login.png | Bin {docs => opensurce}/images/irccloud-join.png | Bin .../images/irccloud-register-nick.png | Bin {docs => opensurce}/images/register_email.png | Bin {docs => opensurce}/images/register_nic.png | Bin {docs => opensurce}/images/triage-label.png | Bin {docs => opensurce}/images/tutorials.png | Bin {docs => opensurce}/index.md | 0 {docs => opensurce}/kitematic/create_pr.md | 0 {docs => opensurce}/kitematic/find_issue.md | 0 {docs => opensurce}/kitematic/get_started.md | 0 .../kitematic/images/gui-no-id.png | Bin .../kitematic/images/gui-splash-hub.png | Bin .../images/kitematic_gui_container_id.png | Bin .../kitematic/images/list_open_issues.png | Bin .../kitematic/images/nvm_install.jpeg | Bin .../kitematic/images/pr_commits_expected.png | Bin .../kitematic/images/pr_compare.png | Bin .../kitematic/images/pr_describe_issue.png | Bin .../kitematic/images/pr_latest_commits.png | Bin .../kitematic/images/pr_pull_request_made.png | Bin .../images/settings-code-example.png | Bin {docs => opensurce}/kitematic/index.md | 0 {docs => opensurce}/kitematic/next_steps.md | 0 {docs => opensurce}/kitematic/set_up_dev.md | 0 {docs => opensurce}/kitematic/work_issue.md | 0 {docs => opensurce}/project/images/box.png | Bin .../project/images/branch-sig.png | Bin .../project/images/checked.png | Bin .../project/images/contributor-edit.png | Bin .../project/images/copy_url.png | Bin .../project/images/existing_issue.snagproj | Bin .../project/images/fork_docker.png | Bin .../project/images/fresh_container.png | Bin .../project/images/git_bash.png | Bin .../project/images/give_try.png | Bin .../project/images/in_room.png | Bin .../project/images/include_gcc.png | Bin .../project/images/list_example.png | Bin .../project/images/path_variable.png | Bin .../project/images/proposal.snagproj | Bin .../project/images/red_notice.png | Bin .../project/images/three_running.png | Bin .../project/images/three_terms.png | Bin .../project/images/windows-env-vars.png | Bin .../project/images/windows-mingw.png | Bin {docs => opensurce}/project/index.md | 0 {docs => opensurce}/project/set-up-dev-env.md | 0 {docs => opensurce}/project/set-up-git.md | 0 .../project/software-req-win.md | 0 .../project/software-required.md | 0 {docs => opensurce}/project/test-and-docs.md | 0 .../project/who-written-for.md | 0 {docs => opensurce}/ways/community.md | 0 {docs => opensurce}/ways/index.md | 0 {docs => opensurce}/ways/issues.md | 0 {docs => opensurce}/ways/meetups.md | 0 {docs => opensurce}/ways/test.md | 0 .../workflow/advanced-contributing.md | 0 {docs => opensurce}/workflow/coding-style.md | 0 {docs => opensurce}/workflow/create-pr.md | 0 {docs => opensurce}/workflow/find-an-issue.md | 0 .../workflow/images/commits_expected.png | Bin .../workflow/images/easy_issue.png | Bin .../workflow/images/existing_issue.png | Bin .../workflow/images/fixes_num.png | Bin .../workflow/images/gordon.jpeg | Bin .../workflow/images/issue_list.png | Bin .../workflow/images/latest_commits.png | Bin .../workflow/images/locate_branch.png | Bin .../workflow/images/proposal.png | Bin .../workflow/images/pull_request_made.png | Bin .../workflow/images/to_from_pr.png | Bin {docs => opensurce}/workflow/index.md | 0 .../workflow/make-a-contribution.md | 0 {docs => opensurce}/workflow/review-pr.md | 0 {docs => opensurce}/workflow/work-issue.md | 0 project-template/CONTRIBUTING.md | 70 -- project-template/INSTRUCTIONS.md | 29 - project-template/LICENSE.code | 191 ----- project-template/LICENSE.docs | 425 ----------- project-template/MAINTAINERS | 28 - project-template/README.md | 26 - 110 files changed, 2098 deletions(-) delete mode 100644 Dockerfile delete mode 100644 Jenkinsfile delete mode 100755 MAINTAINERS delete mode 100644 Makefile delete mode 100644 README.md delete mode 100644 maintainercollector/generate.go delete mode 100644 maintainercollector/main.go delete mode 100644 maintainercollector/roles.toml delete mode 100644 maintainercollector/rules.toml delete mode 100644 maintainercollector/types.go rename {docs => opensurce}/Dockerfile (100%) rename {docs => opensurce}/FAQ.md (100%) rename {docs => opensurce}/Makefile (100%) rename {docs => opensurce}/code.md (100%) rename {docs => opensurce}/doc-style.md (100%) rename {docs => opensurce}/get-help.md (100%) rename {docs => opensurce}/governance/board-profiles.md (100%) rename {docs => opensurce}/governance/conduct-code.md (100%) rename {docs => opensurce}/governance/dgab-info.md (100%) rename {docs => opensurce}/governance/images/hackday-600px.jpg (100%) rename {docs => opensurce}/governance/index.md (100%) rename {docs => opensurce}/images/bonus.png (100%) rename {docs => opensurce}/images/docker-friends.png (100%) rename {docs => opensurce}/images/gordon.jpeg (100%) rename {docs => opensurce}/images/irc_after_login.png (100%) rename {docs => opensurce}/images/irc_chat.png (100%) rename {docs => opensurce}/images/irc_connect.png (100%) rename {docs => opensurce}/images/irc_login.png (100%) rename {docs => opensurce}/images/irccloud-join.png (100%) rename {docs => opensurce}/images/irccloud-register-nick.png (100%) rename {docs => opensurce}/images/register_email.png (100%) rename {docs => opensurce}/images/register_nic.png (100%) rename {docs => opensurce}/images/triage-label.png (100%) rename {docs => opensurce}/images/tutorials.png (100%) rename {docs => opensurce}/index.md (100%) rename {docs => opensurce}/kitematic/create_pr.md (100%) rename {docs => opensurce}/kitematic/find_issue.md (100%) rename {docs => opensurce}/kitematic/get_started.md (100%) rename {docs => opensurce}/kitematic/images/gui-no-id.png (100%) rename {docs => opensurce}/kitematic/images/gui-splash-hub.png (100%) rename {docs => opensurce}/kitematic/images/kitematic_gui_container_id.png (100%) rename {docs => opensurce}/kitematic/images/list_open_issues.png (100%) rename {docs => opensurce}/kitematic/images/nvm_install.jpeg (100%) rename {docs => opensurce}/kitematic/images/pr_commits_expected.png (100%) rename {docs => opensurce}/kitematic/images/pr_compare.png (100%) rename {docs => opensurce}/kitematic/images/pr_describe_issue.png (100%) rename {docs => opensurce}/kitematic/images/pr_latest_commits.png (100%) rename {docs => opensurce}/kitematic/images/pr_pull_request_made.png (100%) rename {docs => opensurce}/kitematic/images/settings-code-example.png (100%) rename {docs => opensurce}/kitematic/index.md (100%) rename {docs => opensurce}/kitematic/next_steps.md (100%) rename {docs => opensurce}/kitematic/set_up_dev.md (100%) rename {docs => opensurce}/kitematic/work_issue.md (100%) rename {docs => opensurce}/project/images/box.png (100%) rename {docs => opensurce}/project/images/branch-sig.png (100%) rename {docs => opensurce}/project/images/checked.png (100%) rename {docs => opensurce}/project/images/contributor-edit.png (100%) rename {docs => opensurce}/project/images/copy_url.png (100%) rename {docs => opensurce}/project/images/existing_issue.snagproj (100%) rename {docs => opensurce}/project/images/fork_docker.png (100%) rename {docs => opensurce}/project/images/fresh_container.png (100%) rename {docs => opensurce}/project/images/git_bash.png (100%) rename {docs => opensurce}/project/images/give_try.png (100%) rename {docs => opensurce}/project/images/in_room.png (100%) rename {docs => opensurce}/project/images/include_gcc.png (100%) rename {docs => opensurce}/project/images/list_example.png (100%) rename {docs => opensurce}/project/images/path_variable.png (100%) rename {docs => opensurce}/project/images/proposal.snagproj (100%) rename {docs => opensurce}/project/images/red_notice.png (100%) rename {docs => opensurce}/project/images/three_running.png (100%) rename {docs => opensurce}/project/images/three_terms.png (100%) rename {docs => opensurce}/project/images/windows-env-vars.png (100%) rename {docs => opensurce}/project/images/windows-mingw.png (100%) rename {docs => opensurce}/project/index.md (100%) rename {docs => opensurce}/project/set-up-dev-env.md (100%) rename {docs => opensurce}/project/set-up-git.md (100%) rename {docs => opensurce}/project/software-req-win.md (100%) rename {docs => opensurce}/project/software-required.md (100%) rename {docs => opensurce}/project/test-and-docs.md (100%) rename {docs => opensurce}/project/who-written-for.md (100%) rename {docs => opensurce}/ways/community.md (100%) rename {docs => opensurce}/ways/index.md (100%) rename {docs => opensurce}/ways/issues.md (100%) rename {docs => opensurce}/ways/meetups.md (100%) rename {docs => opensurce}/ways/test.md (100%) rename {docs => opensurce}/workflow/advanced-contributing.md (100%) rename {docs => opensurce}/workflow/coding-style.md (100%) rename {docs => opensurce}/workflow/create-pr.md (100%) rename {docs => opensurce}/workflow/find-an-issue.md (100%) rename {docs => opensurce}/workflow/images/commits_expected.png (100%) rename {docs => opensurce}/workflow/images/easy_issue.png (100%) rename {docs => opensurce}/workflow/images/existing_issue.png (100%) rename {docs => opensurce}/workflow/images/fixes_num.png (100%) rename {docs => opensurce}/workflow/images/gordon.jpeg (100%) rename {docs => opensurce}/workflow/images/issue_list.png (100%) rename {docs => opensurce}/workflow/images/latest_commits.png (100%) rename {docs => opensurce}/workflow/images/locate_branch.png (100%) rename {docs => opensurce}/workflow/images/proposal.png (100%) rename {docs => opensurce}/workflow/images/pull_request_made.png (100%) rename {docs => opensurce}/workflow/images/to_from_pr.png (100%) rename {docs => opensurce}/workflow/index.md (100%) rename {docs => opensurce}/workflow/make-a-contribution.md (100%) rename {docs => opensurce}/workflow/review-pr.md (100%) rename {docs => opensurce}/workflow/work-issue.md (100%) delete mode 100644 project-template/CONTRIBUTING.md delete mode 100644 project-template/INSTRUCTIONS.md delete mode 100644 project-template/LICENSE.code delete mode 100644 project-template/LICENSE.docs delete mode 100644 project-template/MAINTAINERS delete mode 100644 project-template/README.md diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 29aa643f2c..0000000000 --- a/Dockerfile +++ /dev/null @@ -1,34 +0,0 @@ -FROM alpine -MAINTAINER Jessica Frazelle - -ENV PATH /go/bin:/usr/local/go/bin:$PATH -ENV GOPATH /go - -RUN apk update && apk add \ - ca-certificates \ - && rm -rf /var/cache/apk/* - -COPY . /go/src/github.com/docker/opensource - -RUN buildDeps=' \ - go \ - git \ - gcc \ - libc-dev \ - libgcc \ - ' \ - set -x \ - && apk update \ - && apk add $buildDeps \ - && cd /go/src/github.com/docker/opensource \ - && go get -d -v github.com/docker/opensource/maintainercollector \ - && go generate ./maintainercollector \ - && go build -o /usr/bin/maintainercollector ./maintainercollector \ - && apk del $buildDeps \ - && rm -rf /var/cache/apk/* \ - && rm -rf /go \ - && echo "Build complete." - -WORKDIR /root/maintainers - -ENTRYPOINT [ "maintainercollector" ] diff --git a/Jenkinsfile b/Jenkinsfile deleted file mode 100644 index 86bce9d29c..0000000000 --- a/Jenkinsfile +++ /dev/null @@ -1,8 +0,0 @@ -// Only run on Linux atm -wrappedNode(label: 'linux') { - deleteDir() - stage "checkout" - checkout scm - - documentationChecker("docs") -} diff --git a/MAINTAINERS b/MAINTAINERS deleted file mode 100755 index 6bdc8eaf91..0000000000 --- a/MAINTAINERS +++ /dev/null @@ -1,719 +0,0 @@ -# -# THIS FILE IS AUTOGENERATED; SEE "./maintainercollector"! -# -# Docker projects maintainers file -# -# This file describes who runs the Docker project and how. -# This is a living document - if you see something out of date or missing, -# speak up! -# -# It is structured to be consumable by both humans and programs. -# To extract its contents programmatically, use any TOML-compliant -# parser. -[Rules] - - [Rules.maintainers] - - title = "What is a maintainer?" - - text = """ -There are different types of maintainers, with different responsibilities, but -all maintainers have 3 things in common: - -1) They share responsibility in the project's success. -2) They have made a long-term, recurring time investment to improve the project. -3) They spend that time doing whatever needs to be done, not necessarily what -is the most interesting or fun. - -Maintainers are often under-appreciated, because their work is harder to appreciate. -It's easy to appreciate a really cool and technically advanced feature. It's harder -to appreciate the absence of bugs, the slow but steady improvement in stability, -or the reliability of a release process. But those things distinguish a good -project from a great one. -""" - [Rules.adding-maintainers] - - title = "How are maintainers added?" - - text = """ -Maintainers are first and foremost contributors that have shown they are -committed to the long term success of a project. Contributors wanting to -become maintainers are expected to be deeply involved in contributing code, -pull request review, and triage of issues in the project for more than three -months. - -Just contributing does not make you a maintainer, it is about building trust -with the current maintainers of the project and being a person that they can -depend on and trust to make decisions in the best interest of the project. - -Maintainers are assigned per project (repository). Being a maintainer in -one project does not automatically make you a maintainer in other projects. - -Periodically, the existing maintainers curate a list of contributors that have -shown regular activity on the project over the prior months. From this -list, maintainer candidates are selected and proposed on the maintainers -mailing list. - -After a candidate has been announced on the maintainers mailing list, the -existing maintainers are given five business days to discuss the candidate, -raise objections and cast their vote. Candidates must be approved by the BDFL -and at least 66% of the current maintainers by adding their vote on the mailing -list. Only maintainers of the repository that the candidate is proposed for are -allowed to vote. The BDFL's vote is mandatory. - -If a candidate is approved, a maintainer will contact the candidate to -invite the candidate to open a pull request that adds the contributor to -the MAINTAINERS file. The candidate becomes a maintainer once the pull -request is merged. -""" - - [Rules.stepping-down-policy] - - title = "Stepping down policy" - - text = """ -Life priorities, interests, and passions can change. If you're a maintainer but -feel you must remove yourself from the list, inform other maintainers that you -intend to step down, and if possible, help find someone to pick up your work. -At the very least, ensure your work can be continued where you left off. - -After you've informed other maintainers, create a pull request to remove -yourself from the MAINTAINERS file. -""" - - [Rules.inactive-maintainers] - - title = "Removal of inactive maintainers" - - text = """ -Similar to the procedure for adding new maintainers, existing maintainers can -be removed from the list if they do not show significant activity on the -project. Periodically, the maintainers review the list of maintainers and their -activity over the last three months. - -If a maintainer has shown insufficient activity over this period, a neutral -person will contact the maintainer to ask if they want to continue being -a maintainer. If the maintainer decides to step down as a maintainer, they -open a pull request to be removed from the MAINTAINERS file. - -If the maintainer wants to remain a maintainer, but is unable to perform the -required duties they can be removed with a vote by the BDFL and at least 66% of -the current maintainers. The BDFL's vote is mandatory. An e-mail is sent to the -mailing list, inviting maintainers of the project to vote. The voting period is -five business days. Issues related to a maintainer's performance should be -discussed with them among the other maintainers so that they are not surprised -by a pull request removing them. -""" - - [Rules.alumni] - - title = "Alumni" - - text = """ -Projects can opt to keep a list of former maintainers in the MAINTAINERS file. -Instead of removing a maintainer from the file when they step down, the maintainer -is moved to the alumni list (`[Org.Alumni]`). People on this list have -no official capacity in the project, it's a way to say "thank you" for the -work they have done for the project. -""" - - [Rules.bdfl] - - title = "The Benevolent dictator for life (BDFL)" - - text = """ -Docker follows the timeless, highly efficient and totally unfair system -known as [Benevolent dictator for -life](https://en.wikipedia.org/wiki/Benevolent_Dictator_for_Life), with -yours truly, Solomon Hykes, in the role of BDFL. This means that all -decisions are made, by default, by Solomon. Since making every decision -myself would be highly un-scalable, in practice decisions are spread -across multiple maintainers. - -Ideally, the BDFL role is like the Queen of England: awesome crown, but not -an actual operational role day-to-day. The real job of a BDFL is to NEVER GO AWAY. -Every other rule can change, perhaps drastically so, but the BDFL will always -be there, preserving the philosophy and principles of the project, and keeping -ultimate authority over its fate. This gives us great flexibility in experimenting -with various governance models, knowing that we can always press the "reset" button -without fear of fragmentation or deadlock. See the US congress for a counter-example. - -BDFL daily routine: - -* Is the project governance stuck in a deadlock or irreversibly fragmented? - * If yes: refactor the project governance -* Are there issues or conflicts escalated by core? - * If yes: resolve them -* Go back to polishing that crown. -""" - - [Rules.decisions] - - title = "How are decisions made?" - - text = """ -Short answer: EVERYTHING IS A PULL REQUEST. - -Docker is an open-source project with an open design philosophy. This -means that the repository is the source of truth for EVERY aspect of the -project, including its philosophy, design, road map, and APIs. *If it's -part of the project, it's in the repo. If it's in the repo, it's part of -the project.* - -As a result, all decisions can be expressed as changes to the -repository. An implementation change is a change to the source code. An -API change is a change to the API specification. A philosophy change is -a change to the philosophy manifesto, and so on. - -All decisions affecting Docker, big and small, follow the same 3 steps: - -* Step 1: Open a pull request. Anyone can do this. - -* Step 2: Discuss the pull request. Anyone can do this. - -* Step 3: Merge or refuse the pull request. Who does this depends on the nature -of the pull request and which areas of the project it affects. See *review flow* -for details. - -Because Docker is such a large and active project, it's important for everyone to know -who is responsible for deciding what. That is determined by a precise set of rules. - -* For every *decision* in the project, the rules should designate, in a deterministic way, -who should *decide*. - -* For every *problem* in the project, the rules should designate, in a deterministic way, -who should be responsible for *fixing* it. - -* For every *question* in the project, the rules should designate, in a deterministic way, -who should be expected to have the *answer*. -""" - - [Rules.review] - - title = "Review flow" - - text = """ -Pull requests should be processed according to the following flow: - -* For each subsystem affected by the change, the maintainers of the subsystem must approve or refuse it. -It is the responsibility of the subsystem maintainers to process patches affecting them in a timely -manner. - -* If the change affects areas of the code which are not part of a subsystem, -or if subsystem maintainers are unable to reach a timely decision, it must be approved by -the core maintainers. - -* If the change affects the UI or public APIs, or if it represents a major change in architecture, -the architects must approve or refuse it. - -* If the change affects the operations of the project, it must be approved or rejected by -the relevant operators. - -* If the change affects the governance, philosophy, goals or principles of the project, -it must be approved by BDFL. -""" - - [Rules.DCO] - - title = "Helping contributors with the DCO" - - text = """ -The [DCO or `Sign your work`]( -https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work) -requirement is not intended as a roadblock or speed bump. - -Some Docker contributors are not as familiar with `git`, or have used a web based -editor, and thus asking them to `git commit --amend -s` is not the best way forward. - -In this case, maintainers can update the commits based on clause (c) of the DCO. The -most trivial way for a contributor to allow the maintainer to do this, is to add -a DCO signature in a pull requests's comment, or a maintainer can simply note that -the change is sufficiently trivial that it does not substantially change the existing -contribution - i.e., a spelling change. - -When you add someone's DCO, please also add your own to keep a log. -""" - - [Rules."no direct push"] - - title = "I'm a maintainer. Should I make pull requests too?" - - text = """ -Yes. Nobody should ever push to master directly. All changes should be -made through a pull request. -""" - - [Rules.meta] - - title = "How is this process changed?" - - text = "Just like everything else: by making a pull request :)" - - -# Current project roles -[Roles] - - [Roles.bdfl] - - person = "shykes" - - [Roles."Chief Architect"] - - person = "shykes" - - text = """ -The chief architect is responsible for the overall integrity of the technical architecture -across all subsystems, and the consistency of APIs and UI. - -Changes to UI, public APIs and overall architecture (for example a plugin system) must -be approved by the chief architect. -""" - - [Roles."Chief Maintainer"] - - person = "crosbymichael" - - text = """ -The chief maintainer is responsible for all aspects of quality for the project including -code reviews, usability, stability, security, performance, etc. -The most important function of the chief maintainer is to lead by example. On the first -day of a new maintainer, the best advice should be "follow the C.M.'s example and you'll -be fine". -""" - - [Roles."Community Manager"] - - person = "theadactyl" - - text = """ -The community manager is responsible for serving the project community, including users, -contributors and partners. This involves: - - facilitating communication between maintainers, contributors and users - - organizing contributor and maintainer events - - helping new contributors get involved - - anything the project community needs to be successful - -The community manager is a point of contact for any contributor who has questions, concerns -or feedback about project operations. -""" - - -[Org] - [Org.Curators] - People = ["programmerq", "thajeztah", "amitshukla"] - [Org."Docs maintainers"] - People = ["jamtur01", "moxiegirl", "sven", "thajeztah", "sfsmithcha"] - [Org.boot2docker] - People = ["ehazlett", "tianon"] - [Org.compose] - People = ["aanand", "bfirsh", "dnephin", "mnowster"] - [Org.containerd] - People = ["crosbymichael", "tonistiigi", "mlaventure"] - [Org.datakit] - People = ["samoht", "talex5"] - [Org.distribution] - People = ["aaronlehmann", "dmcgowan", "dmp42", "richardscothern", "shykes", "stevvooe"] - [Org.docker] - People = ["aaronlehmann", "calavera", "coolljt0725", "cpuguy83", "crosbymichael", "duglin", "estesp", "icecrime", "jhowardmsft", "justincormack", "lk4d4", "mavenugo", "mhbauer", "runcom", "tianon", "tibor", "tonistiigi", "unclejack", "vdemeester"] - [Org.docker-bench-security] - People = ["diogomonica", "konstruktoid"] - [Org.docker-credential-helpers] - People = ["aaronlehmann", "calavera", "coolljt0725", "cpuguy83", "crosbymichael", "dnephin", "dongluochen", "duglin", "estesp", "icecrime", "jhowardmsft", "lk4d4", "mavenugo", "mhbauer", "runcom", "stevvooe", "thajeztah", "tianon", "tibor", "tonistiigi", "unclejack", "vdemeester", "vieux"] - [Org.docker-py] - People = ["aanand", "dnephin", "mnowster", "mpetazzoni", "shin-"] - [Org.dockercraft] - People = ["aduermael", "davetucker", "gdevillele"] - [Org.engine-api] - People = ["aaronlehmann", "calavera", "coolljt0725", "cpuguy83", "crosbymichael", "dnephin", "dongluochen", "duglin", "estesp", "icecrime", "jhowardmsft", "lk4d4", "mavenugo", "mhbauer", "runcom", "stevvooe", "thajeztah", "tianon", "tibor", "tonistiigi", "unclejack", "vdemeester", "vieux"] - [Org.go-connections] - People = ["calavera"] - [Org.go-events] - People = ["aaronlehmann", "aluzzardi", "lk4d4", "stevvooe"] - [Org.go-p9p] - People = ["aduermael", "djs55", "frenchben", "justincormack", "stevvooe"] - [Org.go-plugins-helpers] - People = ["calavera", "dave-tucker", "runcom"] - [Org.go-units] - People = ["calavera"] - [Org.hyperkit] - People = ["avsm", "djs55", "dsheets", "gdevillele", "ijc25", "justincormack", "magnuss", "rneugeba", "samoht"] - [Org.kitematic] - People = ["elesant", "frenchben", "jeffdm", "mchiang0610"] - [Org.leadership] - People = ["abronan"] - [Org.leeroy] - People = ["calavera", "jfrazelle"] - [Org.libchan] - People = ["dmcgowan", "shykes"] - [Org.libcompose] - People = ["aanand", "aduermael", "dnephin", "ibuildthecloud", "joshwget", "gdevillele", "vdemeester"] - [Org.libkv] - People = ["abronan", "aluzzardi", "sanimej", "vieux"] - [Org.libnetwork] - People = ["aboch", "lk4d4", "icecrime", "mrjana", "mavenugo", "sanimej", "chenchun"] - [Org.machine] - People = ["dgageot", "ehazlett", "jeanlaurent", "nathanleclaire"] - [Org.migrator] - People = ["mbentley"] - [Org.notary] - People = ["cyli", "diogomonica", "dmcgowan", "endophage", "nathanmccauley", "riyazdf"] - [Org.spdystream] - People = ["dmcgowan"] - [Org.swarm] - People = ["abronan", "allencloud", "aluzzardi", "chanwit", "dongluochen", "jimmyxian", "mhbauer", "nishanttotla", "vieux"] - [Org.swarm-frontends] - People = ["abronan", "amitshukla", "samalba"] - [Org.swarmkit] - People = ["aaronlehmann", "abronan", "aluzzardi", "amitshukla", "diogomonica", "dongluochen", "lk4d4", "mrjana", "nishanttotla", "stevvooe", "tonistiigi", "vieux"] - [Org.toolbox] - People = ["jeffdm", "lisean106", "mchiang0610"] - [Org."v1.10-migrator"] - People = ["tonistiigi"] - [Org.vpnkit] - People = ["avsm", "djs55", "samoht", "yomimono"] - -[People] - [People.aanand] - Name = "Aanand Prasad" - Email = "aanand@docker.com" - GitHub = "aanand" - [People.aaronlehmann] - Name = "Aaron Lehmann" - Email = "aaron.lehmann@docker.com" - GitHub = "aaronlehmann" - [People.aboch] - Name = "Alessandro Boch" - Email = "aboch@docker.com" - GitHub = "aboch" - [People.abronan] - Name = "Alexandre Beslic" - Email = "abronan@docker.com" - GitHub = "abronan" - [People.aduermael] - Name = "Adrien Duermael" - Email = "adrien@docker.com" - GitHub = "aduermael" - [People.allencloud] - Name = "Allen Sun" - Email = "allen.sun@daocloud.io" - GitHub = "allencloud" - [People.aluzzardi] - Name = "Andrea Luzzardi" - Email = "al@docker.com" - GitHub = "aluzzardi" - [People.amitshukla] - Name = "Amit Shukla" - Email = "amit.shukla@docker.com" - GitHub = "amitshukla" - [People.avsm] - Name = "Anil Madhavapeddy" - Email = "anil@recoil.org" - GitHub = "avsm" - [People.bfirsh] - Name = "Ben Firshman" - Email = "ben@firshman.co.uk" - GitHub = "bfirsh" - [People.brianbland] - Name = "Brian Bland" - Email = "brian.bland@docker.com" - GitHub = "BrianBland" - [People.calavera] - Name = "David Calavera" - Email = "david.calavera@gmail.com" - GitHub = "calavera" - [People.chanwit] - Name = "Chanwit Kaewkasi" - Email = "chanwit@gmail.com" - GitHub = "chanwit" - [People.chenchun] - Name = "Chun Chen" - Email = "ramichen@tencent.com" - GitHub = "chenchun" - [People.coolljt0725] - Name = "Lei Jitang" - Email = "leijitang@huawei.com" - GitHub = "coolljt0725" - [People.cpuguy83] - Name = "Brian Goff" - Email = "cpuguy83@gmail.com" - GitHub = "cpuguy83" - [People.crosbymichael] - Name = "Michael Crosby" - Email = "crosbymichael@gmail.com" - GitHub = "crosbymichael" - [People.cyli] - Name = "Ying Li" - Email = "ying.li@docker.com" - GitHub = "cyli" - [People.dave-tucker] - Name = "Dave Tucker" - Email = "dt@docker.com" - GitHub = "dave-tucker" - [People.davetucker] - Name = "Dave Tucker" - Email = "dave.tucker@docker.com" - GitHub = "dave-tucker" - [People.dgageot] - Name = "David Gageot" - Email = "david.gageot@docker.com" - GitHub = "dgageot" - [People.diogomonica] - Name = "Diogo Monica" - Email = "diogo@docker.com" - GitHub = "diogomonica" - [People.djs55] - Name = "David Scott" - Email = "dave.scott@docker.com" - GitHub = "djs55" - [People.dmcgowan] - Name = "Derek McGowan" - Email = "derek@docker.com" - GitHub = "dmcgowan" - [People.dmp42] - Name = "Olivier Gambier" - Email = "olivier@docker.com" - GitHub = "dmp42" - [People.dnephin] - Name = "Daniel Nephin" - Email = "dnephin@gmail.com" - GitHub = "dnephin" - [People.dongluochen] - Name = "Dongluo Chen" - Email = "dong@docker.com" - GitHub = "dongluochen" - [People.dsheets] - Name = "David Sheets" - Email = "dsheets@docker.com" - GitHub = "dsheets" - [People.duglin] - Name = "Doug Davis" - Email = "dug@us.ibm.com" - GitHub = "duglin" - [People.ehazlett] - Name = "Evan Hazlett" - Email = "ejhazlett@gmail.com" - GitHub = "ehazlett" - [People.elesant] - Name = "Sean Li" - Email = "mail@shang.li" - GitHub = "elesant" - [People.endophage] - Name = "David Lawrence" - Email = "david.lawrence@docker.com" - GitHub = "endophage" - [People.erikh] - Name = "Erik Hollensbe" - Email = "erik@docker.com" - GitHub = "erikh" - [People.estesp] - Name = "Phil Estes" - Email = "estesp@linux.vnet.ibm.com" - GitHub = "estesp" - [People.frenchben] - Name = "Ben French" - Email = "frenchben@docker.com" - GitHub = "FrenchBen" - [People.gdevillele] - Name = "Gaetan de Villele" - Email = "gaetan@docker.com" - GitHub = "gdevillele" - [People.ibuildthecloud] - Name = "Darren Shepherd" - Email = "darren@rancher.com" - GitHub = "ibuildthecloud" - [People.icecrime] - Name = "Arnaud Porterie" - Email = "arnaud@docker.com" - GitHub = "icecrime" - [People.ijc25] - Name = "Ian Campbell" - Email = "ian.campbell@docker.com" - GitHub = "ijc25" - [People.jamtur01] - Name = "James Turnbull" - Email = "james@lovedthanlost.net" - GitHub = "jamtur01" - [People.jeanlaurent] - Name = "Jean-Laurent de Morlhon" - Email = "jeanlaurent@docker.com>" - GitHub = "jeanlaurent" - [People.jeffdm] - Name = "Jeff Morgan" - Email = "jmorgan@docker.com" - GitHub = "jeffdm" - [People.jfrazelle] - Name = "Jessie Frazelle" - Email = "acidburn@docker.com" - GitHub = "jfrazelle" - [People.jhowardmsft] - Name = "John Howard" - Email = "jhoward@microsoft.com" - GitHub = "jhowardmsft" - [People.jimmyxian] - Name = "Xian Chaobo" - Email = "xianchaobo@huawei.com" - GitHub = "jimmyxian" - [People.joshwget] - Name = "Josh Curl" - Email = "josh@rancher.com" - GitHub = "joshwget" - [People.justincormack] - Name = "Justin Cormack" - Email = "justin.cormack@docker.com" - GitHub = "justincormack" - [People.konstruktoid] - Name = "Thomas Sjögren" - Email = "thomas.sjogren@outlook.com" - GitHub = "konstruktoid" - [People.lisean106] - Name = "Sean Li" - Email = "sean@docker.com" - GitHub = "lisean106" - [People.lk4d4] - Name = "Alexander Morozov" - Email = "lk4d4@docker.com" - GitHub = "lk4d4" - [People.magnuss] - Name = "Magnus Skjegstad" - Email = "magnus@skjegstad.com" - GitHub = "MagnusS" - [People.mavenugo] - Name = "Madhu Venugopal" - Email = "madhu@docker.com" - GitHub = "mavenugo" - [People.mbentley] - Name = "Matt Bentley" - Email = "matt.bentley@docker.com" - GitHub = "mbentley" - [People.mchiang0610] - Name = "Michael Chiang" - Email = "mchiang@docker.com" - GitHub = "mchiang0610" - [People.mhbauer] - Name = "Morgan Bauer" - Email = "mbauer@us.ibm.com" - GitHub = "mhbauer" - [People.mlaventure] - Name = "Kenfe-Mickaël Laventure" - Email = "mickael.laventure@docker.com" - GitHub = "mlaventure" - [People.mnowster] - Name = "Mazz Mosley" - Email = "mazz@houseofmnowster.com" - GitHub = "mnowster" - [People.moxiegirl] - Name = "Mary Anthony" - Email = "mary.anthony@docker.com" - GitHub = "moxiegirl" - [People.mpetazzoni] - Name = "Maxime Petazzoni" - Email = "maxime.petazzoni@bulix.org" - GitHub = "mpetazzoni" - [People.mrjana] - Name = "Jana Radhakrishnan" - Email = "mrjana@docker.com" - GitHub = "mrjana" - [People.nathanleclaire] - Name = "Nathan LeClaire" - Email = "nathan.leclaire@docker.com" - GitHub = "nathanleclaire" - [People.nathanmccauley] - Name = "Nathan McCauley" - Email = "nathan.mccauley@docker.com" - GitHub = "nathanmccauley" - [People.nishanttotla] - Name = "Nishant Totla" - Email = "nishanttotla@gmail.com" - GitHub = "nishanttotla" - [People.programmerq] - Name = "Jeff Anderson" - Email = "jeff@docker.com" - GitHub = "programmerq" - [People.richardscothern] - Name = "Richard Scothern" - Email = "richard.scothern@gmail.com" - GitHub = "richardscothern" - [People.riyazdf] - Name = "Riyaz Faizullabhoy" - Email = "riyaz@docker.com" - GitHub = "riyazdf" - [People.rneugeba] - Name = "Rolf Neugebauer" - Email = "rolf.neugebauer@docker.com" - GitHub = "rneugeba" - [People.runcom] - Name = "Antonio Murdaca" - Email = "runcom@redhat.com" - GitHub = "runcom" - [People.samalba] - Name = "Sam Alba" - Email = "sam.alba@docker.com" - GitHub = "samalba" - [People.samoht] - Name = "Thomas Gazagnaire" - Email = "thomas@gazagnaire.org" - GitHub = "samoht" - [People.sanimej] - Name = "Santhosh Manohar" - Email = "santhosh@docker.com" - GitHub = "sanimej" - [People.shin-] - Name = "Joffrey F" - Email = "joffrey@docker.com" - GitHub = "shin-" - [People.shykes] - Name = "Solomon Hykes" - Email = "solomon@docker.com" - GitHub = "shykes" - [People.stevvooe] - Name = "Stephen Day" - Email = "stephen.day@docker.com" - GitHub = "stevvooe" - [People.sven] - Name = "Sven Dowideit" - Email = "SvenDowideit@home.org.au" - GitHub = "SvenDowideit" - [People.talex5] - Name = "Thomas Leonard" - Email = "thomas.leonard@docker.com" - GitHub = "talex5" - [People.thajeztah] - Name = "Sebastiaan van Stijn" - Email = "github@gone.nl" - GitHub = "thaJeztah" - [People.tianon] - Name = "Tianon Gravi" - Email = "admwiggin@gmail.com" - GitHub = "tianon" - [People.tibor] - Name = "Tibor Vass" - Email = "tibor@docker.com" - GitHub = "tiborvass" - [People.tonistiigi] - Name = "Tõnis Tiigi" - Email = "tonis@docker.com" - GitHub = "tonistiigi" - [People.unclejack] - Name = "Cristian Staretu" - Email = "cristian.staretu@gmail.com" - GitHub = "unclejack" - [People.vbatts] - Name = "Vincent Batts" - Email = "vbatts@redhat.com" - GitHub = "vbatts" - [People.vdemeester] - Name = "Vincent Demeester" - Email = "vincent@sbr.pm" - GitHub = "vdemeester" - [People.vieux] - Name = "Victor Vieux" - Email = "vieux@docker.com" - GitHub = "vieux" - [People.vishh] - Name = "Vishnu Kannan" - Email = "vishnuk@google.com" - GitHub = "vishh" - [People.yomimono] - Name = "Mindy Preston" - Email = "mindy.preston@docker.com" - GitHub = "yomimono" diff --git a/Makefile b/Makefile deleted file mode 100644 index 84cbe0ba70..0000000000 --- a/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -.PHONY: maintainers - -maintainers: - @docker build --rm --force-rm -t docker/maintainers . - @docker run --rm -v $(CURDIR):/root/maintainers docker/maintainers diff --git a/README.md b/README.md deleted file mode 100644 index c523e12a12..0000000000 --- a/README.md +++ /dev/null @@ -1,4 +0,0 @@ -This repo contains documentation and scripts related to the management of Open Source at Docker. - -The compiled list of maintainers of all Docker subprojects can be found at -[MAINTAINERS](MAINTAINERS). diff --git a/maintainercollector/generate.go b/maintainercollector/generate.go deleted file mode 100644 index 64297522d1..0000000000 --- a/maintainercollector/generate.go +++ /dev/null @@ -1,43 +0,0 @@ -// +build ignore - -package main - -import ( - "fmt" - "io/ioutil" - "os" - "path/filepath" -) - -func main() { - wd, err := os.Getwd() - if err != nil { - panic(err) - } - - if err := generateFile(wd, "rules.toml", "rules"); err != nil { - panic(err) - } - - if err := generateFile(wd, "roles.toml", "roles"); err != nil { - panic(err) - } -} - -func generateFile(wd string, file string, target string) error { - src, err := ioutil.ReadFile(file) - if err != nil { - panic(err) - } - out, err := os.Create(filepath.Join(wd, target+".go")) - if err != nil { - return err - } - out.Write([]byte("// This file is autogenerated; DO NOT EDIT DIRECTLY\n// See maintainercollector/generate.go for more info\npackage main\n\nconst (\n")) - - out.Write([]byte(fmt.Sprintf("%s = %q", target, string(src)))) - - out.Write([]byte("\n)\n")) - - return nil -} diff --git a/maintainercollector/main.go b/maintainercollector/main.go deleted file mode 100644 index 6f2163df6e..0000000000 --- a/maintainercollector/main.go +++ /dev/null @@ -1,174 +0,0 @@ -package main - -import ( - "bytes" - "fmt" - "io/ioutil" - "net/http" - "strings" - - "github.com/BurntSushi/toml" - "github.com/Sirupsen/logrus" -) - -const ( - ghRawUri = "https://raw.githubusercontent.com" - head = `# -# THIS FILE IS AUTOGENERATED; SEE "./maintainercollector"! -# -# Docker projects maintainers file -# -# This file describes who runs the Docker project and how. -# This is a living document - if you see something out of date or missing, -# speak up! -# -# It is structured to be consumable by both humans and programs. -# To extract its contents programmatically, use any TOML-compliant -# parser. -` -) - -var ( - org = "docker" - projects = []string{ - "boot2docker", - "compose", - "containerd", - "datakit", - "distribution", - "docker", - "docker-bench-security", - "docker-credential-helpers", - "docker-py", - "dockercraft", - "engine-api", - "go-connections", - "go-events", - "go-p9p", - "go-plugins-helpers", - "go-units", - "hyperkit", - "kitematic", - "leadership", - "leeroy", - "libchan", - "libcompose", - "libkv", - "libnetwork", - "machine", - "migrator", - "notary", - "spdystream", - "swarm", - "swarmkit", - "swarm-frontends", - "toolbox", - "v1.10-migrator", - "vpnkit", - } -) - -//go:generate go run generate.go - -func main() { - // initialize the project MAINTAINERS file - projectMaintainers := Maintainers{ - Org: map[string]*Org{}, - People: map[string]Person{}, - } - - // initialize Curators - projectMaintainers.Org["Curators"] = &Org{} - projectMaintainers.Org["Docs maintainers"] = &Org{} - - // parse the MAINTAINERS file for each repo - for _, project := range projects { - maintainers, err := getMaintainers(project) - if err != nil { - logrus.Errorf("%s: parsing MAINTAINERS file failed: %v", project, err) - continue - } - - // create the Org object for the project - p := &Org{ - // Repo: fmt.Sprintf("https://github.com/%s/%s", org, project), - // TODO: change this to: - // People: maintainers.Org["Core maintainers"].People, - // once MaintainersDepreciated is removed. - People: maintainers.Organization.CoreMaintainers.People, - } - - // lowercase all maintainers nicks for consistency - for i, n := range p.People { - p.People[i] = strings.ToLower(n) - } - - projectMaintainers.Org[project] = p - - if maintainers.Organization.DocsMaintainers != nil { - projectMaintainers.Org["Docs maintainers"].People = append(projectMaintainers.Org["Docs maintainers"].People, maintainers.Organization.DocsMaintainers.People...) - } - - if maintainers.Organization.Curators != nil { - projectMaintainers.Org["Curators"].People = append(projectMaintainers.Org["Curators"].People, maintainers.Organization.Curators.People...) - } - - // iterate through the people and add them to compiled list - for nick, person := range maintainers.People { - projectMaintainers.People[strings.ToLower(nick)] = person - } - } - - projectMaintainers.Org["Curators"].People = removeDuplicates(projectMaintainers.Org["Curators"].People) - projectMaintainers.Org["Docs maintainers"].People = removeDuplicates(projectMaintainers.Org["Docs maintainers"].People) - - // encode the result to a file - buf := new(bytes.Buffer) - t := toml.NewEncoder(buf) - t.Indent = " " - if err := t.Encode(projectMaintainers); err != nil { - logrus.Fatalf("TOML encoding error: %v", err) - } - - file := append([]byte(head), []byte(rules)...) - file = append(file, []byte(roles)...) - file = append(file, buf.Bytes()...) - - if err := ioutil.WriteFile("MAINTAINERS", file, 0755); err != nil { - logrus.Fatal(err) - } - - logrus.Infof("Successfully wrote new combined MAINTAINERS file.") -} - -func removeDuplicates(slice []string) []string { - seens := map[string]bool{} - uniqs := []string{} - for _, element := range slice { - if _, seen := seens[element]; !seen { - uniqs = append(uniqs, element) - seens[element] = true - } - } - return uniqs -} - -func getMaintainers(project string) (maintainers MaintainersDepreciated, err error) { - fileUrl := fmt.Sprintf("%s/%s/%s/master/MAINTAINERS", ghRawUri, org, project) - resp, err := http.Get(fileUrl) - if err != nil { - return maintainers, fmt.Errorf("%s: %v", project, err) - } - defer resp.Body.Close() - - file, err := ioutil.ReadAll(resp.Body) - if err != nil { - return maintainers, fmt.Errorf("%s: %v", project, err) - } - - if _, err := toml.Decode(string(file), &maintainers); err != nil { - return maintainers, fmt.Errorf("%s: parsing MAINTAINERS file failed: %v", project, err) - } - - return maintainers, nil -} diff --git a/maintainercollector/roles.toml b/maintainercollector/roles.toml deleted file mode 100644 index b4e02026e4..0000000000 --- a/maintainercollector/roles.toml +++ /dev/null @@ -1,48 +0,0 @@ -# Current project roles -[Roles] - - [Roles.bdfl] - - person = "shykes" - - [Roles."Chief Architect"] - - person = "shykes" - - text = """ -The chief architect is responsible for the overall integrity of the technical architecture -across all subsystems, and the consistency of APIs and UI. - -Changes to UI, public APIs and overall architecture (for example a plugin system) must -be approved by the chief architect. -""" - - [Roles."Chief Maintainer"] - - person = "crosbymichael" - - text = """ -The chief maintainer is responsible for all aspects of quality for the project including -code reviews, usability, stability, security, performance, etc. -The most important function of the chief maintainer is to lead by example. On the first -day of a new maintainer, the best advice should be "follow the C.M.'s example and you'll -be fine". -""" - - [Roles."Community Manager"] - - person = "theadactyl" - - text = """ -The community manager is responsible for serving the project community, including users, -contributors and partners. This involves: - - facilitating communication between maintainers, contributors and users - - organizing contributor and maintainer events - - helping new contributors get involved - - anything the project community needs to be successful - -The community manager is a point of contact for any contributor who has questions, concerns -or feedback about project operations. -""" - - diff --git a/maintainercollector/rules.toml b/maintainercollector/rules.toml deleted file mode 100644 index edf0dc3f2e..0000000000 --- a/maintainercollector/rules.toml +++ /dev/null @@ -1,240 +0,0 @@ -[Rules] - - [Rules.maintainers] - - title = "What is a maintainer?" - - text = """ -There are different types of maintainers, with different responsibilities, but -all maintainers have 3 things in common: - -1) They share responsibility in the project's success. -2) They have made a long-term, recurring time investment to improve the project. -3) They spend that time doing whatever needs to be done, not necessarily what -is the most interesting or fun. - -Maintainers are often under-appreciated, because their work is harder to appreciate. -It's easy to appreciate a really cool and technically advanced feature. It's harder -to appreciate the absence of bugs, the slow but steady improvement in stability, -or the reliability of a release process. But those things distinguish a good -project from a great one. -""" - [Rules.adding-maintainers] - - title = "How are maintainers added?" - - text = """ -Maintainers are first and foremost contributors that have shown they are -committed to the long term success of a project. Contributors wanting to -become maintainers are expected to be deeply involved in contributing code, -pull request review, and triage of issues in the project for more than three -months. - -Just contributing does not make you a maintainer, it is about building trust -with the current maintainers of the project and being a person that they can -depend on and trust to make decisions in the best interest of the project. - -Maintainers are assigned per project (repository). Being a maintainer in -one project does not automatically make you a maintainer in other projects. - -Periodically, the existing maintainers curate a list of contributors that have -shown regular activity on the project over the prior months. From this -list, maintainer candidates are selected and proposed on the maintainers -mailing list. - -After a candidate has been announced on the maintainers mailing list, the -existing maintainers are given five business days to discuss the candidate, -raise objections and cast their vote. Candidates must be approved by the BDFL -and at least 66% of the current maintainers by adding their vote on the mailing -list. Only maintainers of the repository that the candidate is proposed for are -allowed to vote. The BDFL's vote is mandatory. - -If a candidate is approved, a maintainer will contact the candidate to -invite the candidate to open a pull request that adds the contributor to -the MAINTAINERS file. The candidate becomes a maintainer once the pull -request is merged. -""" - - [Rules.stepping-down-policy] - - title = "Stepping down policy" - - text = """ -Life priorities, interests, and passions can change. If you're a maintainer but -feel you must remove yourself from the list, inform other maintainers that you -intend to step down, and if possible, help find someone to pick up your work. -At the very least, ensure your work can be continued where you left off. - -After you've informed other maintainers, create a pull request to remove -yourself from the MAINTAINERS file. -""" - - [Rules.inactive-maintainers] - - title = "Removal of inactive maintainers" - - text = """ -Similar to the procedure for adding new maintainers, existing maintainers can -be removed from the list if they do not show significant activity on the -project. Periodically, the maintainers review the list of maintainers and their -activity over the last three months. - -If a maintainer has shown insufficient activity over this period, a neutral -person will contact the maintainer to ask if they want to continue being -a maintainer. If the maintainer decides to step down as a maintainer, they -open a pull request to be removed from the MAINTAINERS file. - -If the maintainer wants to remain a maintainer, but is unable to perform the -required duties they can be removed with a vote by the BDFL and at least 66% of -the current maintainers. The BDFL's vote is mandatory. An e-mail is sent to the -mailing list, inviting maintainers of the project to vote. The voting period is -five business days. Issues related to a maintainer's performance should be -discussed with them among the other maintainers so that they are not surprised -by a pull request removing them. -""" - - [Rules.alumni] - - title = "Alumni" - - text = """ -Projects can opt to keep a list of former maintainers in the MAINTAINERS file. -Instead of removing a maintainer from the file when they step down, the maintainer -is moved to the alumni list (`[Org.Alumni]`). People on this list have -no official capacity in the project, it's a way to say "thank you" for the -work they have done for the project. -""" - - [Rules.bdfl] - - title = "The Benevolent dictator for life (BDFL)" - - text = """ -Docker follows the timeless, highly efficient and totally unfair system -known as [Benevolent dictator for -life](https://en.wikipedia.org/wiki/Benevolent_Dictator_for_Life), with -yours truly, Solomon Hykes, in the role of BDFL. This means that all -decisions are made, by default, by Solomon. Since making every decision -myself would be highly un-scalable, in practice decisions are spread -across multiple maintainers. - -Ideally, the BDFL role is like the Queen of England: awesome crown, but not -an actual operational role day-to-day. The real job of a BDFL is to NEVER GO AWAY. -Every other rule can change, perhaps drastically so, but the BDFL will always -be there, preserving the philosophy and principles of the project, and keeping -ultimate authority over its fate. This gives us great flexibility in experimenting -with various governance models, knowing that we can always press the "reset" button -without fear of fragmentation or deadlock. See the US congress for a counter-example. - -BDFL daily routine: - -* Is the project governance stuck in a deadlock or irreversibly fragmented? - * If yes: refactor the project governance -* Are there issues or conflicts escalated by core? - * If yes: resolve them -* Go back to polishing that crown. -""" - - [Rules.decisions] - - title = "How are decisions made?" - - text = """ -Short answer: EVERYTHING IS A PULL REQUEST. - -Docker is an open-source project with an open design philosophy. This -means that the repository is the source of truth for EVERY aspect of the -project, including its philosophy, design, road map, and APIs. *If it's -part of the project, it's in the repo. If it's in the repo, it's part of -the project.* - -As a result, all decisions can be expressed as changes to the -repository. An implementation change is a change to the source code. An -API change is a change to the API specification. A philosophy change is -a change to the philosophy manifesto, and so on. - -All decisions affecting Docker, big and small, follow the same 3 steps: - -* Step 1: Open a pull request. Anyone can do this. - -* Step 2: Discuss the pull request. Anyone can do this. - -* Step 3: Merge or refuse the pull request. Who does this depends on the nature -of the pull request and which areas of the project it affects. See *review flow* -for details. - -Because Docker is such a large and active project, it's important for everyone to know -who is responsible for deciding what. That is determined by a precise set of rules. - -* For every *decision* in the project, the rules should designate, in a deterministic way, -who should *decide*. - -* For every *problem* in the project, the rules should designate, in a deterministic way, -who should be responsible for *fixing* it. - -* For every *question* in the project, the rules should designate, in a deterministic way, -who should be expected to have the *answer*. -""" - - [Rules.review] - - title = "Review flow" - - text = """ -Pull requests should be processed according to the following flow: - -* For each subsystem affected by the change, the maintainers of the subsystem must approve or refuse it. -It is the responsibility of the subsystem maintainers to process patches affecting them in a timely -manner. - -* If the change affects areas of the code which are not part of a subsystem, -or if subsystem maintainers are unable to reach a timely decision, it must be approved by -the core maintainers. - -* If the change affects the UI or public APIs, or if it represents a major change in architecture, -the architects must approve or refuse it. - -* If the change affects the operations of the project, it must be approved or rejected by -the relevant operators. - -* If the change affects the governance, philosophy, goals or principles of the project, -it must be approved by BDFL. -""" - - [Rules.DCO] - - title = "Helping contributors with the DCO" - - text = """ -The [DCO or `Sign your work`]( -https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work) -requirement is not intended as a roadblock or speed bump. - -Some Docker contributors are not as familiar with `git`, or have used a web based -editor, and thus asking them to `git commit --amend -s` is not the best way forward. - -In this case, maintainers can update the commits based on clause (c) of the DCO. The -most trivial way for a contributor to allow the maintainer to do this, is to add -a DCO signature in a pull requests's comment, or a maintainer can simply note that -the change is sufficiently trivial that it does not substantially change the existing -contribution - i.e., a spelling change. - -When you add someone's DCO, please also add your own to keep a log. -""" - - [Rules."no direct push"] - - title = "I'm a maintainer. Should I make pull requests too?" - - text = """ -Yes. Nobody should ever push to master directly. All changes should be -made through a pull request. -""" - - [Rules.meta] - - title = "How is this process changed?" - - text = "Just like everything else: by making a pull request :)" - - diff --git a/maintainercollector/types.go b/maintainercollector/types.go deleted file mode 100644 index ec56a9780a..0000000000 --- a/maintainercollector/types.go +++ /dev/null @@ -1,54 +0,0 @@ -package main - -// Maintainers defines the struct for a MAINTAINERS file -type Maintainers struct { - Rules map[string]Rule - Roles map[string]Role - Org map[string]*Org - People map[string]Person -} - -// Rule is a project rule -type Rule struct { - Title string `toml:"title,omitempty"` - Text string `toml:"text,omitempty"` -} - -// Role is a project role -type Role struct { - Person string `toml:"person,omitempty"` - Text string `toml:"text,omitempty"` -} - -// Org defines the organization within a project -type Org struct { - People []string -} - -// Person member of the project -type Person struct { - Name string - Email string - GitHub string -} - -// MaintainersDepreciated is an old struct for compatibility -// with the docker/docker maintainers file. -// TODO: delete this once the file in docker/docker repo is updated -type MaintainersDepreciated struct { - Rules map[string]Rule - Organization Organization `toml:"Org"` - People map[string]Person -} - -// Organization defines the project's organization -// TODO: delete this once MaintainersDepreciated is removed -type Organization struct { - BDFL string `toml:"bdfl"` - ChiefArchitect string `toml:"Chief Architect"` - ChiefMaintainer string `toml:"Chief Maintainer"` - CommunityManager string `toml:"Community Manager"` - CoreMaintainers *Org `toml:"Core maintainers"` - DocsMaintainers *Org `toml:"Docs maintainers"` - Curators *Org `toml:"Curators"` -} diff --git a/docs/Dockerfile b/opensurce/Dockerfile similarity index 100% rename from docs/Dockerfile rename to opensurce/Dockerfile diff --git a/docs/FAQ.md b/opensurce/FAQ.md similarity index 100% rename from docs/FAQ.md rename to opensurce/FAQ.md diff --git a/docs/Makefile b/opensurce/Makefile similarity index 100% rename from docs/Makefile rename to opensurce/Makefile diff --git a/docs/code.md b/opensurce/code.md similarity index 100% rename from docs/code.md rename to opensurce/code.md diff --git a/docs/doc-style.md b/opensurce/doc-style.md similarity index 100% rename from docs/doc-style.md rename to opensurce/doc-style.md diff --git a/docs/get-help.md b/opensurce/get-help.md similarity index 100% rename from docs/get-help.md rename to opensurce/get-help.md diff --git a/docs/governance/board-profiles.md b/opensurce/governance/board-profiles.md similarity index 100% rename from docs/governance/board-profiles.md rename to opensurce/governance/board-profiles.md diff --git a/docs/governance/conduct-code.md b/opensurce/governance/conduct-code.md similarity index 100% rename from docs/governance/conduct-code.md rename to opensurce/governance/conduct-code.md diff --git a/docs/governance/dgab-info.md b/opensurce/governance/dgab-info.md similarity index 100% rename from docs/governance/dgab-info.md rename to opensurce/governance/dgab-info.md diff --git a/docs/governance/images/hackday-600px.jpg b/opensurce/governance/images/hackday-600px.jpg similarity index 100% rename from docs/governance/images/hackday-600px.jpg rename to opensurce/governance/images/hackday-600px.jpg diff --git a/docs/governance/index.md b/opensurce/governance/index.md similarity index 100% rename from docs/governance/index.md rename to opensurce/governance/index.md diff --git a/docs/images/bonus.png b/opensurce/images/bonus.png similarity index 100% rename from docs/images/bonus.png rename to opensurce/images/bonus.png diff --git a/docs/images/docker-friends.png b/opensurce/images/docker-friends.png similarity index 100% rename from docs/images/docker-friends.png rename to opensurce/images/docker-friends.png diff --git a/docs/images/gordon.jpeg b/opensurce/images/gordon.jpeg similarity index 100% rename from docs/images/gordon.jpeg rename to opensurce/images/gordon.jpeg diff --git a/docs/images/irc_after_login.png b/opensurce/images/irc_after_login.png similarity index 100% rename from docs/images/irc_after_login.png rename to opensurce/images/irc_after_login.png diff --git a/docs/images/irc_chat.png b/opensurce/images/irc_chat.png similarity index 100% rename from docs/images/irc_chat.png rename to opensurce/images/irc_chat.png diff --git a/docs/images/irc_connect.png b/opensurce/images/irc_connect.png similarity index 100% rename from docs/images/irc_connect.png rename to opensurce/images/irc_connect.png diff --git a/docs/images/irc_login.png b/opensurce/images/irc_login.png similarity index 100% rename from docs/images/irc_login.png rename to opensurce/images/irc_login.png diff --git a/docs/images/irccloud-join.png b/opensurce/images/irccloud-join.png similarity index 100% rename from docs/images/irccloud-join.png rename to opensurce/images/irccloud-join.png diff --git a/docs/images/irccloud-register-nick.png b/opensurce/images/irccloud-register-nick.png similarity index 100% rename from docs/images/irccloud-register-nick.png rename to opensurce/images/irccloud-register-nick.png diff --git a/docs/images/register_email.png b/opensurce/images/register_email.png similarity index 100% rename from docs/images/register_email.png rename to opensurce/images/register_email.png diff --git a/docs/images/register_nic.png b/opensurce/images/register_nic.png similarity index 100% rename from docs/images/register_nic.png rename to opensurce/images/register_nic.png diff --git a/docs/images/triage-label.png b/opensurce/images/triage-label.png similarity index 100% rename from docs/images/triage-label.png rename to opensurce/images/triage-label.png diff --git a/docs/images/tutorials.png b/opensurce/images/tutorials.png similarity index 100% rename from docs/images/tutorials.png rename to opensurce/images/tutorials.png diff --git a/docs/index.md b/opensurce/index.md similarity index 100% rename from docs/index.md rename to opensurce/index.md diff --git a/docs/kitematic/create_pr.md b/opensurce/kitematic/create_pr.md similarity index 100% rename from docs/kitematic/create_pr.md rename to opensurce/kitematic/create_pr.md diff --git a/docs/kitematic/find_issue.md b/opensurce/kitematic/find_issue.md similarity index 100% rename from docs/kitematic/find_issue.md rename to opensurce/kitematic/find_issue.md diff --git a/docs/kitematic/get_started.md b/opensurce/kitematic/get_started.md similarity index 100% rename from docs/kitematic/get_started.md rename to opensurce/kitematic/get_started.md diff --git a/docs/kitematic/images/gui-no-id.png b/opensurce/kitematic/images/gui-no-id.png similarity index 100% rename from docs/kitematic/images/gui-no-id.png rename to opensurce/kitematic/images/gui-no-id.png diff --git a/docs/kitematic/images/gui-splash-hub.png b/opensurce/kitematic/images/gui-splash-hub.png similarity index 100% rename from docs/kitematic/images/gui-splash-hub.png rename to opensurce/kitematic/images/gui-splash-hub.png diff --git a/docs/kitematic/images/kitematic_gui_container_id.png b/opensurce/kitematic/images/kitematic_gui_container_id.png similarity index 100% rename from docs/kitematic/images/kitematic_gui_container_id.png rename to opensurce/kitematic/images/kitematic_gui_container_id.png diff --git a/docs/kitematic/images/list_open_issues.png b/opensurce/kitematic/images/list_open_issues.png similarity index 100% rename from docs/kitematic/images/list_open_issues.png rename to opensurce/kitematic/images/list_open_issues.png diff --git a/docs/kitematic/images/nvm_install.jpeg b/opensurce/kitematic/images/nvm_install.jpeg similarity index 100% rename from docs/kitematic/images/nvm_install.jpeg rename to opensurce/kitematic/images/nvm_install.jpeg diff --git a/docs/kitematic/images/pr_commits_expected.png b/opensurce/kitematic/images/pr_commits_expected.png similarity index 100% rename from docs/kitematic/images/pr_commits_expected.png rename to opensurce/kitematic/images/pr_commits_expected.png diff --git a/docs/kitematic/images/pr_compare.png b/opensurce/kitematic/images/pr_compare.png similarity index 100% rename from docs/kitematic/images/pr_compare.png rename to opensurce/kitematic/images/pr_compare.png diff --git a/docs/kitematic/images/pr_describe_issue.png b/opensurce/kitematic/images/pr_describe_issue.png similarity index 100% rename from docs/kitematic/images/pr_describe_issue.png rename to opensurce/kitematic/images/pr_describe_issue.png diff --git a/docs/kitematic/images/pr_latest_commits.png b/opensurce/kitematic/images/pr_latest_commits.png similarity index 100% rename from docs/kitematic/images/pr_latest_commits.png rename to opensurce/kitematic/images/pr_latest_commits.png diff --git a/docs/kitematic/images/pr_pull_request_made.png b/opensurce/kitematic/images/pr_pull_request_made.png similarity index 100% rename from docs/kitematic/images/pr_pull_request_made.png rename to opensurce/kitematic/images/pr_pull_request_made.png diff --git a/docs/kitematic/images/settings-code-example.png b/opensurce/kitematic/images/settings-code-example.png similarity index 100% rename from docs/kitematic/images/settings-code-example.png rename to opensurce/kitematic/images/settings-code-example.png diff --git a/docs/kitematic/index.md b/opensurce/kitematic/index.md similarity index 100% rename from docs/kitematic/index.md rename to opensurce/kitematic/index.md diff --git a/docs/kitematic/next_steps.md b/opensurce/kitematic/next_steps.md similarity index 100% rename from docs/kitematic/next_steps.md rename to opensurce/kitematic/next_steps.md diff --git a/docs/kitematic/set_up_dev.md b/opensurce/kitematic/set_up_dev.md similarity index 100% rename from docs/kitematic/set_up_dev.md rename to opensurce/kitematic/set_up_dev.md diff --git a/docs/kitematic/work_issue.md b/opensurce/kitematic/work_issue.md similarity index 100% rename from docs/kitematic/work_issue.md rename to opensurce/kitematic/work_issue.md diff --git a/docs/project/images/box.png b/opensurce/project/images/box.png similarity index 100% rename from docs/project/images/box.png rename to opensurce/project/images/box.png diff --git a/docs/project/images/branch-sig.png b/opensurce/project/images/branch-sig.png similarity index 100% rename from docs/project/images/branch-sig.png rename to opensurce/project/images/branch-sig.png diff --git a/docs/project/images/checked.png b/opensurce/project/images/checked.png similarity index 100% rename from docs/project/images/checked.png rename to opensurce/project/images/checked.png diff --git a/docs/project/images/contributor-edit.png b/opensurce/project/images/contributor-edit.png similarity index 100% rename from docs/project/images/contributor-edit.png rename to opensurce/project/images/contributor-edit.png diff --git a/docs/project/images/copy_url.png b/opensurce/project/images/copy_url.png similarity index 100% rename from docs/project/images/copy_url.png rename to opensurce/project/images/copy_url.png diff --git a/docs/project/images/existing_issue.snagproj b/opensurce/project/images/existing_issue.snagproj similarity index 100% rename from docs/project/images/existing_issue.snagproj rename to opensurce/project/images/existing_issue.snagproj diff --git a/docs/project/images/fork_docker.png b/opensurce/project/images/fork_docker.png similarity index 100% rename from docs/project/images/fork_docker.png rename to opensurce/project/images/fork_docker.png diff --git a/docs/project/images/fresh_container.png b/opensurce/project/images/fresh_container.png similarity index 100% rename from docs/project/images/fresh_container.png rename to opensurce/project/images/fresh_container.png diff --git a/docs/project/images/git_bash.png b/opensurce/project/images/git_bash.png similarity index 100% rename from docs/project/images/git_bash.png rename to opensurce/project/images/git_bash.png diff --git a/docs/project/images/give_try.png b/opensurce/project/images/give_try.png similarity index 100% rename from docs/project/images/give_try.png rename to opensurce/project/images/give_try.png diff --git a/docs/project/images/in_room.png b/opensurce/project/images/in_room.png similarity index 100% rename from docs/project/images/in_room.png rename to opensurce/project/images/in_room.png diff --git a/docs/project/images/include_gcc.png b/opensurce/project/images/include_gcc.png similarity index 100% rename from docs/project/images/include_gcc.png rename to opensurce/project/images/include_gcc.png diff --git a/docs/project/images/list_example.png b/opensurce/project/images/list_example.png similarity index 100% rename from docs/project/images/list_example.png rename to opensurce/project/images/list_example.png diff --git a/docs/project/images/path_variable.png b/opensurce/project/images/path_variable.png similarity index 100% rename from docs/project/images/path_variable.png rename to opensurce/project/images/path_variable.png diff --git a/docs/project/images/proposal.snagproj b/opensurce/project/images/proposal.snagproj similarity index 100% rename from docs/project/images/proposal.snagproj rename to opensurce/project/images/proposal.snagproj diff --git a/docs/project/images/red_notice.png b/opensurce/project/images/red_notice.png similarity index 100% rename from docs/project/images/red_notice.png rename to opensurce/project/images/red_notice.png diff --git a/docs/project/images/three_running.png b/opensurce/project/images/three_running.png similarity index 100% rename from docs/project/images/three_running.png rename to opensurce/project/images/three_running.png diff --git a/docs/project/images/three_terms.png b/opensurce/project/images/three_terms.png similarity index 100% rename from docs/project/images/three_terms.png rename to opensurce/project/images/three_terms.png diff --git a/docs/project/images/windows-env-vars.png b/opensurce/project/images/windows-env-vars.png similarity index 100% rename from docs/project/images/windows-env-vars.png rename to opensurce/project/images/windows-env-vars.png diff --git a/docs/project/images/windows-mingw.png b/opensurce/project/images/windows-mingw.png similarity index 100% rename from docs/project/images/windows-mingw.png rename to opensurce/project/images/windows-mingw.png diff --git a/docs/project/index.md b/opensurce/project/index.md similarity index 100% rename from docs/project/index.md rename to opensurce/project/index.md diff --git a/docs/project/set-up-dev-env.md b/opensurce/project/set-up-dev-env.md similarity index 100% rename from docs/project/set-up-dev-env.md rename to opensurce/project/set-up-dev-env.md diff --git a/docs/project/set-up-git.md b/opensurce/project/set-up-git.md similarity index 100% rename from docs/project/set-up-git.md rename to opensurce/project/set-up-git.md diff --git a/docs/project/software-req-win.md b/opensurce/project/software-req-win.md similarity index 100% rename from docs/project/software-req-win.md rename to opensurce/project/software-req-win.md diff --git a/docs/project/software-required.md b/opensurce/project/software-required.md similarity index 100% rename from docs/project/software-required.md rename to opensurce/project/software-required.md diff --git a/docs/project/test-and-docs.md b/opensurce/project/test-and-docs.md similarity index 100% rename from docs/project/test-and-docs.md rename to opensurce/project/test-and-docs.md diff --git a/docs/project/who-written-for.md b/opensurce/project/who-written-for.md similarity index 100% rename from docs/project/who-written-for.md rename to opensurce/project/who-written-for.md diff --git a/docs/ways/community.md b/opensurce/ways/community.md similarity index 100% rename from docs/ways/community.md rename to opensurce/ways/community.md diff --git a/docs/ways/index.md b/opensurce/ways/index.md similarity index 100% rename from docs/ways/index.md rename to opensurce/ways/index.md diff --git a/docs/ways/issues.md b/opensurce/ways/issues.md similarity index 100% rename from docs/ways/issues.md rename to opensurce/ways/issues.md diff --git a/docs/ways/meetups.md b/opensurce/ways/meetups.md similarity index 100% rename from docs/ways/meetups.md rename to opensurce/ways/meetups.md diff --git a/docs/ways/test.md b/opensurce/ways/test.md similarity index 100% rename from docs/ways/test.md rename to opensurce/ways/test.md diff --git a/docs/workflow/advanced-contributing.md b/opensurce/workflow/advanced-contributing.md similarity index 100% rename from docs/workflow/advanced-contributing.md rename to opensurce/workflow/advanced-contributing.md diff --git a/docs/workflow/coding-style.md b/opensurce/workflow/coding-style.md similarity index 100% rename from docs/workflow/coding-style.md rename to opensurce/workflow/coding-style.md diff --git a/docs/workflow/create-pr.md b/opensurce/workflow/create-pr.md similarity index 100% rename from docs/workflow/create-pr.md rename to opensurce/workflow/create-pr.md diff --git a/docs/workflow/find-an-issue.md b/opensurce/workflow/find-an-issue.md similarity index 100% rename from docs/workflow/find-an-issue.md rename to opensurce/workflow/find-an-issue.md diff --git a/docs/workflow/images/commits_expected.png b/opensurce/workflow/images/commits_expected.png similarity index 100% rename from docs/workflow/images/commits_expected.png rename to opensurce/workflow/images/commits_expected.png diff --git a/docs/workflow/images/easy_issue.png b/opensurce/workflow/images/easy_issue.png similarity index 100% rename from docs/workflow/images/easy_issue.png rename to opensurce/workflow/images/easy_issue.png diff --git a/docs/workflow/images/existing_issue.png b/opensurce/workflow/images/existing_issue.png similarity index 100% rename from docs/workflow/images/existing_issue.png rename to opensurce/workflow/images/existing_issue.png diff --git a/docs/workflow/images/fixes_num.png b/opensurce/workflow/images/fixes_num.png similarity index 100% rename from docs/workflow/images/fixes_num.png rename to opensurce/workflow/images/fixes_num.png diff --git a/docs/workflow/images/gordon.jpeg b/opensurce/workflow/images/gordon.jpeg similarity index 100% rename from docs/workflow/images/gordon.jpeg rename to opensurce/workflow/images/gordon.jpeg diff --git a/docs/workflow/images/issue_list.png b/opensurce/workflow/images/issue_list.png similarity index 100% rename from docs/workflow/images/issue_list.png rename to opensurce/workflow/images/issue_list.png diff --git a/docs/workflow/images/latest_commits.png b/opensurce/workflow/images/latest_commits.png similarity index 100% rename from docs/workflow/images/latest_commits.png rename to opensurce/workflow/images/latest_commits.png diff --git a/docs/workflow/images/locate_branch.png b/opensurce/workflow/images/locate_branch.png similarity index 100% rename from docs/workflow/images/locate_branch.png rename to opensurce/workflow/images/locate_branch.png diff --git a/docs/workflow/images/proposal.png b/opensurce/workflow/images/proposal.png similarity index 100% rename from docs/workflow/images/proposal.png rename to opensurce/workflow/images/proposal.png diff --git a/docs/workflow/images/pull_request_made.png b/opensurce/workflow/images/pull_request_made.png similarity index 100% rename from docs/workflow/images/pull_request_made.png rename to opensurce/workflow/images/pull_request_made.png diff --git a/docs/workflow/images/to_from_pr.png b/opensurce/workflow/images/to_from_pr.png similarity index 100% rename from docs/workflow/images/to_from_pr.png rename to opensurce/workflow/images/to_from_pr.png diff --git a/docs/workflow/index.md b/opensurce/workflow/index.md similarity index 100% rename from docs/workflow/index.md rename to opensurce/workflow/index.md diff --git a/docs/workflow/make-a-contribution.md b/opensurce/workflow/make-a-contribution.md similarity index 100% rename from docs/workflow/make-a-contribution.md rename to opensurce/workflow/make-a-contribution.md diff --git a/docs/workflow/review-pr.md b/opensurce/workflow/review-pr.md similarity index 100% rename from docs/workflow/review-pr.md rename to opensurce/workflow/review-pr.md diff --git a/docs/workflow/work-issue.md b/opensurce/workflow/work-issue.md similarity index 100% rename from docs/workflow/work-issue.md rename to opensurce/workflow/work-issue.md diff --git a/project-template/CONTRIBUTING.md b/project-template/CONTRIBUTING.md deleted file mode 100644 index 4d99e17b99..0000000000 --- a/project-template/CONTRIBUTING.md +++ /dev/null @@ -1,70 +0,0 @@ -# Contributing to Docker open source projects - -Want to hack on this project? Awesome! Here are instructions to get you started. - -This project is a part of the [Docker](https://www.docker.com) project, and follows -the same rules and principles. If you're already familiar with the way -Docker does things, you'll feel right at home. - -Otherwise, go read Docker's -[contributions guidelines](https://github.com/docker/docker/blob/master/CONTRIBUTING.md), -[issue triaging](https://github.com/docker/docker/blob/master/project/ISSUE-TRIAGE.md), -[review process](https://github.com/docker/docker/blob/master/project/REVIEWING.md) and -[branches and tags](https://github.com/docker/docker/blob/master/project/BRANCHES-AND-TAGS.md). - -For an in-depth description of our contribution process, visit the -contributors guide: [Understand how to contribute](https://docs.docker.com/opensource/workflow/make-a-contribution/) - -### Sign your work - -The sign-off is a simple line at the end of the explanation for the patch. Your -signature certifies that you wrote the patch or otherwise have the right to pass -it on as an open-source patch. The rules are pretty simple: if you can certify -the below (from [developercertificate.org](http://developercertificate.org/)): - -``` -Developer Certificate of Origin -Version 1.1 - -Copyright (C) 2004, 2006 The Linux Foundation and its contributors. -660 York Street, Suite 102, -San Francisco, CA 94110 USA - -Everyone is permitted to copy and distribute verbatim copies of this -license document, but changing it is not allowed. - -Developer's Certificate of Origin 1.1 - -By making a contribution to this project, I certify that: - -(a) The contribution was created in whole or in part by me and I - have the right to submit it under the open source license - indicated in the file; or - -(b) The contribution is based upon previous work that, to the best - of my knowledge, is covered under an appropriate open source - license and I have the right under that license to submit that - work with modifications, whether created in whole or in part - by me, under the same open source license (unless I am - permitted to submit under a different license), as indicated - in the file; or - -(c) The contribution was provided directly to me by some other - person who certified (a), (b) or (c) and I have not modified - it. - -(d) I understand and agree that this project and the contribution - are public and that a record of the contribution (including all - personal information I submit with it, including my sign-off) is - maintained indefinitely and may be redistributed consistent with - this project or the open source license(s) involved. -``` - -Then you just add a line to every git commit message: - - Signed-off-by: Joe Smith - -Use your real name (sorry, no pseudonyms or anonymous contributions.) - -If you set your `user.name` and `user.email` git configs, you can sign your -commit automatically with `git commit -s`. diff --git a/project-template/INSTRUCTIONS.md b/project-template/INSTRUCTIONS.md deleted file mode 100644 index 3881dbba37..0000000000 --- a/project-template/INSTRUCTIONS.md +++ /dev/null @@ -1,29 +0,0 @@ -# Docker open source project template - -This directory contains a template for setting up a new open source -project. - -## Checklist - -- [ ] Update the "Project name" and description of your project in the README.md. -- [ ] Add details of the project's maintainers to the MAINTAINERS file. -- [ ] Setup DCO checks with "leeroy". Instructions can be found [in the README](https://github.com/docker/leeroy). -- [ ] Request the maintainers to be added to the maintainers mailinglist. -- [ ] Request the maintainers to be "voiced" in the #docker-maintainers IRC channel. -- [ ] Add the standard "labels" for triaging issues, as described in [REVIEWING.md](https://github.com/docker/docker/blob/master/project/REVIEWING.md) - and [ISSUE-TRIAGE.md](https://github.com/docker/docker/blob/master/project/ISSUE-TRIAGE.md) - - -### After the repository is public - -If you're project is ready to go public: - -- [ ] Create a pull request to have the project added to the central - MAINTAINERS file in the docker/opensource repository. Make sure - to run `make maintainers` to update the MAINTAINERS file with your - changes. An example pull request can be found here; https://github.com/docker/opensource/pull/45 -- [ ] Remove this file from the repository :) -- [ ] Spread the word! - - -Congratulations, you're done! diff --git a/project-template/LICENSE.code b/project-template/LICENSE.code deleted file mode 100644 index b55b37bc31..0000000000 --- a/project-template/LICENSE.code +++ /dev/null @@ -1,191 +0,0 @@ - - Apache License - Version 2.0, January 2004 - https://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - Copyright 2015 Docker, Inc. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - https://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/project-template/LICENSE.docs b/project-template/LICENSE.docs deleted file mode 100644 index e26cd4fc8e..0000000000 --- a/project-template/LICENSE.docs +++ /dev/null @@ -1,425 +0,0 @@ -Attribution-ShareAlike 4.0 International - -======================================================================= - -Creative Commons Corporation ("Creative Commons") is not a law firm and -does not provide legal services or legal advice. Distribution of -Creative Commons public licenses does not create a lawyer-client or -other relationship. Creative Commons makes its licenses and related -information available on an "as-is" basis. Creative Commons gives no -warranties regarding its licenses, any material licensed under their -terms and conditions, or any related information. Creative Commons -disclaims all liability for damages resulting from their use to the -fullest extent possible. - -Using Creative Commons Public Licenses - -Creative Commons public licenses provide a standard set of terms and -conditions that creators and other rights holders may use to share -original works of authorship and other material subject to copyright -and certain other rights specified in the public license below. The -following considerations are for informational purposes only, are not -exhaustive, and do not form part of our licenses. - - Considerations for licensors: Our public licenses are - intended for use by those authorized to give the public - permission to use material in ways otherwise restricted by - copyright and certain other rights. Our licenses are - irrevocable. Licensors should read and understand the terms - and conditions of the license they choose before applying it. - Licensors should also secure all rights necessary before - applying our licenses so that the public can reuse the - material as expected. Licensors should clearly mark any - material not subject to the license. This includes other CC- - licensed material, or material used under an exception or - limitation to copyright. More considerations for licensors: - wiki.creativecommons.org/Considerations_for_licensors - - Considerations for the public: By using one of our public - licenses, a licensor grants the public permission to use the - licensed material under specified terms and conditions. If - the licensor's permission is not necessary for any reason--for - example, because of any applicable exception or limitation to - copyright--then that use is not regulated by the license. Our - licenses grant only permissions under copyright and certain - other rights that a licensor has authority to grant. Use of - the licensed material may still be restricted for other - reasons, including because others have copyright or other - rights in the material. A licensor may make special requests, - such as asking that all changes be marked or described. - Although not required by our licenses, you are encouraged to - respect those requests where reasonable. More_considerations - for the public: - wiki.creativecommons.org/Considerations_for_licensees - -======================================================================= - -Creative Commons Attribution-ShareAlike 4.0 International Public -License - -By exercising the Licensed Rights (defined below), You accept and agree -to be bound by the terms and conditions of this Creative Commons -Attribution-ShareAlike 4.0 International Public License ("Public -License"). To the extent this Public License may be interpreted as a -contract, You are granted the Licensed Rights in consideration of Your -acceptance of these terms and conditions, and the Licensor grants You -such rights in consideration of benefits the Licensor receives from -making the Licensed Material available under these terms and -conditions. - - -Section 1 -- Definitions. - - a. Adapted Material means material subject to Copyright and Similar - Rights that is derived from or based upon the Licensed Material - and in which the Licensed Material is translated, altered, - arranged, transformed, or otherwise modified in a manner requiring - permission under the Copyright and Similar Rights held by the - Licensor. For purposes of this Public License, where the Licensed - Material is a musical work, performance, or sound recording, - Adapted Material is always produced where the Licensed Material is - synched in timed relation with a moving image. - - b. Adapter's License means the license You apply to Your Copyright - and Similar Rights in Your contributions to Adapted Material in - accordance with the terms and conditions of this Public License. - - c. BY-SA Compatible License means a license listed at - creativecommons.org/compatiblelicenses, approved by Creative - Commons as essentially the equivalent of this Public License. - - d. Copyright and Similar Rights means copyright and/or similar rights - closely related to copyright including, without limitation, - performance, broadcast, sound recording, and Sui Generis Database - Rights, without regard to how the rights are labeled or - categorized. For purposes of this Public License, the rights - specified in Section 2(b)(1)-(2) are not Copyright and Similar - Rights. - - e. Effective Technological Measures means those measures that, in the - absence of proper authority, may not be circumvented under laws - fulfilling obligations under Article 11 of the WIPO Copyright - Treaty adopted on December 20, 1996, and/or similar international - agreements. - - f. Exceptions and Limitations means fair use, fair dealing, and/or - any other exception or limitation to Copyright and Similar Rights - that applies to Your use of the Licensed Material. - - g. License Elements means the license attributes listed in the name - of a Creative Commons Public License. The License Elements of this - Public License are Attribution and ShareAlike. - - h. Licensed Material means the artistic or literary work, database, - or other material to which the Licensor applied this Public - License. - - i. Licensed Rights means the rights granted to You subject to the - terms and conditions of this Public License, which are limited to - all Copyright and Similar Rights that apply to Your use of the - Licensed Material and that the Licensor has authority to license. - - j. Licensor means the individual(s) or entity(ies) granting rights - under this Public License. - - k. Share means to provide material to the public by any means or - process that requires permission under the Licensed Rights, such - as reproduction, public display, public performance, distribution, - dissemination, communication, or importation, and to make material - available to the public including in ways that members of the - public may access the material from a place and at a time - individually chosen by them. - - l. Sui Generis Database Rights means rights other than copyright - resulting from Directive 96/9/EC of the European Parliament and of - the Council of 11 March 1996 on the legal protection of databases, - as amended and/or succeeded, as well as other essentially - equivalent rights anywhere in the world. - - m. You means the individual or entity exercising the Licensed Rights - under this Public License. Your has a corresponding meaning. - - -Section 2 -- Scope. - - a. License grant. - - 1. Subject to the terms and conditions of this Public License, - the Licensor hereby grants You a worldwide, royalty-free, - non-sublicensable, non-exclusive, irrevocable license to - exercise the Licensed Rights in the Licensed Material to: - - a. reproduce and Share the Licensed Material, in whole or - in part; and - - b. produce, reproduce, and Share Adapted Material. - - 2. Exceptions and Limitations. For the avoidance of doubt, where - Exceptions and Limitations apply to Your use, this Public - License does not apply, and You do not need to comply with - its terms and conditions. - - 3. Term. The term of this Public License is specified in Section - 6(a). - - 4. Media and formats; technical modifications allowed. The - Licensor authorizes You to exercise the Licensed Rights in - all media and formats whether now known or hereafter created, - and to make technical modifications necessary to do so. The - Licensor waives and/or agrees not to assert any right or - authority to forbid You from making technical modifications - necessary to exercise the Licensed Rights, including - technical modifications necessary to circumvent Effective - Technological Measures. For purposes of this Public License, - simply making modifications authorized by this Section 2(a) - (4) never produces Adapted Material. - - 5. Downstream recipients. - - a. Offer from the Licensor -- Licensed Material. Every - recipient of the Licensed Material automatically - receives an offer from the Licensor to exercise the - Licensed Rights under the terms and conditions of this - Public License. - - b. Additional offer from the Licensor -- Adapted Material. - Every recipient of Adapted Material from You - automatically receives an offer from the Licensor to - exercise the Licensed Rights in the Adapted Material - under the conditions of the Adapter's License You apply. - - c. No downstream restrictions. You may not offer or impose - any additional or different terms or conditions on, or - apply any Effective Technological Measures to, the - Licensed Material if doing so restricts exercise of the - Licensed Rights by any recipient of the Licensed - Material. - - 6. No endorsement. Nothing in this Public License constitutes or - may be construed as permission to assert or imply that You - are, or that Your use of the Licensed Material is, connected - with, or sponsored, endorsed, or granted official status by, - the Licensor or others designated to receive attribution as - provided in Section 3(a)(1)(A)(i). - - b. Other rights. - - 1. Moral rights, such as the right of integrity, are not - licensed under this Public License, nor are publicity, - privacy, and/or other similar personality rights; however, to - the extent possible, the Licensor waives and/or agrees not to - assert any such rights held by the Licensor to the limited - extent necessary to allow You to exercise the Licensed - Rights, but not otherwise. - - 2. Patent and trademark rights are not licensed under this - Public License. - - 3. To the extent possible, the Licensor waives any right to - collect royalties from You for the exercise of the Licensed - Rights, whether directly or through a collecting society - under any voluntary or waivable statutory or compulsory - licensing scheme. In all other cases the Licensor expressly - reserves any right to collect such royalties. - - -Section 3 -- License Conditions. - -Your exercise of the Licensed Rights is expressly made subject to the -following conditions. - - a. Attribution. - - 1. If You Share the Licensed Material (including in modified - form), You must: - - a. retain the following if it is supplied by the Licensor - with the Licensed Material: - - i. identification of the creator(s) of the Licensed - Material and any others designated to receive - attribution, in any reasonable manner requested by - the Licensor (including by pseudonym if - designated); - - ii. a copyright notice; - - iii. a notice that refers to this Public License; - - iv. a notice that refers to the disclaimer of - warranties; - - v. a URI or hyperlink to the Licensed Material to the - extent reasonably practicable; - - b. indicate if You modified the Licensed Material and - retain an indication of any previous modifications; and - - c. indicate the Licensed Material is licensed under this - Public License, and include the text of, or the URI or - hyperlink to, this Public License. - - 2. You may satisfy the conditions in Section 3(a)(1) in any - reasonable manner based on the medium, means, and context in - which You Share the Licensed Material. For example, it may be - reasonable to satisfy the conditions by providing a URI or - hyperlink to a resource that includes the required - information. - - 3. If requested by the Licensor, You must remove any of the - information required by Section 3(a)(1)(A) to the extent - reasonably practicable. - - b. ShareAlike. - - In addition to the conditions in Section 3(a), if You Share - Adapted Material You produce, the following conditions also apply. - - 1. The Adapter's License You apply must be a Creative Commons - license with the same License Elements, this version or - later, or a BY-SA Compatible License. - - 2. You must include the text of, or the URI or hyperlink to, the - Adapter's License You apply. You may satisfy this condition - in any reasonable manner based on the medium, means, and - context in which You Share Adapted Material. - - 3. You may not offer or impose any additional or different terms - or conditions on, or apply any Effective Technological - Measures to, Adapted Material that restrict exercise of the - rights granted under the Adapter's License You apply. - - -Section 4 -- Sui Generis Database Rights. - -Where the Licensed Rights include Sui Generis Database Rights that -apply to Your use of the Licensed Material: - - a. for the avoidance of doubt, Section 2(a)(1) grants You the right - to extract, reuse, reproduce, and Share all or a substantial - portion of the contents of the database; - - b. if You include all or a substantial portion of the database - contents in a database in which You have Sui Generis Database - Rights, then the database in which You have Sui Generis Database - Rights (but not its individual contents) is Adapted Material, - - including for purposes of Section 3(b); and - c. You must comply with the conditions in Section 3(a) if You Share - all or a substantial portion of the contents of the database. - -For the avoidance of doubt, this Section 4 supplements and does not -replace Your obligations under this Public License where the Licensed -Rights include other Copyright and Similar Rights. - - -Section 5 -- Disclaimer of Warranties and Limitation of Liability. - - a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE - EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS - AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF - ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, - IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, - WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR - PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, - ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT - KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT - ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. - - b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE - TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, - NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, - INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, - COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR - USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN - ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR - DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR - IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. - - c. The disclaimer of warranties and limitation of liability provided - above shall be interpreted in a manner that, to the extent - possible, most closely approximates an absolute disclaimer and - waiver of all liability. - - -Section 6 -- Term and Termination. - - a. This Public License applies for the term of the Copyright and - Similar Rights licensed here. However, if You fail to comply with - this Public License, then Your rights under this Public License - terminate automatically. - - b. Where Your right to use the Licensed Material has terminated under - Section 6(a), it reinstates: - - 1. automatically as of the date the violation is cured, provided - it is cured within 30 days of Your discovery of the - violation; or - - 2. upon express reinstatement by the Licensor. - - For the avoidance of doubt, this Section 6(b) does not affect any - right the Licensor may have to seek remedies for Your violations - of this Public License. - - c. For the avoidance of doubt, the Licensor may also offer the - Licensed Material under separate terms or conditions or stop - distributing the Licensed Material at any time; however, doing so - will not terminate this Public License. - - d. Sections 1, 5, 6, 7, and 8 survive termination of this Public - License. - - -Section 7 -- Other Terms and Conditions. - - a. The Licensor shall not be bound by any additional or different - terms or conditions communicated by You unless expressly agreed. - - b. Any arrangements, understandings, or agreements regarding the - Licensed Material not stated herein are separate from and - independent of the terms and conditions of this Public License. - - -Section 8 -- Interpretation. - - a. For the avoidance of doubt, this Public License does not, and - shall not be interpreted to, reduce, limit, restrict, or impose - conditions on any use of the Licensed Material that could lawfully - be made without permission under this Public License. - - b. To the extent possible, if any provision of this Public License is - deemed unenforceable, it shall be automatically reformed to the - minimum extent necessary to make it enforceable. If the provision - cannot be reformed, it shall be severed from this Public License - without affecting the enforceability of the remaining terms and - conditions. - - c. No term or condition of this Public License will be waived and no - failure to comply consented to unless expressly agreed to by the - Licensor. - - d. Nothing in this Public License constitutes or may be interpreted - as a limitation upon, or waiver of, any privileges and immunities - that apply to the Licensor or You, including from the legal - processes of any jurisdiction or authority. - - -======================================================================= - -Creative Commons is not a party to its public licenses. -Notwithstanding, Creative Commons may elect to apply one of its public -licenses to material it publishes and in those instances will be -considered the "Licensor." Except for the limited purpose of indicating -that material is shared under a Creative Commons public license or as -otherwise permitted by the Creative Commons policies published at -creativecommons.org/policies, Creative Commons does not authorize the -use of the trademark "Creative Commons" or any other trademark or logo -of Creative Commons without its prior written consent including, -without limitation, in connection with any unauthorized modifications -to any of its public licenses or any other arrangements, -understandings, or agreements concerning use of licensed material. For -the avoidance of doubt, this paragraph does not form part of the public -licenses. - -Creative Commons may be contacted at creativecommons.org. diff --git a/project-template/MAINTAINERS b/project-template/MAINTAINERS deleted file mode 100644 index e763b22fa9..0000000000 --- a/project-template/MAINTAINERS +++ /dev/null @@ -1,28 +0,0 @@ -# Project maintainers file -# -# This file describes who runs the docker/PROJECT project and how. -# This is a living document - if you see something out of date or missing, speak up! -# -# It is structured to be consumable by both humans and programs. -# To extract its contents programmatically, use any TOML-compliant parser. -# -# This file is compiled into the MAINTAINERS file in docker/opensource. -# -[Org] - [Org."Core maintainers"] - people = [ - "MAINTAINER", - ] - -[people] - -# A reference list of all people associated with the project. -# All other sections should refer to people by their canonical key -# in the people section. - - # ADD YOURSELF HERE IN ALPHABETICAL ORDER - - [people.MAINTAINER] - Name = "NAME" - Email = "EMAIL" - GitHub = "MAINTAINER" diff --git a/project-template/README.md b/project-template/README.md deleted file mode 100644 index a913685f86..0000000000 --- a/project-template/README.md +++ /dev/null @@ -1,26 +0,0 @@ -# Add your project name here - -Add a description here - -## Reporting security issues - -The maintainers take security seriously. If you discover a security issue, -please bring it to their attention right away! - -Please **DO NOT** file a public issue, instead send your report privately to -[security@docker.com](mailto:security@docker.com). - -Security reports are greatly appreciated and we will publicly thank you for it. -We also like to send gifts—if you're into Docker schwag, make sure to let -us know. We currently do not offer a paid security bounty program, but are not -ruling it out in the future. - - -## Copyright and license - -Copyright © 2015 Docker, Inc. All rights reserved, except as follows. Code -is released under the Apache 2.0 license. The README.md file, and files in the -"docs" folder are licensed under the Creative Commons Attribution 4.0 -International License under the terms and conditions set forth in the file -"LICENSE.docs". You may obtain a duplicate copy of the same license, titled -CC-BY-SA-4.0, at http://creativecommons.org/licenses/by/4.0/.