Microsoft C++ Build Tools (2019) not allowed for use with Visual Studio Code? Technically, it seems to be possible to use Visual Studio Code as IDE for C++ development in combination with the Microsoft C++ Build Tools (2019), see https://code.visualstudio.com/docs/cpp/config-msvc. But the license agreement for the Microsoft C++ Build Tools 2019 seem to forbid that: "You may install and use any number of copies of the software to use solely with Visual Studio Community, Visual Studio Professional, and Visual Studio Enterprise, to develop and test your applications." There is no Visual Studio Code mentioned. I do not get this. (My initial concern was to evaluate if it is legal to use the combination in a commercial application without purchasing a license from Microsoft for Visual Studio.)
I see no reason to doubt your conclusion; since it's not allowed by the license it's forbidden by copyright. As you figured it, you gain the right to use these tools by obtaining one of those 3 Visual Studio licenses. A Visual Studio Code license is free, so it makes business sense that it doesn't include a license for Microsoft C++ Build Tools. I.e. you can't claim it's an "obvious oversight", as there's a justifiable business reason.
If running Linux on same physical computer as Windows, can one legally use Microsoft's files? Apparently not. The fonts would be considered a feature of the software. Even mounting the Windows file system in your Linux partition, as opposed to copying the fonts, would violate the terms of the license. That is because the terms of the license allow the inference that the licensed copy of Windows 10 is mutually understood as the active partition at the time of using its features. Therefore, using the fonts from elsewhere (including a different partition insofar as the license considers it a device on its own) constitutes using the feature separately.
If it is open source code, then usually the requirement is that you produce the source code for the software that you release. Exactly for the software that you release. For example if you took open source software X, and added feature Y, and distributed the combined software outside your company, anyone can request the source code for X including Y. Handing them the source code for X only wouldn't meet the open source requirements. Now all this is not illegal, but it means the copyright holder of X could sue you for copyright infringement. They will do that if they have enough reasons to do so. So let's say you are continuously developing your software and occasional hand out your compiled software. Say you built versions 100, 101, 102, 103, 104 of the software, you gave versions 100 and 103 to customers, and anyone asking for the source code is given the source code for the latest, slightly improved version 104. The copyright holder of X might sue you but: 1. They wouldn't know you are doing this. 2. A judge might side with you and decide that newer, improved source code is good enough (I don't know this, but it seems not unreasonable). 3. The copyright holder might decide that they don't want to sue you for this because you are close enough to meeting the requirements.
Rather than saying "for Project®" which might fairly be interpreted to indicate an affiliation with Microsoft, you ought to say something like "intended to be compatible with Project® (not affiliated with or endorsed by Microsoft)." can you imagine a worse scenario than Microsoft sending a Cease and Desist notice? In that case, I can imagine re-branding to "MYBRAND for E-Mail" as the logo/name and a textual reference to "The [MyBrand for E-Mail] Add-In for Microsoft® Outlook®.". What is the worst case scenario? You could be sued by Microsoft for trademark infringement under the Lanham Act and if you lost, forced to change your product name and to destroy all existing inventory, forced to disgorge all profits you have ever made from selling your product ever, forced to pay their attorneys' fees and costs (which won't be cheap) in addition to your own legal team, have your products seized and destroyed when imported by customs agents follow an ex parte court hearing (i.e. one you had no notice of) secretly brought by Microsoft, and forced to pay punitive damages equal to double the profits you made in addition to the profits themselves. You might not even be able to discharge the judgment against you by going bankrupt and the punitive damages would probably not be tax deductible. Microsoft has every right to do this even if you fully comply with their cease and desist letter. A criminal trademark prosecution would be unlikely in this fact pattern.
By &quot;unlicensed&quot; you mean that it doesn't state a license for use (MIT, GPL, etc.)? Those licenses are just a codified bundle of terms of use that cover many many edge cases. You have in place a much simpler agreement that covers the primary situation: you using/modifying the code for your own use. It's just like borrowing a car. You will ask a friend &quot;hey, could I borrow your car for a bit?&quot; &quot;sure!&quot;. You know there's a possibility that you'll get in an accident or something weird will happen, but you think the chances of that are minimal and you would be able to work it out. If you ask a car rental company, they'll give you a full contract covering every situation that may happen. Similarly, a large company would be hesitant to borrow a car for corporate use without a legal framework surrounding it. So you will likely be in the clear if you are just using it for a small project with minimal legal/financial implications. If you plan on turning your project into a multi-billion dollar empire, you should revisit your agreement.
First off: Legally, everything is copyrighted anyway. Licensing is not at all necessary. Hence, even if a court would disagree with # SPDX-License-Identifier: Apache-2.0, that would just make it closed source. Having said that, the law generally doesn't bother with trivialities such as &quot;file headers&quot;. Any commonly accepted way to state the copyright and license terms is OK. Your LICENSE is such a common convention. If you want to avoid all doubt what is covered under that license, put a reference to that LICENSE in each header. If you have just five files in one directory that are all licensed the same, I wouldn't even bother with that. Again, the default position is that everything is closed source.
Using this answer on Open Source Stack Exchange, If a repository has no license, then all rights are reserved and it is not Open Source or Free. You cannot modify or redistribute this code without explicit permission from the copyright holder. If a project doesn't have a licence, then normal copyright rules apply - this means that the author reserves all rights. The way a project is obtained, nor (except in exceptional cases), does not alter the ownership of copyright of a project. Bob will always hold copyright, unless he releases a legal document, such as a licence, that grants others various rights to the project.
You are creating a derivative work. You are only allowed to do this if the library comes with a license that allows this. If you want to give your derivative work to anyone else, copying it is copyright infringement unless the license allows it. Copying the derivative work and attaching a different license is most likely to be copyright infringement. And if people receive a copy with an open source license that is not justified and rely on it, that’s creating one unholy legal mess for everyone involved and can be massively more expensive than plain copyright infringement. No license means you don’t have permission to do anything with it, not creating derivative work, not distributing it, and certainly not publish it with an open source license.