Is it legal to export open-source cryptographic software from Canada I'm an independent software developer who has developed a program that links to the OpenSSL libraries for the purpose of allowing users to decrypt, filter and re-encrypt secure content. For example, one of the filtering engines in this software contains a transparent HTTPS proxy where the user can load filtering rules such as Adblock Plus Filters (EasyList) and have the proxy transparently remove matching content before presenting it the user. I intend on publishing the entire source code on Github.com and publishing binaries releases, both under the GNU GPL v3 (or any later version). I've spoken with EXCOL to try to get a formal ruling on whether or not such a program is subject to control under Import/Export law in Canada. However, they simply don't want to make a ruling over the phone or email and the only clear ruling they've given me is that due to the nature of the product and how I'm releasing it, I'm not eligible to apply for an export permit (because there is no Consignee). The other thing they made clear is that uploading something to a website is classified as "exporting". As such, they've told me the only thing I can do is apply for an Advisory Opinion, which they told me straight up is going to take "a very long time" because their priority is on processing actual applications, not giving opinions. Plus they basically told me that the opinion is useless, because it's based on your supplied specification and not the actual "product", so the opinion can be revoked/changed/thrown out. There is some language in the official guide to applying for a permit that suggests that software placed in "the public domain" is not subject to control, with the definition of "public domain" meaning generally available to the public, not the typical interpretation as applied to copyright. Note: This does not release such "technology" controlled in entries 1-1.E.2.e. and 1-1.E.2.f . and 1-8.E.2.a. and 1-8.E.2.b. Controls do not apply to "technology" in the "public domain", to "basic scientific research" or to the minimum necessary information for patent applications. General Software Note: The Lists do not control "software" which is any of the following: 1. Generally available to the public by being: Sold from stock at retail selling points, without restriction, by means of : 1. Over-the-counter transactions; 2. Mail order transactions; 3. Electronic transactions; or 4. Telephone call transactions; and Designed for installation by the user without further substantial support by the supplier; or Note: Entry 1 of the General Software Note does not release "software" controlled by Category 5, Part 2 ("Information Security"). 2. "In the public domain"; or 3. The minimum necessary "object code" for the installation, operation, maintenance (checking) or repair of those items whose export has been authorised. Note : Entry 3 of the General Software Note does not release “software” controlled by Category 5 - Part 2 (“Information Security”). The definition of "public domain" is given as: "In the public domain" - General Technology Note, General Software Note, 2-22 This means "technology" or "software" which has been made available without restrictions upon its further dissemination. Note: Copyright restrictions do not remove "technology" or "software" from being "in the public domain". Also, I was able to find a presentation a Canadian Firm made to TD Bank, posted here that seems to interpret this language as meaning that open source software is exempt from control: "Open Source” Exception – permit is not required if the software containing the cryptographic function is in the public domain They then further qualify this with the following statement: Does not apply where open source software is combined with proprietary software – i.e. open source cryptographic program (OpenSSL, etc...) integrated as security feature in or linked into company’s proprietary software. OpenSSL is a collection of open source crypto libraries, so this further qualification on the exception is meaning to say that closed source applications linking to open source crypto are not covered. Since this is a negating statement, the inverse must necessarily be true, that open source software linking to something like OpenSSL is covered. This is my interpretation, I have contacted the lawyer who made the presentation hoping to get clarification. So my question is, am I interpreting this information correctly? That as long as the source is open to the public, made generally available, that one can legally "export" aka publish such a work legally without an export permit?
I'm posting an answer hoping it is not the final answer, but rather in the hopes that it inspires a better answer itself. The open source or "public domain" exception cited in my question has some constraints placed on it. For example, software that falls under 1-1.E.2.e, 1-1.E.2.f, 1-8.E.2.a and 1-8.E.2.b are not covered by the exception. So, here is a summary of every one of those sections, and the sections that those sections reference: Section 1-1.E.2.e - "Technology" for the installation, maintenance or repair of materials specified by 1-1.C.1. Section 1-1.C.1 covers Materials specially designed for use as absorbers of electromagnetic waves, or intrinsically conductive polymers, as follows: ... Not included because my software has absolutely nothing to do with materials of any kind. Entire section is about qualifying a type of material this rule applies to. 1-1.E.2.f - "Technology" for the repair of "composite" structures, laminates or materials specified by 1-1.A.2., 1-1.C.7.c. or 1-1.C.7.d. Section 1-1.A.2 covers "Composite" structures or laminates, having any of the following: ... Not included because my software has absolutely nothing to do with materials of any kind. Entire section is about qualifying a type of material this rule applies to. Section 1-1.C.7.c covers Ceramic-ceramic "composite" materials with a glass or oxide-"matrix" and reinforced with fibres having all of the following: ... Not included because my software has absolutely nothing to do with materials of any kind. Entire section is about qualifying a type of material this rule applies to. Section 1-1.C.7.d covers Ceramic-ceramic "composite" materials, with or without a continuous metallic phase, incorporating particles, whiskers or fibres, where carbides or nitrides of silicon, zirconium or boron form the "matrix"; Section 1-8.E.2 Other "technology" defined as follows: a. "Technology" for the "development", "production", repair, overhaul or refurbishing (re-machining) of propellers specially designed for underwater noise reduction; b. "Technology" for the overhaul or refurbishing of equipment specified by 1-8.A.1., 1-8.A.2.b., 1-8.A.2.j., 1-8.A.2.o. or 1-8.A.2.p. I've omitted copying quite a bit of text, but I kept the title/summary portions to illustrate that all of the exceptions to the open source or "public domain" exception have something to do with software related to restricted physical materials. There are some other exceptions to the general exception, notably the "Information Security" constraint, but note that the "Information Security" constraint applies specifically to Entries 1 and 3, and the open source or "public domain" exception is defined in entry 2. Just for fun, the definition of "Information Security": "Information security" - Cat 5P2 All the means and functions ensuring the accessibility, confidentiality or integrity of information or communications, excluding the means and functions intended to safeguard against malfunctions. This includes "cryptography", "cryptographic activation", cryptanalysis, protection against compromising emanations and computer security. Technical Note: 'Cryptanalysis': the analysis of a cryptographic system or its inputs and outputs to derive confidential variables or sensitive data, including clear text. (ISO 7498-2-1988 (E), paragraph 3.3.18). After reviewing each of the constraints placed on the various exceptions, I believe the spirit of the law here is to control: Closed source "Information Security" software that defines or uses cryptography, regardless of whether the linked crypto software is open source or not. Closed source or open source software that is even remotely related to the study or production of physical materials that you require an export permit for. Basically, if the program even mentions a material that you'd need an export permit for, you probably need an export permit for the software, regardless of whether it's open source or not. Again this is not meant to be a final answer. I'm simply posting more information about the question and my thoughts on it, hoping to assist in creating a better answer than this. Plus, a whole lot of rep is going to go down the toilet without another answer. :)
Content posted to the web is usually openly accessible to all (unless protected by a password, paywall, or similar restriction). But that does not mean it is freely copyable by all. Such content is protected by copyright in just the same way as if it had been published in a book of essays by various contributors. Unless the copyright holders (who are likely to be the original authors, but might not be) give permission, or an exception to copyright applies, copying such content would be clear and obvious copyright infringement, and any copyright holder could sue for damages. Permission could be given by publishing the content under a permissive license, such as a CC-BY-SA license, or any of many other available permissive licenses. Or a would-be reuser could find the copyright holders and ask for permission. If the holder cannot be found or identified, or does not respond, then no permission has been granted. In the US the main exception to copyright is fair use. See this answer and other threads with the fair-use tag here for more on fair use. Since the question seems to contemplate using the whole of the posted content, since it might well damage any potential market for that content, and since the use does not seem to be &quot;transformative&quot;, nor used for criticism or comment, a finding of fair use for this situation seems unlikely. But Fair use findings are very much fact-driven, and the exact facts do matter. Thus I cannot be at all sure whether a court would find this toi be fair use or not. In other countries there are a variety of exceptions to copyright, and I have not come close to reviewing them all. But none of the ones I know of seem to apply to the situation described in the question. Many are narrower than the US concept of fair use. I fear that without permission, copying this content would be infringement. However, it would not be infringement to create a site that includes a link to the existing content, and a summary or description of that content, along with new content, including comments on the old, with brief quotes to indicate what is being commented on.
Is an article licensed under an Open Access license equivalent to a public domain work? No. Intellectual property practitioners and professors often describe copyright as "a bundle of sticks." This means that intellectual property laws grant the creator of a copyrightable work a large number of rights, and the creator can grant or deny others each of those rights individually. So, for instance, an author can grant a publisher the right to publish his or her book in one country, but not in another, or to copy it verbatim but not to alter it. The purpose of a license, any license, is to specify which of those rights pass to the licensee (the end user) and which stay with the licensor (the creator). This is true of creative commons just as it is for any other license. For example, many open access publishers publish under the Creative Commons CC-BY journal. This is an attribution license; it requires as a term of the license that you give credit to the original creator. This is something you would not have to do with a public domain work. In addition, under CC-BY, you have to include a copy of the license with each copy you distribute, and you cannot add your own copy protection to any copies you distribute. Again, these sort of restrictions do not apply to a public domain work. In short: the purpose of a license--any license--is to define the ways in which you can, or can not, use the licensed materials. Any license that contains any provisions restricting the licensee's use is going to be more restrictive, by definition, than the use of something in the public domain.
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.
united-states The license won't let you sell the .stl file. Probably you have created a derivative work, which means you can't sell it without a copyright license (and the CC-A-NC won't do). If it were licensed under CC-A you could sell it without problems (you'd have to give attribution, of course). You could also sell it under the CC-A-SA, but once you do you have no control over the result -- anyone you sold it to could give it to someone else under the terms of the license. This could work, though, if it were (say) a commission and you only expected to sell one copy. I don't know what the situation would be with the physical objects printed under any of these licenses.
The Free Software Foundation considers that the Apache 2.0 license is compatible with the GPL 3.0: This is a free software license, compatible with version 3 of the GNU GPL. But not compatible with the GPL 2.0, though: Please note that this license is not compatible with GPL version 2, because it has some requirements that are not in that GPL version. These include certain patent termination and indemnification provisions. The patent termination provision is a good thing, which is why we recommend the Apache 2.0 license for substantial programs over other lax permissive licenses. But what does it mean when the FSF says a license is &quot;compatible with the GPL?&quot; It means that the other license and the GNU GPL are compatible; you can combine code released under the other license with code released under the GNU GPL in one larger program. All GNU GPL versions permit such combinations privately; they also permit distribution of such combinations provided the combination is released under the same GNU GPL version. The other license is compatible with the GPL if it permits this too. GPLv3 is compatible with more licenses than GPLv2: it allows you to make combinations with code that has specific kinds of additional requirements that are not in GPLv3 itself. Section 7 has more information about this, including the list of additional requirements that are permitted. So what can you make of this? The FSF considers these two licenses compatible and it also means that when you combine code under these two licenses, the effective obligations that will apply are these of the Apache and GPL combined, including source code redistribution. But why are the compatible? Is the fact that the FSF says so enough? We can check what the Apache Software Foundation says on the topic: The Free Software Foundation considers the Apache License, Version 2.0 to be a free software license, compatible with version 3 of the GPL. The Software Freedom Law Center provides practical advice for developers about including permissively licensed source. Apache 2 software can therefore be included in GPLv3 projects, because the GPLv3 license accepts our software into GPLv3 works. So irrespective of the deeper why, they tend to agree and as they are the authors of the respective licenses, this carries some weight. But wait, this is not true the other way around as the ASF goes on: However, GPLv3 software cannot be included in Apache projects. The licenses are incompatible in one direction only, and it is a result of ASF's licensing philosophy and the GPLv3 authors' interpretation of copyright law. So in a nutshell, the FSF considers that the terms of the Apache license are compatible with the copyleft terms of the GPL 3.0. The ASF agrees, but the copyleft terms of the GPL 3.0 are not compatible with the permissive terms of the Apache 2.0: a combination of the two would have to be copyleft.
Yes, commercial use is allowed for the AGPLv3 license. You can charge for your use of the software so long as you provide a way for the public to download the source code in its entirety.
Yes and no. [note, the following is all written about US law. In other jurisdictions laws are, of course, different (though usually not drastically so.)] In the US there are (at least) three different bodies of law that might apply to code: copyright, patents, trade secrets. Copyright covers original expression. Anything you write is automatically, immediately protected under copyright. The copyright applies to the code itself, and anything "derived" from that code. It's up to the courts to decide exactly what "derived" means. One case that's long been viewed as a landmark in this area is Gates Rubber v. Bando Chemicals. The Court of Appeals for the tenth Circuit decision includes a section titled: "The Test for Determining Whether the Copyright of a Computer Program Has Been Infringed." Note that you can register a copyright, and that can be worthwhile, such as helping recover some damages you can't otherwise. Patents are quite different from copyrights. Where a copyright covers expression of an idea, a patent covers a specific invention. Rather than being awarded automatically, a patent has to be applied for, and awarded only after the patent office has determined that there's no relevant prior art to prevent it from being awarded. A patent, however, covers things like somebody else independently discovering/inventing what's covered by the patent. A trade secret could (at least theoretically) apply to some process or procedure embodied in the code. A trade secret mostly applies to a situation where (for example) you're trying to form an alliance with some other company, and in the process tell them things you don't tell the general public. If you've identified the fact that what you're telling them is a trade secret, and they then tell a competitor (or the general public, etc.) or more generally use that information in any way other than the originally intended purpose, it could constitute a trade secret violation. As a side-note: patents and copyright fall under federal law, so they're basically uniform nation-wide. Trade secrets mostly fall under state law, so the exact details vary by state. Absent a reason to believe otherwise, I'd guess your interest here is primarily in copyright infringement. The key here would be showing that one piece of code was derived from the other. That is, it specifically would not apply in a case where there were only a limited number of ways of doing something, so anybody who wanted to do that had to use one of those ways. Since this would not indicate actual derivation, it would not indicate copyright violation.