Does MIT license oblige me to publish its code in open sources I found several libraries on GitHub that I plan to use for a commercial application. They are all licensed under MIT or Apache 2.0. Having studied them, I realized that I can use them for free in development, but does this oblige me to publish its code in open sources after developing the application?
You'll want to read the actual licenses yourself and understand what is required. If you don't understand, then you'll want to consult an attorney. But neither of these licenses are all that complex in my opinion. MIT: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the &quot;Software&quot;), 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. Apache 2.0: Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a &quot;NOTICE&quot; text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. Nowhere does either license require you to publish your application's source code, even if your application is directly based on the original code.
If you do, can you build/run it without being bound by said license? No, you cannot. Because there is no way to &quot;build/run&quot; it without making a copy. You copy the sourcecode, before you can run your compiler. That is the copy you are making, not copying the file that results from this process. A valid question might be, are you bound by the license? Well, that is up for lawyers and a court to decide, but in all countries I know, copyright is automatic for anything worth copying. And the copyright holder can grant licenses to people to allow things. So arguing you are not bound by a specific license would mean you would argue that you are bound by the legal default, which in most countries is &quot;You cannot copy that. At all. Unless you have explicit permission&quot;. That argument would sound like &quot;I stole all 10, because the offer of buy-one-get-one-free was not legally binding&quot;. Maybe it wasn't. But that doesn't mean you get to do something unrelated illegal instead. Now, there are many exceptions for &quot;personal use&quot;. You can sing any song in the shower. I would assume you can compile any program there, too. You just cannot use that program for anything worthwhile, the same way you cannot record your song in the shower and sell it.
You should probably get a lawyer, but my reading is this: The company whose SDK you use owns their SDK, owns their code, and is free to take any of your ideas how to improve their code without paying you. But they say that ideas are ten a penny, so this is mostly there to prevent pointless lawsuits. On the other hand, it says that everything you do with your product is yours. I might be completely wrong, that's why you should get a lawyer.
Am I correct to infer that content/data created by a US city have an open license (public domain if created by US city employees or open license if created by a contractor)? No. For example, Larimer County, Colorado created election administration software in-house rather than using an outside contractor to do so, and it would be lawful for it to license that software to other governments in a manner that helps recover its development costs. There is an issue over whether a city or state can copyright its municipal ordinances or statutes or regulations in a legally enforceable way when people have a legal duty to comply with them. Some courts have held that state statutes that are binding upon people can't be protected in that manner. Efforts of the West Corporation to protect its page numbering system that was widely used by courts to refer to public domain case opinions were mostly invalidated in litigation. An open question is that most municipal governments incorporate by reference in their ordinances Uniform Building Codes that are subject to private copyrights and are not terribly cheap to obtain copies of. Yet, every person doing construction work is bound to follow the enacted ordinance including the parts incorporated by reference.
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.
In Germany, there is no concept that corresponds directly to public domain. You automatically hold the Urheberrecht (~ copyright) for all creative works that you make, and it can't be given up or transferred (§29 UrhG). The work only enters the Gemeinfreiheit (~public domain) 70 years after your death. You can however license Verwertungsrechte (economic usage rights). When you make creative works in the course of employment (see §43 UrhG), your employer automatically gets the Verwertungsrechte necessary in the context for the work, which is typically an exclusive right (no one else, not even you, can use the work). Your are not in an employment relationship with your school, so it has no rights to your works and cannot prevent you from publishing them on copyright grounds. When you see advice on the internet to check with your school first, that is U.S.-specific advice. Since you're still a minor (7–17), you only have limited capacity to enter contracts or legal transactions (bedingte Geschäftsfähigkeit). While you are able to make transactions involving your own means (e.g. buying something with your pocket money) or make transactions that are only to your benefit (such as accepting a gift), other transactions are schwebend unwirksam (~ pending ratification), until your parents agree. The relevant law is in §107 and §108 BGB. This is a problem with open source licenses. If you publish software under a license, this license is schwebend unwirksam. Someone might start using the software under the license. But then if your parents refuse ratification, the license would be invalid, and everyone would have to stop using your software and destroy any derivative works they made. This is a bit of a problem, especially since open source licenses are otherwise assumed to be irrevocable. So if you want to offer a license (including open source licenses), please give legal certainty to the recipients of the license and ask your parents for their consent first, possibly even in writing. Per §107 BGB, the license you offer with their consent will be valid.
What you are missing is that the original copyright holder can give permission to make derivative works with strings attached. There is no automatic right to derive something from a copyrighted work. Those strings could include constraints on what you create in the process of making the derivative work. Yes it is a string limiting what you can do with something you own, but you would have been warned in the license and had the choice to start from scratch. People do create work-alike software with no copyright strings using two teams and a &quot;clean room&quot; design process. It is a lot harder than modifying something another person has developed. Also, law and someone's understanding of morals need not be aligned at all. And, in patent law, just creating something all by yourself from scratch does not give you ownership. If someone else did it first and got a patent you can't make the item you might think you own. IP law is complex and looking for &quot;fundamentals&quot; may not get you anywhere.
The code is copyrighted. You are not given any permission to use or copy any part of it, nor to create a derivative work based on it. There is no way for you to "make the copyright null". The code was copyrighted in 2005, and the copyright will not expire until 70 years after the death of the author, under US law. The period would vary in some other countries, but in no country that I know of will it expire in the next few years. That the author is dead, or the publisher out of business, does not change this legally. Someone, probably the author's heir, or perhaps whoever bought the remains of the publisher's business, will own the copyright. However, the ideas and programming techniques shown and discussed in the book are not protected, and you may use them freely to write programs, commercial or non-commercial. You need not even acknowledge the book as a source of ideas, although to do so would be nice. Of course, since the author is dead and the publisher not active, if you were to infringe the copyright by copying code from thsi book, there is a reasonable chance that no one would notice, but if someone did notice, the current owner of the copyright could sue you for infringement, and could perhaps win sizable damages. It would be safer to write your own original code using only the general ideas from the book. In future, do not ever assume that you can just take someone else's code (or other creative work, such as a book) and reuse it without permission, unless it is in the public domain, for example because it was published before 1923.