Can an API be licensed? My question is this simple - can an API (Application Programming Interface) be licensed? How does such licensing work? I mean, to have the source/binary licensed under one licence and the API under another one (or even the same one). Example usages: source closed + API licenced open source + API licenced I have found following examples of API licensing: Google Maps API Licence Mapillary API
To use an API over a network connection (as opposed to, e.g., the Windows API), a user communicates a request to the API host, or server, and awaits a response. The host of the remote API can refuse to serve requests from users for probably any reason. Such services often require users to accept a license as a condition of using the service, and they may charge a fee as a condition of the license. A license to use a service is obviously not necessarily bound to a license for the use of its source code, just as the ability to reach the service is not dependent on the ability to see (let alone use) the code in any format, whether it be the source code or some compiled form of the code. In essence, source licenses and service licenses have different primary goals, at least inasmuch as the source license seeks to restrict someone who has actual physical access to compiled code, and possibly source code. Service licenses do not have that concern, though I have seen service licenses that also prohibit decompiling. This is probably the result of a CYA attitude among lawyers: the language is already in the standard software license text, and it doesn't hurt anything to leave it in, and it could help if a service user somehow managed to download the program code.
Ok here is my go at answering my own question: (see comments above &amp; below for links) Depending on what you want to do, GPL can be a bit complicated, with multiple versions, version numbers, and added exceptions over the years. it can be a headache. However, for this purposes of app development incorporating GPL/LGPL libraries, it is fairly straightforward. Keep in mind to check version numbers on all relevant documents, although they are most likely v3.0. As far as I know linking to a GPL library binds you to also releasing your code under GPL. So that is a no-go for closed source, but that brings me to my 1st question. is it legal for me to remain closed source while incorporating external libs that are both BSD and LGPL? and I think the answer to that is yes provided that I dynamically link to said component (.so .dll .dylib .framework). Permission of this is granted under section 4d of LGPL v3.0. d) Do one of the following: 0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source. 1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version. My 2nd question Would it change the ability for me to stay closed source if i were to use an altered version of one of these libraries? It is my interpretation that in this case the only source you would need to provide is that of the modified library, and that the application itself can remain closed source. I'm basing this on grounds that nothing has changed from the situation for my 1st question other than the fact that the modified component library is now a derivative work under standard GPL v3.0. finally my 3rd question what is the legal effect on static vs dynamic linking? This seams to be a bit iffy. Again see section 4d of the LGPL v3.0. By this wording dynamic linking is much preferable, and there are basically no requirements. If you choose to link statically though(in other words as part of the project build) things get complicated. To fully understand see LGPL definition of "Corresponding Application Code", and then see sections 4 5 and 6 of the GPL document. Full source is not required, but as far as i can tell you are required to provide all necessary materials for someone to build the project from scratch, so they can use a different version of the library if they so choose. This, in my opinion, would not be closed source. I hope that is clear enough? I did quite a bit of looking around the internet in coming up with this answer, and in the end even some reading of the license, though I'm not sure I've actually read them through in there entirety. Keep in mind that there are multiple version of each license, and you should check version numbers for each LGPL library you use. There is a lot of good information on on opensource.stackexchange, although much more than one can process in a single sitting, and with occasional disagreement on finer points. Below are some related links. gnu.org/licenses/gpl-3.0.txt gnu.org/licenses/lgpl-3.0.txt copyfree.org/content/standard/licenses/2bsd/license.txt opensource.stackexchange.com/questions/1700/are-derivative-works-a-subset... opensource.stackexchange.com/questions/2772/can-this-nvidia-licence-be-us... opensource.stackexchange.com/questions/2488/do-i-need-to-host-qt-source-w... opensource.stackexchange.com/questions/1431/are-there-examples-of-proprie... opensource.stackexchange.com/questions/5162/are-the-terms-of-lgpl-3-0-alr...
As Greendrake says, you can legally create your &quot;open source&quot; license. There are two problems with this: Since you are not an experienced contract lawyer, there is a significant risk that your license doesn't do what you intend it to do. As a consequence, people who you want to use your software might not do so, because your license prevents it or makes it too risky. Or people may use your software in ways that you didn't want to allow, because the text of your license doesn't prevent it. Your license terms may be incompatible with other open source licenses. For example, I might want to use GPL licensed software A, and your software B with your license in my application. Being careful, I give both licenses to my lawyer, and the lawyer says, &quot;sorry, you cannot possibly follow the terms of both licenses, because GPL and Ky's license require that you do two contradictory things. You can use software A and follow GPL's terms, or you can use software B and follow Ky's license terms, but you can't use both&quot;. All in all I would recommend that you use a widely used open source license.
Yes you can. What you do is called mere aggregation. Your app and the GPL container run isolated and do not share memory space: they are clearly separate programs vs parts of one program, so your app does not get infected by GPL.
Yes A software license is just a contract and parties to a contract are free to agree whatever terms they wish under the doctrine of freedom to contract. Government can restrict what terms can be used in a contract either in general (e.g. for being against public policy) or specifically (e.g. by requiring wages be paid in money). None of the terms you mention fall foul of any restrictions I know of.
Yes. This is a frequently asked question on the foundation's homepage, and answered without ambiguity (source): Can I use a Raspberry Pi in a commercial product? This is a very common question, and the answer is yes! Once you have bought a Raspberry Pi, it's yours to do with as you wish. You would be in good company too, as in fact the Raspberry Pi is regularly used and sold for commercial applications third parties. Note that this the default consequence of a contract of sale in all jurisdiction I know of (but I am not a lawyer): The seller does not retain property rights in the particular item, and by the mere selling of the item implies there are no other rights that might prevent the buyer from using it as they wish. Apart from the particular computer now in your property, there are other legal requirements: &quot;Copyleft&quot; softweare: Large parts of the Raspbian software are licensed under &quot;copyleft&quot; licenses (importantly, versions of the General Public License, GPL). These licenses are meant to provide your customers with the means of reproduciing and building upon the &quot;copylefted&quot; software. You will need to provide your customers with the source code to those software items, the tools and documentation needed for building, and a written notice. Your own programs need not be licensed under a &quot;copyleft&quot; license, provided that you don't build on (distribute &quot;derative works&quot; of) &quot;copyleft&quot; software. The open source licenses involved are not meant to exclude commercial use, and there are helpful compliance guides available ( a, b ). Non-free software: Make sure to not include non-free software, like Mathematica or Oracle Java, which are not licensed for commercial redistribution. Trademarks: Your use of the words &quot;Raspberry PI&quot; or the raspberry logo is subject to restrictions, as is usual with trademarks. Speaking of the logos: You can request permission to use their &quot;powered by Raspberry Pi&quot; logo. Market regulations: You need to abide by regulations, for example safety and electromagnetic interference. Repackaging the Pi might mean you'll need to test and recertify your product, I'm not an expert. Video codecs: Some Raspberry Pis (up to 3) include specialised video decoding hardware. If you want to use it with the MPEG2 codec, you'll have to buy an activation key for small one-time fee per device - £2.40 for MPEG2, £1.20 for VC-1; other codecs are already activated. I don't think you'll need a license even for commercial, for-sale devices, but I am not your lawyer. Just to be clear, nothing prevents your buyers from cloning your software. (This is not a consequence of you providing the Raspbian source code - they can just clone the contents of your SD card.) While you can retain copyright in your own code, you'll probably have no effective means of detecting infringement. However, the physical design of the rest of your device will not be affected. Your business model needs to account for this fact.
What are exactly the legal consequences of "All rights reserved"? Almost none. You have to explicitly grant copyright rights. You don't even need the Copyright notice for them to apply. My "almost" is because the notice makes it harder for somebody to argue "they didn't realize". Do I still need an additional SW License Agreement or is the Copyright notice above + a Disclaimer of liability sufficient? If this is free software (I know you said it isn't), do yourself (and everyone else) a favour by picking a license you like. Preferably either GPL or MIT (depending on your taste). There are far too many free licenses already. Please don't add another. (It also makes it much easier for any user of your software: "Oh yeah, GPL v2. We understand that. We can use it." as opposed to "What are the implications of using this one??" As this is not free software, I think you need a paid-for lawyer (who understands IPR in your juridiction.) Edit: In principle, I believe you don't need anything. The code is copyright, so the customer can't do anything with it (without explicit permissions that you haven't granted). However if the customer doesn't realize that or thinks you won't mind, you then have to go to court to enforce your rights (and probably end up with a disgruntled customer). A short, clear, license will make it clear to the customer what they are allowed to do, and save all that aggravation.
I'm assuming that you are not seeking to change the license, and so it will remain GPLv3. As long as you've built on the original software, that license still applies. You also need to keep the previous copyright notices, including the names of the original people. Assuming that, everything you're doing is legal, which is what's on topic here. There is some etiquette around forks (which is what you're doing), which would be on topic at the Open Source Stack Exchange. I'm puzzled by your desire to have a different license text. You can't change the license from GPLv3, so that has to stay the same. (If the original has GPLv3 "or, at your option, any later version", you can drop the any other version text if you like.)