The X.Net License is a short MIT-style permissive license from X.Net, Inc. It has no connection to Microsoft. Keep the notice with every copy.
On this page
What it does
The X.Net License is a short permissive license published by X.Net, Inc. and approved by the Open Source Initiative in 2000. The author later retired it, so it is no longer on the OSI's current list, and SPDX marks it as deprecated. The wording follows the MIT pattern with one addition: a clause choosing California law. You may use, copy, modify, and redistribute the code, commercially and inside a closed product, as long as the copyright notice and the permission notice stay in every copy. It has no connection to Microsoft. Microsoft's own open-source licenses are MS-PL and MS-RL, which are different texts with different conditions.
Details
Nothing about this license shapes how you build or deploy. You can host it, ship it in a binary, or link it into closed code without publishing anything of your own. The reason it gets a guide at all is identification. It is rare, and a rare identifier in a component list is the kind of thing that stalls a customer's procurement review while somebody works out what it is. Recording it with its real text answers the question before it is asked.
Pros
- Easy to drop into a closed, paid product. Procurement has seen this family hundreds of times.
- No copyleft on your own files. You keep your source private.
Cons
- The notice duty is easy to miss in a desktop, mobile, or container build. A web page is not a substitute for notices inside the artifact.
- Buyers who want an express patent grant will ask you to prefer Apache-2.0 over a short MIT-style text.
What it allows and requires
Choose a category to see the full grant in one scannable list. Permissions show what the license allows, limits show what it withholds, and obligations show the conditions your release process must satisfy.
Permissions
Commercial use
You may ship the code inside a paid product. The license does not restrict commercial use.
Modify
You may change the code, including keeping those changes private, unless a later obligation says otherwise.
Distribute
You may give copies to others. Distribution is what usually turns notice and source duties into real work.
Sublicense
You may include the code under your own product terms, so long as you still meet this license's conditions.
Private use
Use inside your company, including internal forks, does not by itself trigger distribution duties.
Limits
Hold liable
The authors disclaim warranty. Recipients cannot hold them liable for damages arising from the software, except where law forbids that disclaimer.
Use trademark
The license is not a trademark license. Names, logos and product marks stay with their owners unless a separate grant says otherwise.
Patent grant
The text does not grant patents. If buyers want an express patent grant, Apache-2.0 is the usual alternative.
Obligations
Include copyright
Keep the copyright line with every copy or substantial portion you distribute.
Include license
Keep the license text with every copy or substantial portion you distribute. A web page is not a substitute for notices inside a shipped artifact.
What Xnet requires when you ship
When a copy that includes Xnet code leaves your company, the grant is broad and the paperwork is easy to miss. Distribution here means an installer, a mobile binary, a container image, or an SDK another team embeds. Work this list against the artifact you actually hand over, not against a README. A hosted service that never gives out a copy still belongs on the record, but the notice duty does not fire until a copy exists.
You are meeting the notice condition when the copyright line and the permission notice ship with every copy of the code you distribute.
Your duties are identical for modified and unmodified code. The license asks for no change note, no source offer, and has no linking rules.
You are done for a hosted service or an internal tool once the component and its license text are recorded, because there is nothing else to hand over.
The duties named in Xnet
The license text itself is short. These are the named conditions. They follow the code, including files you vendor into your own repository and transitive packages in the lockfile.
Include copyright
Keep the copyright line with every copy or substantial portion you distribute.
Include license
Keep the license text with every copy or substantial portion you distribute. A web page is not a substitute for notices inside a shipped artifact.
Things to be aware of
- The license is recorded as a Microsoft one. It is not. X.Net, Inc. published it, and Microsoft's licenses are MS-PL and MS-RL.
- An allow-list built from the OSI's current list rejects it, because the author retired the license. Expect the question, and answer it with the MIT-style text rather than the approval date.
- An unfamiliar identifier is left unconfirmed until a customer asks about it. Accept or correct the resolution while you are already in the component.
- The notice is dropped when one file is vendored out of the package. Keep the header comment, or keep the LICENSE file next to the copied code.
What the X.Net License does not do
Search results often flatten X.Net License into a slogan. These are the usual misreads. Xnet is a grant with conditions, not a permission to skip the paperwork below.
- the X.Net License does not require you to publish your own source. Combining it with closed code is the point of the grant.
- the X.Net License does not mean "no obligations." The copyright line and license text still have to travel with copies you hand to other people.
- It is not a patent license unless the text says so. MIT-family grants say nothing about patents.
How Xnet differs from nearby licenses
These licenses are often confused with Xnet, but their release duties differ. Each row summarizes what the license requires when you ship. Open the linked page for the full checklist.
- Xnet
- The X.Net License is a short MIT-style permissive license from X.Net, Inc. It has no connection to Microsoft. Keep the notice with every copy.
- MIT
- MIT lets you ship the code inside a closed, paid product. The one condition is that the copyright line and license text travel with every copy.
- BSD-2-Clause
- MIT in BSD wording. Use it in a closed product, and keep the copyright line, the conditions and the disclaimer with every copy you distribute.
Common questions about X.Net License
Answers to common questions about what X.Net License requires, when its duties apply, and what evidence belongs with a release.
What is the X.Net License?
The X.Net License is a short permissive license published by X.Net, Inc. and approved by the Open Source Initiative in 2000. The author later retired it, so it is no longer on the OSI's current list, and SPDX marks it as deprecated. The wording follows the MIT pattern with one addition: a clause choosing California law. You may use, copy, modify, and redistribute the code, commercially and inside a closed product, as long as the copyright notice and the permission notice stay in every copy. It has no connection to Microsoft. Microsoft's own open-source licenses are MS-PL and MS-RL, which are different texts with different conditions.
What does Xnet require when you ship a product?
You are meeting the notice condition when the copyright line and the permission notice ship with every copy of the code you distribute. You have identified it correctly when the stored text names X.Net, Inc. A Microsoft component carries MS-PL or MS-RL instead, and those have their own conditions. Your duties are identical for modified and unmodified code. The license asks for no change note, no source offer, and has no linking rules. You are done for a hosted service or an internal tool once the component and its license text are recorded, because there is nothing else to hand over.
Does Xnet require me to open my own source?
It is not a patent license unless the text says so. MIT-family grants say nothing about patents.
How do I attribute Xnet in a product I ship?
Attribution for Xnet means the copyright line and the license text travel with every copy a recipient actually gets. That can be an about screen, a licenses file inside the installer, or a notice in the container image. A public page helps a buyer audit the inventory. It does not replace notices inside the artifact. If you copied files into your own repository, the header on those files still has to stay.
Is a website notice enough for Xnet?
No. Xnet talks about copies. A public attestation page is the honest list for procurement. The condition is met when the notices sit in the material you hand over. Put them in the installer, the about screen, or a licenses file inside the binary, then keep the same texts on the page.
Do transitive Xnet dependencies count?
Yes. The condition follows the code, not the package you chose by name. If the lockfile pulled in Xnet transitively and you distribute that tree, those notices travel too. Listing only direct dependencies is how teams miss the duty.
How is Xnet different from MIT License?
Xnet asks this: The X.Net License is a short MIT-style permissive license from X.Net, Inc. It has no connection to Microsoft. Keep the notice with every copy. MIT License asks this: MIT lets you ship the code inside a closed, paid product. The one condition is that the copyright line and license text travel with every copy. Open the MIT License page for what that license requires when you ship. Do not treat the SPDX ids as interchangeable because the short names look similar.
Where do I record Xnet for a buyer?
SourceTrust fetches the published artifact, extracts the license files it contains, and compares that text against the declared SPDX id. A rare license is exactly where the comparison earns its keep. An outcome other than confirmed means the text and the identifier do not line up, and a person accepts or corrects it before anything is stored. The stored text is what your attestation page and every export carry.
Where do I record Xnet for a buyer?
SourceTrust fetches the published artifact, extracts the license files it contains, and compares that text against the declared SPDX id. A rare license is exactly where the comparison earns its keep.
An outcome other than confirmed means the text and the identifier do not line up, and a person accepts or corrects it before anything is stored. The stored text is what your attestation page and every export carry.
Read /docs/auto-fetch-license for how the fetch decides.
See also
The hub is the pillar for this cluster. Sibling licenses are the other spokes. Product FAQ links explain how SourceTrust records the duty, not the license text itself.
Practical guidance for procurement review, not legal advice. Confirm high-stakes use with counsel.
