diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index cb7a1c86fd..1404705d27 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,77 +1,95 @@ # Contributing to the Windows UI Library +Welcome to the Windows UI Library (WinUI) repository. The WinUI repo is intended as a place for the WinUI team to gather community feedback, discuss issues with the community, and provide insight into bug fixes that the team is working on before updates are released. We welcome your input and contributions to all aspects of WinUI, including bug reports, doc updates, feature proposals, and API spec discussions. -We welcome your input and contributions to all aspects of WinUI, including bug reports, doc updates, feature proposals, and API spec discussions. +This document contains general guidance. More specific guidance is included in the documents linked below and within the repository's [Wiki](https://github.com/microsoft/microsoft-ui-xaml/wiki) pages. -This document contains general guidance. More specific guidance is included in the documents linked below. +Note this repository is not ready for open source collaboration at this time; this work is currently in progress. You can track the WinUI team's progress towards open source collaboration in the [Phased Rollout to Open Source Collaboration](https://github.com/microsoft/microsoft-ui-xaml/discussions/10700) discussion. -Note that all community interactions must abide by the [Code of Conduct](CODE_OF_CONDUCT.md). +Note that all community interactions must abide by the [Code of Conduct](CODE_OF_CONDUCT.md). We strive to be respectful & empathetic toward each other, and we extend this to our community as well. Our conduct guidelines help to ensure that discourse and feedback follows this same pattern of respect & empathy, and they also make it clear that non-constructive or hostile feedback is unacceptable. By following these guidelines, we can all enjoy the mutual respect that each WinUI team member, and each community member, deserve. -## How we work with contributions +## Documentation and Samples +The [WinUI](https://aka.ms/winui3) documentation is a great resource for learning more about WinUI development. Within these docs, you can find information on how to create new WinUI applications, the full set of WinUI APIs and controls, and more. -For reporting security issues please see the [Security Policy](docs/SECURITY.md). +You're welcome to propose changes to our documentation through the same link. -Contributions from the community in the form of feature requests and bugs are handled according to our [contribution handling](docs/contribution_handling.md) guidelines. +You can find usage examples of the controls available in WinUI in the [WinUI 3 Gallery app](https://apps.microsoft.com/detail/9p3jfpwwdzrc). The source code for WinUI3 Gallery is available on GitHub at [microsoft/WinUI-Gallery]( https://github.com/Microsoft/WinUI-Gallery/). -## New contributors +## Filing New Issues +If you have a general question on how to use WinUI and are not sure it's a bug, ask in the [Q&A](https://github.com/microsoft/microsoft-ui-xaml/discussions/categories/q-a) discussion forum. -We mark the most straightforward issues with labels. These issues are the place to start if you are interested in contributing but new to the codebase. +If you have an idea or feature request, post in the [Ideas](https://github.com/microsoft/microsoft-ui-xaml/discussions/categories/ideas) discussion forum. -* [good first issues](https://github.com/Microsoft/microsoft-ui-xaml/labels/good%20first%20issue) -* [help wanted](https://github.com/Microsoft/microsoft-ui-xaml/labels/help%20wanted) +If you have an issue which you think is a bug, please follow the [Bug Report](https://github.com/microsoft/microsoft-ui-xaml/issues/new?template=bug_report.yaml) issue template and provide a stand-alone minimal repo project. -Another great way to help is by voting and commenting on feature proposals: +If you are reporting a security issue, please see the [Security Policy](SECURITY.md). -* [feature request](https://github.com/Microsoft/microsoft-ui-xaml/labels/feature%20request) +For more information on how issues are handled from the community, see our [contribution handling](docs/contribution_handling.md) guidelines. -## Code contribution guidelines +### Proposing New Public APIs or UI +Please follow the [New Feature or API Process](docs/feature_proposal_process.md) before adding, removing, or changing public APIs or UI. Note: The WinUI team will only accept feature proposals for WinUI3. -### Proposing new public APIs or UI +All new public APIs, new UI, or breaking changes to existing features must go through that process before submitting code changes. -Please follow the [New Feature or API Process](docs/feature_proposal_process.md) before adding, removing, or changing public APIs or UI. -All new public APIs, new UI, or breaking changes to existing features **must** go through that process before submitting code changes. -You don't need to follow that process for bug fixes or other small changes. +## Code Contribution Guidelines +Note this repository is not ready for open source collaboration at this time; this work is currently in progress. You can track the WinUI team's progress towards open source collaboration in the [Phased Rollout to Open Source Collaboration](https://github.com/microsoft/microsoft-ui-xaml/discussions/10700) discussion. -### Contribution bar +WinUI will be taking a phased approach to opening up the repo: -The WinUI team accepts code changes that improve WinUI or fix bugs, as long as they follow the processes outlined below and broadly align with our [roadmap](docs/roadmap.md). +| Phase | Description | +|--|--| +|**Phase 1: Increased Mirror Frequency** | After the WASDK 1.8 release (end of September), we'll begin more frequent mirroring of internal commits to GitHub to increase transparency and show progress. | +|**Phase 2: 3rd Party Devs Build Locally** | External developers will be able to clone and build the repo locally, with documentation to guide setup and dependencies. | +| **Phase 3: 3rd Party Devs Contribute & Run Tests** | Contributors will be able to submit PRs and run tests locally. We're working to untangle private dependencies and make test infrastructure publicly accessible. | +| **Phase 4: GitHub as Center of Gravity** | GitHub becomes the primary place for development, issue tracking, and community engagement. Internal mirrors will be phased out. | -While we strive to accept all community contributions that meet the guidelines outlined here, please note that we may not merge changes that have narrowly-defined benefits due to compatibility risks and maintenance costs. We may also revert changes if they are found to be breaking. +### [WIP] New Contributors +Contributions from the community are greatly appreciated. We mark the most straightforward issues with labels. These issues are the best place to start if you are interested in contributing but are new to the codebase. -### Code contribution process +- [good first issues](https://github.com/Microsoft/microsoft-ui-xaml/issues?q=state%3Aopen%20label%3A%22good%20first%20issue%22) +- [help wanted](https://github.com/orgs/microsoft/projects/1868/views/12) -For details see: +Another great way to help is by up-voting and commenting on feature proposals: +- [feature proposals](https://github.com/Microsoft/microsoft-ui-xaml/labels/feature%20proposal) -* [Setup and build environment](docs/developer_guide.md#Prerequisites) -* [Source code structure](docs/source_code_structure.md) -* [Contribution workflow](docs/contribution_workflow.md) -* [Coding style and conventions](docs/code_style_and_conventions.md) +### [WIP] Code Contribution Process +Content will be added to this section once the reposority is ready for open source contribution. -### Contributor License Agreement +### Contribution Bar +The WinUI team accepts code changes that improve WinUI or fix bugs, as long as they follow the processes outlined below and broadly align with our [roadmap](docs/roadmap.md). + +While we strive to accept all community contributions that meet the guidelines outlined here, please note that we may not merge changes that have narrowly-defined benefits due to compatibility risks and maintenance costs. We may also revert changes if they are found to be breaking. +### Contributor License Agreement Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com. When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA. ### Copying files from other projects - The following rules must be followed for PRs that include files from another project: +- The license of the file is [permissive](https://en.wikipedia.org/wiki/Permissive_free_software_licence). +- The license of the file is left intact. +- The contribution is correctly attributed in the [3rd party notices](https://github.com/dotnet/coreclr/blob/master/THIRD-PARTY-NOTICES.TXT) file in the repository, as needed. + +## Commit Messages +Please format commit messages as follows (based on [A Note About Git Commit Messages](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)): + +``` +Summarize change in 50 characters or less + +Provide more detail after the first line. Leave one blank line below the +summary and wrap all lines at 72 characters or less. -* The license of the file is [permissive](https://en.wikipedia.org/wiki/Permissive_free_software_licence). -* The license of the file is left intact. -* The contribution is correctly attributed in the [3rd party notices](https://github.com/dotnet/coreclr/blob/master/THIRD-PARTY-NOTICES.TXT) -file in the repository, as needed. +If the change fixes an issue, leave another blank line after the final +paragraph and indicate which issue is fixed in the specific format below. -## Documentation and usage samples +Fix #42 +``` -You can also read and contribute to the WinUI documentation here: -https://docs.microsoft.com/uwp/toolkits/winui +## Checks +Each pull request to main must pass checks within Azure DevOps. These pipelines build your change and run automated tests. -You can find usage examples of the controls available in WinUI in the WinUI 3 Gallery app: - https://github.com/Microsoft/WinUI-Gallery/ +The license/CLA check confirms that you have completed the [CLA](https://cla.microsoft.com/). - Which can also be installed from the Microsoft Store: - https://apps.microsoft.com/detail/9p3jfpwwdzrc - - ## API spec discussions +Pull requests from a fork will not automatically trigger all of these checks. A member of the WinUI team can trigger the Azure Pipeline checks by commenting `/azp run` on the PR. The Azure Pipelines bot will then trigger the build. -Before new features are added to WinUI, we always perform a thorough API review and spec discussion. This can range from a single new API to an entire new control featuring dozens of new APIs. Joining such a spec discussion is a great opportunity for developers to help ensuring that new WinUI APIs will look and feel natural. In addition, spec discussions are the follow-up to feature proposals and will go into much finer details than the initial proposal. As such, taking part in these discussions gives developers the chance to be involved in the complete development process of new WinUI features - from their initial high-level inception right down to specific implementation/behavior details. These discussions take place in the WInUI repository, i.e. this repository. +In order to have PRs automatically merge once all checks have passed (including optional checks), maintainers can apply the [auto merge](https://github.com/microsoft/microsoft-ui-xaml/labels/auto%20merge) label. It will take effect after an 8 hour delay. diff --git a/CONTRIBUTING_feedback_and_requests.md b/CONTRIBUTING_feedback_and_requests.md deleted file mode 100644 index 2c0dc3c7e7..0000000000 --- a/CONTRIBUTING_feedback_and_requests.md +++ /dev/null @@ -1,72 +0,0 @@ -# Contributing ideas, feedback, and requests - -The WinUI team greatly values public feedback. We combine this feedback with our own internal strategy goals, weighing it alongside our existing commitments, resources, and private partnerships, to deliver maximum value for you. - -The guide below outlines how you can formulate this feedback for maximum effect and influence on WinUI's direction. - -## Phrasing constructively - -When experiencing a pain-point, it can be natural to focus on the negatives and resolving things from the perspective of the negative. However, telling the team what you'd like to *prevent* is less helpful and actionable than telling the team what you'd like to *achieve*. - -Your feedback is most effective when it is a constructive call to action on the team, and is clear and detailed – especially on the "why" so that we can make sure whatever it is that we arrive at together appropriately focuses on your goal and your intended outcome from start to finish. - - -**Examples of constructively phrased feedback:** - -Instead of: - - - The state of the platform is disappointing. I am not going to consider WinUI until my trust has been earned. - -Try this: - - Deprecation of past frameworks has left me burned. The following would go a long way in earning my trust because my company is trying to launch an app next year and will need it supported for at least 5 more:  - - OSS - - High-confidence 5-year roadmap - - Guaranteed support timeline - - This feedback provides clear actionable items that the WinUI team can take into consideration and address. - - -## Sample areas where your feedback can have large impact - -- ### Features - - It's very helpful to specify the "why" behind your request, even if it seems obvious. Comparisons can help, but shouldn't replace explanation. - - Ex: "I need `<`feature`>` so that I can achieve `<`goal`>`. Otherwise, I have to `<`alternative`>`." - - There are also usually great opportunities to have feature-related impact in our [spec repo](https://github.com/microsoft/microsoft-ui-xaml-specs/tree/master). Here, you can give direct feedback and help shape the new features and APIs that we're currently building. - -- ### Future/Roadmap - - We strive to be transparent about our [product roadmap](https://aka.ms/winui3/feature-roadmap). Great examples of feedback to help us achieve this are: - - "I'd like to know the roadmap through `<`timeframe`>`. Otherwise, I can't do `<`goal`>`. " - - "The roadmap `<`certain aspect - e.g., changes too much, not detailed enough, etc.`>`prevents me from being able to do `<`goal`>`. If you would instead `<`proposed alternative`>`, that would result in `<`clear benefit`>`." - -- ### Ecosystem - - It's helpful to be complete in explaining what another solution achieves for you and why it is important to you. - - Ex:"I'd like WinUI 3 to work with `<`framework, language, library, technology, etc.`>`. Without this, I can't do `<`goal`>`." - -- ### Prioritization within WinUI - - There is often trade-off required when adjusting priorities - please be clear in comparing what is more important vs. less important to you, and the reason why. - - Ex: "I think `<`specific area or feature set`>` should be prioritized before `<`other specific area or feature set`>` so that I can achieve `<`goal`>`. Without this, I have to `<`alternative`>`. " - -- ### Engagement - - Engagement includes feedback about learning materials and resources. It is always helpful to know where you prefer to be engaged and how you prefer to learn. - - "I would like to hear more about `<`specific topic`>` in `<`resource`>` so that I can achieve `<`goal`>`." - - "`<`Resource`>` could be more inclusive and accessible if you considered `<`alternative`>` because `<`benefit`>`. Have you considered making these changes?" - - Many of the resources we provide are also open source themselves! It can sometimes be more effective to leave feedback on the more specific repo. This includes: - - [documentation](https://github.com/MicrosoftDocs/windows-uwp) - - [website (`gh-pages` branch of this repo)](https://github.com/microsoft/microsoft-ui-xaml/tree/gh-pages) - - [Xaml Controls Gallery (sample app)](https://github.com/microsoft/Xaml-Controls-Gallery/tree/master) - - -- ### Team Process - - Team process includes feedback about our repo and overall communication. Suggestions for improvement and proposed alternatives are very helpful here. - - Ex: "`<`specific aspect of team process - e.g., response frequency, format`>` of the repo is making it hard for me to achieve `<`goal`>`. Please consider doing `<`alternative`>` instead because that would help `<`action`>`" - - -## Mutual respect - -We strive to be respectful & empathetic toward each other, and we extend this to our fantastic community as well. - -Our conduct guidelines help to ensure that discourse and feedback follows this same pattern of respect & empathy, and they also make it clear that non-constructive or hostile feedback is unacceptable. By following these guidelines, we can all enjoy the mutual respect that each WinUI team member, and each community member, deserve. - -Refer to our [conduct guidelines](https://github.com/microsoft/microsoft-ui-xaml/blob/main/CODE_OF_CONDUCT.md) for more guidance here. diff --git a/docs/SECURITY.md b/docs/SECURITY.md deleted file mode 100644 index 34875abfa1..0000000000 --- a/docs/SECURITY.md +++ /dev/null @@ -1,41 +0,0 @@ - - -# Security - -Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [many more](https://opensource.microsoft.com/). - -If you believe you have found a security vulnerability in any Microsoft-owned repository that meets Microsoft's [definition](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10)) of a security vulnerability, please report it to us as described below. - -## Reporting Security Issues - -**Please do not report security vulnerabilities through public GitHub issues.** - -Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://msrc.microsoft.com/create-report). - -If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the the [Microsoft Security Response Center PGP Key page](https://www.microsoft.com/en-us/msrc/pgp-key-msrc). - -You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc). - -Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: - -* Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) -* Full paths of source file(s) related to the manifestation of the issue -* The location of the affected source code (tag/branch/commit or direct URL) -* Any special configuration required to reproduce the issue -* Step-by-step instructions to reproduce the issue -* Proof-of-concept or exploit code (if possible) -* Impact of the issue, including how an attacker might exploit the issue - -This information will help us triage your report more quickly. - -If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://microsoft.com/msrc/bounty) page for more details about our active programs. - -## Preferred Languages - -We prefer all communications to be in English. - -## Policy - -Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://www.microsoft.com/en-us/msrc/cvd). - - diff --git a/docs/contribution_handling.md b/docs/contribution_handling.md index e639e31851..18fdb4e9b7 100644 --- a/docs/contribution_handling.md +++ b/docs/contribution_handling.md @@ -6,7 +6,7 @@ The WinUI repo is intended as a place for the WinUI team to gather community fee Feature requests and bugs are tracked as GitHub issues. -For reporting security issues please see the [Security Policy](SECURITY.md). +For reporting security issues please see the [Security Policy](../SECURITY.md). For all other bugs and general issues please [file a new issue](https://github.com/Microsoft/microsoft-ui-xaml/issues/new/choose) using the Bug Report template. diff --git a/docs/contribution_workflow.md b/docs/contribution_workflow.md deleted file mode 100644 index bf770734f1..0000000000 --- a/docs/contribution_workflow.md +++ /dev/null @@ -1,120 +0,0 @@ -# Contribution Workflow - -You can contribute to WinUI with issues and PRs. Simply filing issues for -problems you encounter is a great way to contribute. Contributing -implementations is greatly appreciated. - -Good issues to work on are issues tagged with -[help wanted](https://github.com/microsoft/microsoft-ui-xaml/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22) or -[good first issue](https://github.com/microsoft/microsoft-ui-xaml/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22). - -## Suggested Workflow - -We use and recommend the following workflow: -1. Create an issue for your work. - * You can skip this step for trivial changes. - * Reuse an existing issue on the topic, if there is one. - * If your change adds or changes public API or UI, first follow - the [New Feature or API Process](feature_proposal_process.md). - * Clearly state that you are going to take on implementing it, if that's - the case. You can request that the issue be assigned to you. Note: The - issue filer and the implementer don't have to be the same person. -2. Create a personal fork of the repository on GitHub (if you don't already -have one). -3. Create a branch off of main (`git checkout -b mybranch`). - * Name the branch so that it clearly communicates your intentions. - * Branches are useful since they isolate your changes from incoming changes - from upstream. They also enable you to create multiple PRs from the same - fork. -4. Make and commit your changes. - * Please follow our [Commit Messages](#Commit-Messages) - guidance. -5. Add new tests corresponding to your change, if applicable. -6. Build the repository with your changes. - * Make sure that the builds are clean. - * Make sure that the tests are all passing, including your new tests. -7. Create a pull request (PR) against the upstream repository's main branch. - * Push your changes to your fork on GitHub (if you haven't already). - - Note: It is okay for your PR to include a large number of commits. Once - your change is accepted, you will be asked to squash your commits into one - or some appropriately small number of commits before your PR is merged. - - Note: It is okay to create your PR as "[WIP]" on the upstream repo before - the implementation is done. This can be useful if you'd like to start the - feedback process while you're still working on the implementation. State - that this is the case in the initial PR comment. - -## DOs and DON'Ts - -Please do: -* **DO** follow existing coding style. -* **DO** give priority to the current style of the project or file you're -changing even if it diverges from the general guidelines. -* **DO** include tests when adding new features. When fixing bugs, start with -adding a test that highlights how the current behavior is broken. -* **DO** keep the discussions focused. When a new or related topic comes up -it's often better to create new issue than to side track the discussion. -* **DO** blog and tweet (or whatever) about your contributions, frequently! - -Please do not: -* **DON'T** make PRs for style changes. -* **DON'T** surprise us with big pull requests. Instead, file an issue and -start a discussion so we can agree on a direction before you invest a large -amount of time. -* **DON'T** commit code that you didn't write (attesting this is part of the -[CLA](https://cla.microsoft.com)). If you find code that you think is a good -fit to add to WinUI, file an issue and start a discussion before proceeding. -* **DON'T** submit PRs that alter licensing related files or headers. If you -believe there's a problem with them, file an issue and we'll be happy to -discuss it. -* **DON'T** add or change public API or UI without filing an issue and -discussing it first: see the [New Feature or API Process](feature_proposal_process.md). - -## Checks - -Each pull request to `main` must pass the following checks: - -###### [WinUI-Public-MUX-PR](https://dev.azure.com/ms/microsoft-ui-xaml/_build?definitionId=21) - -This pipeline builds your change and runs automated tests. -These tests should match what you're able to run with local automated testing using Test Explorer. -It also creates a NuGet package to match your change. - -###### license/cla - -This check confirms that you have completed the [CLA](https://cla.microsoft.com). - - -Pull requests from a fork will not automatically trigger all of these checks. A member of the WinUI -team can trigger the Azure Pipeline checks by commenting `/azp run` on the PR. The Azure Pipelines -bot will then trigger the build. - -In order to have PRs automatically merge once all checks have passed (including optional -checks), maintainers can apply the [auto merge](https://github.com/Microsoft/microsoft-ui-xaml/labels/auto%20merge) -label. It will take effect after an 8 hour delay. - -### Other Pipelines - -Unlike the above checks these are not required for all PRs, but you may see them on some PRs so we -define them here: - -#### [WinUI-Public-MUX-CI](https://dev.azure.com/ms/microsoft-ui-xaml/_build?definitionId=20) - -This pipeline extends [WinUI-Public-MUX-PR](https://dev.azure.com/ms/microsoft-ui-xaml/_build?definitionId=21) -to validate more platforms, adding Debug and ARM. It is run after your changes are merged to -main. - -## Commit Messages - -Please format commit messages as follows (based on [A Note About Git Commit Messages](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)): - -``` -Summarize change in 50 characters or less - -Provide more detail after the first line. Leave one blank line below the -summary and wrap all lines at 72 characters or less. - -If the change fixes an issue, leave another blank line after the final -paragraph and indicate which issue is fixed in the specific format below. - -Fix #42 -``` \ No newline at end of file diff --git a/docs/triage.md b/docs/triage.md index c172b88271..aec45e18cc 100644 --- a/docs/triage.md +++ b/docs/triage.md @@ -67,7 +67,6 @@ We also need to monitor: 1. New and re-opened issues get `needs-triage` label added 1. `needs-triage` label is added whenever `team-...` labels change so that the new team sees the status change on the issue. -1. If `feature proposal` is added or removed it gets added/removed from the [feature tracking project board](https://github.com/microsoft/microsoft-ui-xaml/projects/4) accordingly. 1. If `declined` is added, bot adds a friendly message and closes. 1. Tags issues/PR with release announcement. 1. When moving into `Front Burner` column, gets added to the `API review` board. diff --git a/src/CODE_OF_CONDUCT.md b/src/CODE_OF_CONDUCT.md deleted file mode 100644 index 6257f2e76f..0000000000 --- a/src/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,9 +0,0 @@ -# Microsoft Open Source Code of Conduct - -This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). - -Resources: - -- [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) -- [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) -- Contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with questions or concerns \ No newline at end of file diff --git a/src/CONTRIBUTING.md b/src/CONTRIBUTING.md deleted file mode 100644 index 6ba426be6c..0000000000 --- a/src/CONTRIBUTING.md +++ /dev/null @@ -1,65 +0,0 @@ -# Contributing to the Windows UI Library - -We welcome your input and contributions to all aspects of WinUI, including bug reports, doc updates, feature proposals, and API spec discussions. - -This document contains general guidance. More specific guidance is included in the documents linked below. - -Note that all community interactions must abide by the [Code of Conduct](CODE_OF_CONDUCT.md). - -## How we work with contributions - -Contributions from the community in the form of feature requests and bugs are handled according to our [contribution handling](CONTRIBUTION_HANDLING.md) guidelines. - -## New contributors - -We mark the most straightforward issues with labels. These issues are the place to start if you are interested in contributing but new to the codebase. - -* [good first issues](https://github.com/Microsoft/microsoft-ui-xaml/labels/good%20first%20issue) -* [help wanted](https://github.com/Microsoft/microsoft-ui-xaml/labels/help%20wanted) - -Another great way to help is by voting and commenting on feature proposals: - -* [feature request](https://github.com/Microsoft/microsoft-ui-xaml/labels/feature%20request) - -## Code contribution guidelines - -### Proposing new public APIs or UI - -Please follow the [New Feature or API Process](https://github.com/microsoft/microsoft-ui-xaml/blob/main/docs/feature_proposal_process.md) before adding, removing, or changing public APIs or UI. -All new public APIs, new UI, or breaking changes to existing features **must** go through that process before submitting code changes. -You don't need to follow that process for bug fixes or other small changes. - -### Contribution bar - -The WinUI team accepts code changes that improve WinUI or fix bugs, as long as they follow the processes outlined below and broadly align with the [Windows App SDK feature roadmap](https://github.com/microsoft/WindowsAppSDK/blob/main/docs/roadmap.md). - -While we strive to accept all community contributions that meet the guidelines outlined here, please note that we may not merge changes that have narrowly-defined benefits due to compatibility risks and maintenance costs. We may also revert changes if they are found to be breaking. - -### Contributor License Agreement - -Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com. - -When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA. - -### Copying files from other projects - -The following rules must be followed for PRs that include files from another project: - -* The license of the file is [permissive](https://en.wikipedia.org/wiki/Permissive_free_software_licence). -* The license of the file is left intact. -* The contribution is correctly attributed in the [3rd party notices](NOTICE.md) file in the repository, as needed. - -## Documentation and usage samples - -You can also read and contribute to the WinUI documentation here: - https://learn.microsoft.com/en-us/windows/apps/winui/winui3/ - -You can find usage examples of the controls available in WinUI in the WinUI 3 Gallery app: - https://github.com/microsoft/WinUI-Gallery/ - - which can also be installed from the Windows Store: - https://www.microsoft.com/p/winui-3-controls-gallery/9p3jfpwwdzrc - - ## API spec discussions - -Before new features are added to WinUI, we always perform a thorough API review and spec discussion. This can range from a single new API to an entire new control featuring dozens of new APIs. Joining such a spec discussion is a great opportunity for developers to help ensuring that new WinUI APIs will look and feel natural. In addition, spec discussions are the follow-up to feature proposals and will go into much finer details than the initial proposal. As such, taking part in these discussions gives developers the chance to be involved in the complete development process of new WinUI features - from their initial high-level inception right down to specific implementation/behavior details. These discussions take place in the WInUI repository, i.e. this repository. \ No newline at end of file diff --git a/src/CONTRIBUTING_feedback_and_requests.md b/src/CONTRIBUTING_feedback_and_requests.md deleted file mode 100644 index 3a3b8b7a3e..0000000000 --- a/src/CONTRIBUTING_feedback_and_requests.md +++ /dev/null @@ -1,72 +0,0 @@ -# Contributing ideas, feedback, and requests - -The WinUI team greatly values public feedback. We combine this feedback with our own internal strategy goals, weighing it alongside our existing commitments, resources, and private partnerships, to deliver maximum value for you. - -The guide below outlines how you can formulate this feedback for maximum effect and influence on WinUI's direction. - -## Phrasing constructively - -When experiencing a pain-point, it can be natural to focus on the negatives and resolving things from the perspective of the negative. However, telling the team what you'd like to *prevent* is less helpful and actionable than telling the team what you'd like to *achieve*. - -Your feedback is most effective when it is a constructive call to action on the team, and is clear and detailed – especially on the "why" so that we can make sure whatever it is that we arrive at together appropriately focuses on your goal and your intended outcome from start to finish. - - -**Examples of constructively phrased feedback:** - -Instead of: - - - The state of the platform is disappointing. I am not going to consider WinUI until my trust has been earned. - -Try this: - - Deprecation of past frameworks has left me burned. The following would go a long way in earning my trust because my company is trying to launch an app next year and will need it supported for at least 5 more: - - OSS - - High-confidence 5-year roadmap - - Guaranteed support timeline - - This feedback provides clear actionable items that the WinUI team can take into consideration and address. - - -## Sample areas where your feedback can have large impact - -- ### Features - - It's very helpful to specify the "why" behind your request, even if it seems obvious. Comparisons can help, but shouldn't replace explanation. - - Ex: "I need `<`feature`>` so that I can achieve `<`goal`>`. Otherwise, I have to `<`alternative`>`." - - There are also usually great opportunities to have feature-related impact in our [spec repo](https://github.com/microsoft/microsoft-ui-xaml-specs/tree/main). Here, you can give direct feedback and help shape the new features and APIs that we're currently building. - -- ### Future/Roadmap - - We strive to be transparent about our [product roadmap](https://aka.ms/winui3/feature-roadmap). Great examples of feedback to help us achieve this are: - - "I'd like to know the roadmap through `<`timeframe`>`. Otherwise, I can't do `<`goal`>`. " - - "The roadmap `<`certain aspect - e.g., changes too much, not detailed enough, etc.`>`prevents me from being able to do `<`goal`>`. If you would instead `<`proposed alternative`>`, that would result in `<`clear benefit`>`." - -- ### Ecosystem - - It's helpful to be complete in explaining what another solution achieves for you and why it is important to you. - - Ex:"I'd like WinUI 3 to work with `<`framework, language, library, technology, etc.`>`. Without this, I can't do `<`goal`>`." - -- ### Prioritization within WinUI - - There is often trade-off required when adjusting priorities - please be clear in comparing what is more important vs. less important to you, and the reason why. - - Ex: "I think `<`specific area or feature set`>` should be prioritized before `<`other specific area or feature set`>` so that I can achieve `<`goal`>`. Without this, I have to `<`alternative`>`. " - -- ### Engagement - - Engagement includes feedback about learning materials and resources. It is always helpful to know where you prefer to be engaged and how you prefer to learn. - - "I would like to hear more about `<`specific topic`>` in `<`resource`>` so that I can achieve `<`goal`>`." - - "`<`Resource`>` could be more inclusive and accessible if you considered `<`alternative`>` because `<`benefit`>`. Have you considered making these changes?" - - Many of the resources we provide are also open source themselves! It can sometimes be more effective to leave feedback on the more specific repo. This includes: - - [documentation](https://github.com/MicrosoftDocs/windows-dev-docs) - - [website (`gh-pages` branch of this repo)](https://github.com/microsoft/microsoft-ui-xaml/tree/gh-pages) - - [WinUI 3 Gallery (sample app)](https://github.com/microsoft/WinUI-Gallery/tree/main) - - -- ### Team Process - - Team process includes feedback about our repo and overall communication. Suggestions for improvement and proposed alternatives are very helpful here. - - Ex: "`<`specific aspect of team process - e.g., response frequency, format`>` of the repo is making it hard for me to achieve `<`goal`>`. Please consider doing `<`alternative`>` instead because that would help `<`action`>`" - - -## Mutual respect - -We strive to be respectful & empathetic toward each other, and we extend this to our fantastic community as well. - -Our conduct guidelines help to ensure that discourse and feedback follows this same pattern of respect & empathy, and they also make it clear that non-constructive or hostile feedback is unacceptable. By following these guidelines, we can all enjoy the mutual respect that each WinUI team member, and each community member, deserve. - -Refer to our [conduct guidelines](CODE_OF_CONDUCT.md) for more guidance here. \ No newline at end of file diff --git a/src/CONTRIBUTION_HANDLING.md b/src/CONTRIBUTION_HANDLING.md deleted file mode 100644 index f069ff486e..0000000000 --- a/src/CONTRIBUTION_HANDLING.md +++ /dev/null @@ -1,55 +0,0 @@ -# WinUI Repo Contribution Handling - -The WinUI repo is intended as a place for the WinUI team to gather community feedback, discuss issues with the community, and provide insight into bug fixes that the team is working on before updates are released. Here, we'll outline how we handle feature requests and bugs that the community opens. - -## Issues - -Feature requests and bugs are tracked as GitHub issues. - -For reporting security issues please see the [Security Policy](SECURITY.md). - -For all other bugs and general issues please [file a new issue](https://github.com/Microsoft/microsoft-ui-xaml/issues/new/choose) using the Bug Report template. - -Please file questions and discussions as discussions, not issues. - -## Feature Proposals - -Feature proposals for WinUI 3 are categorized based on the likely timeframe in which the feature team can consider them. - -1. Short-term, less than a year -2. Long-term, not likely in the next year - -All feature proposals are automatically categorized as long-term and unlikely to be considered, although the WinUI team might change the priority based on customer and business needs. If the WinUI team does close a feature proposal, we will indicate the reason why and how it fits into our plans. Closing a proposal does not mean that the team will never consider it. We encourage the community to add comments or interact with a proposal at any time, even a closed one, to signal its importance to the team. - -### Feature Planning - -Our long term vision for WinUI is to be the best UX/UI native framework for Windows PCs that provides premium visuals, motion, accessibility, usability, and support for all input modalities. - -The current details of what we plan long-term are shaped by evolving priorities that are subject to frequent change and are often confidential based on business and customer needs. However, we are happy to share our immediate plans for what's coming next in the next major release once the feature list is ready. Additionally, preview and experimental releases provide opportunities for the community to see what's new and what's changing on a more frequent basis. - -For more info about our longer-term planning, see the [Windows App SDK feature roadmap](https://github.com/microsoft/WindowsAppSDK/blob/main/docs/roadmap.md). This page will be updated generally right after a major release, when the features for the next release are solidified enough to share. - -## Bugs - -### WinUI 2 - -The WinUI team is currently spending its time on WinUI 3. To help with this focus, new bugs filed against WinUI 2 are closed in this repo unless they're a security issue or are business critical. - -### WinUI 3 - -WinUI 3 bugs are triaged and prioritized based on how much the bug impacts one or more of the following criteria. If a bug has lower impact, it is less likely to be considered for fixing. - -- Reliability -- Data corruption or loss -- Functionality (such as a major regression) -- Security -- Compatibility with applications -- User experience/usability -- Performance -- Compliance (such as legal compliance) -- Accessibility -- Build and deployment - -Bugs filed in relation to preview and experimental releases are triaged with the same criteria as stable releases and are intended to assist in identifying and fixing those bugs before they make their way to a stable release. - -Bugs filed on GitHub will be automatically mirrored to our internal bug tracking system and updates to them are automatically mirrored back to GitHub with appropriate tags. This way, the bugs we're working on and their progress are transparent. The only information we will reflect from our system externally is the state and release of the bug, not all the fine details; if a bug is resolved or closed, that's reflected on GitHub, and as bugs are worked on, the release for that fix will be reflected with a milestone on GitHub. \ No newline at end of file diff --git a/src/LICENSE b/src/LICENSE deleted file mode 100644 index 79656060de..0000000000 --- a/src/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ - MIT License - - Copyright (c) Microsoft Corporation. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE \ No newline at end of file diff --git a/src/NOTICE.md b/src/NOTICE.md deleted file mode 100644 index 6c1a40e62d..0000000000 --- a/src/NOTICE.md +++ /dev/null @@ -1,220 +0,0 @@ -# NOTICES - -This repository incorporates material as listed below or described in the code. - -In the event that we accidentally failed to list a required notice, please -bring it to our attention by posting an issue. - - -## License for Antlr v4 - -https://github.com/antlr/antlr4/tree/4.5.1 - -[The "BSD license"] -Copyright (c) 2015 Terence Parr, Sam Harwell -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 3. The name of the author may not be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -## License for Guidelines Support Library (GSL) - -https://github.com/Microsoft/GSL/tree/b74b286d5e333561b0f1ef1abd18de2606624455 - -Copyright (c) 2015 Microsoft Corporation. All rights reserved. - -This code is licensed under the MIT License (MIT). - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -## License for Grammars-v4 (C#) - -https://github.com/antlr/grammars-v4/tree/48109ae71e8e3916d7063d002700fcfda19cf2b2/csharp - -Eclipse Public License - v 1.0 -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - -a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and - -b) in the case of each subsequent Contributor: - -i) changes to the Program, and - -ii) additions to the Program; - -where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents" mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. - -"Program" means the Contributions distributed in accordance with this Agreement. - -"Recipient" means anyone who receives the Program under this Agreement, including all Contributors. - -2. GRANT OF RIGHTS - -a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form. - -b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. - -c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. - -d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: - -a) it complies with the terms and conditions of this Agreement; and - -b) its license agreement: - -i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; - -ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; - -iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and - -iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. - -When the Program is made available in source code form: - -a) it must be made available under this Agreement; and - -b) a copy of this Agreement must be included with each copy of the Program. - -Contributors may not remove or alter any copyright notices contained within the Program. - -Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. - -For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED 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. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. - -Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. - - -## License for SafeInt - -https://github.com/dcleblanc/SafeInt/tree/fdba0c20be0810ab0cb8da0bac3e3e1e9e524539 - -MIT License - -Copyright (c) 2018 Microsoft - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -## License for TinyRGB ICC Profile - -https://phabricator.wikimedia.org/T100976 - -TinyRGB ICC Profile by Facebook is marked with CC0 1.0 Universal. To view a copy of this license, visit http://creativecommons.org/publicdomain/zero/1.0. - - -## License for Windows Presentation Framework (WPF) - -https://github.com/dotnet/wpf/tree/35fc9697cc539644056d5cd13a3faefde0b5fc4e - -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/src/PRIVACY.md b/src/PRIVACY.md deleted file mode 100644 index 3e9b9f2cb0..0000000000 --- a/src/PRIVACY.md +++ /dev/null @@ -1,3 +0,0 @@ -# Data Collection - -The software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described in the repository. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft's privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices. \ No newline at end of file diff --git a/src/README.md b/src/README.md deleted file mode 100644 index 099456af71..0000000000 --- a/src/README.md +++ /dev/null @@ -1,115 +0,0 @@ - -# Windows UI Library - -[![Follow WinUI on Twitter](https://img.shields.io/twitter/follow/windowsui.svg?label=Follow%20WinUI%20on%20Twitter&style=social)](https://twitter.com/intent/follow?screen_name=windowsui) - -WinUI is a user interface layer that contains modern controls and styles for building Windows apps. As the native UI layer in Windows it embodies Fluent Design, giving each Windows app the polished feel that customers expect. - -WinUI 3 is the next generation of the WinUI framework. It dramatically expands WinUI into a full UX framework, making WinUI available for Win32 Windows apps for use as the UI layer. - -## WinUI Community Calls - -The WinUI community call is your monthly opportunity to learn about native UX development for Windows with WinUI. - -In these calls we’ll discuss the WinUI [roadmap](https://github.com/microsoft/microsoft-ui-xaml/blob/main/docs/roadmap.md), our status and your feedback. - -You can watch them online here on YouTube at the [Windows Developer channel](https://www.youtube.com/channel/UCzLbHrU7U3cUDNQWWAqjceA). - - -## Using WinUI 3 - -You can build new Windows apps using WinUI 3, which ships as a part of the Windows App SDK. The latest available stable release is the Windows App SDK 1.4 (previously called Project Reunion). With this release, you can ship production Desktop apps to the Microsoft Store. - -See the [installation instructions](https://docs.microsoft.com/windows/apps/windows-app-sdk/set-up-your-development-environment), and guidelines on [creating your first WinUI 3 app](https://docs.microsoft.com/windows/apps/winui/winui3/create-your-first-winui3-app). - - -## Debugging WinUI 3 - -Full symbols for WinUI 3 starting with version 1.4.1 are available on the [Microsoft public symbol server](https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/microsoft-public-symbols). If you wish to debug the WinUI 3 source code, then you can do so by cloning this repository and checking out the [tag corresponding to the version of WinUI 3](https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/downloads) that you are using, adding the Microsoft public symbol server to your debugger's [symbol path](https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/symbol-path), and adding your clone of this repository to your debugger's [source path](https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/source-path). If you are using Visual Studio as your debugger, please ensure that you enable 'Native debugging' and disable 'Just My Code'. - -## Documentation - -To find resources for Windows UI 3, like the [Figma design toolkit](https://aka.ms/WinUI/3.0-figma-toolkit), Segoe UI Variable Font, and samples, visit [Design toolkits and samples for Windows apps](https://docs.microsoft.com/windows/apps/design/downloads/) - -If you find any issues with the Windows UI toolkit, you can file a bug [here](https://aka.ms/WinUIToolkitBug) - -**WinUI usage documentation**: -https://docs.microsoft.com/windows/apps/winui/ - -**WinUI 3 Release notes**: -https://docs.microsoft.com/windows/apps/windows-app-sdk/stable-channel - -**Sample code**: -To view the WinUI 3 controls in an interactive format, get the WinUI 3 Gallery app from the [Microsoft Store](https://www.microsoft.com/p/winui-3-controls-gallery/9p3jfpwwdzrc) or get the source code on [GitHub](https://github.com/microsoft/Xaml-Controls-Gallery/tree/winui3). - -[WinUI 3](https://aka.ms/winui3) also has its own website where you can learn more about it. - -## Contributing to WinUI -The WinUI team welcomes your feedback! - -To understand how we handle incoming feature requests and bugs, please see our [contribution handling](CONTRIBUTION_HANDLING.md) guidelines. - -For information on how to contribute, please see [Contributing to the Windows UI Library](CONTRIBUTING.md). **Please note that although the source code for WinUI 3 is available in this repository it cannot be compiled by non-Microsoft developers at this time.** - -For guidelines on making an impact on WinUI through non-code contributions, please see [Contributing ideas, feedback, and requests](CONTRIBUTING_feedback_and_requests.md). - -## WinUI features - -### Benefits - -WinUI 3 provides some useful benefits when building apps for Windows: - -1. **Modernizing existing apps** - * Enabling you to extend existing Win32 (WPF, WinForms, MFC...) apps with modern Windows UI at your own pace using - [Xaml Islands](https://docs.microsoft.com/windows/apps/desktop/modernize/xaml-islands). - Developers who currently use WinUI 2 for their app UX will be able to easily move to WinUI 3, as their syntax and - capabilities are very similar -2. **Creating new Windows apps** - * Enabling you to easily create new modern Windows apps with the flexibility offered by the [Windows App SDK](https://docs.microsoft.com/windows/apps/windows-app-sdk/) -3. **Enabling other frameworks** - * Providing the native implementation for other frameworks like [React Native](https://github.com/Microsoft/react-native-windows) and .NET [MAUI](https://docs.microsoft.com/dotnet/maui/what-is-maui) when running on Windows. - -WinUI 3 is available as a part of the [Windows App SDK](https://docs.microsoft.com/windows/apps/windows-app-sdk) for building stable and supported desktop/Win32 apps for production scenarios. The latest release is the Windows App SDK 1.4, which you can download and read more about at the documentation linked below: - -[Stable release channel for the Windows App SDK](https://docs.microsoft.com/windows/apps/windows-app-sdk/stable-channel) - -We also ship experimental features as we develop them. You can read more about the Windows App SDK Experimental releases at the following documentation. Note that Experimental releases have limitations and known issues, so they are not equipped for production apps. - -[Experimental release channel for the Windows App SDK](https://docs.microsoft.com/windows/apps/windows-app-sdk/experimental-channel). - -### Version support - -WinUI 3 is part of Windows App SDK and so supports the same OS versions: down to build 17763 (version 1809/October 2018 Update) of Windows 10. - -Some features may have a reduced or slightly different user experience on older versions. - - -## Roadmap - -For info on the WinUI release schedule and high level plans please see the [Windows UI Library Roadmap](https://github.com/microsoft/microsoft-ui-xaml/blob/main/docs/roadmap.md). - -## WinUI 3 is a part of the Windows App SDK family -The [Windows App SDK](https://github.com/microsoft/ProjectReunion) is a set of libraries, frameworks, components, and tools that you can use in your apps to access powerful Windows platform functionality from all kinds of apps on many versions of Windows. The Windows App SDK combines the powers of Win32 native applications alongside modern API usage techniques, so your apps light up everywhere your users are. - -Other Windows App SDK components are: [WebView2](https://docs.microsoft.com/microsoft-edge/webview2/), [MSIX (MSIX-Core)](https://docs.microsoft.com/windows/msix/overview), [C++/WinRT](https://github.com/microsoft/cppwinrt), [Rust/WinRT](https://github.com/microsoft/winrt-rs), and [C#/WinRT](https://github.com/microsoft/cswinrt). If you'd like to learn more and contribute to Windows App SDK, or have **UWP/app model related questions**, visit our [Github repo](https://github.com/microsoft/WindowsAppSDK). - -For a detailed look at the features we're planning on releasing in WinAppSDK check out the [Windows App SDK feature roadmap](https://github.com/microsoft/WindowsAppSDK/blob/main/docs/roadmap.md). - -## Data/Telemetry - -This project collects usage data and sends it to Microsoft to help improve our products and services. See the [privacy statement](PRIVACY.md) for more details. - -# Code of Conduct - -This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). - -For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or -contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. - -# Trademarks - -This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft -trademarks or logos is subject to and must follow -[Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). -Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. -Any use of third-party trademarks or logos are subject to those third-party's policies. diff --git a/src/SECURITY.md b/src/SECURITY.md deleted file mode 100644 index 96d73bc27c..0000000000 --- a/src/SECURITY.md +++ /dev/null @@ -1,41 +0,0 @@ - - -## Security - -Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet) and [Xamarin](https://github.com/xamarin). - -If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/security.md/definition), please report it to us as described below. - -## Reporting Security Issues - -**Please do not report security vulnerabilities through public GitHub issues.** - -Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/security.md/msrc/create-report). - -If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/security.md/msrc/pgp). - -You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc). - -Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: - - * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) - * Full paths of source file(s) related to the manifestation of the issue - * The location of the affected source code (tag/branch/commit or direct URL) - * Any special configuration required to reproduce the issue - * Step-by-step instructions to reproduce the issue - * Proof-of-concept or exploit code (if possible) - * Impact of the issue, including how an attacker might exploit the issue - -This information will help us triage your report more quickly. - -If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/security.md/msrc/bounty) page for more details about our active programs. - -## Preferred Languages - -We prefer all communications to be in English. - -## Policy - -Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/security.md/cvd). - - \ No newline at end of file