I have rewritten the library in a different language than the original. If I publish it under my name do I infringe the copyright law? So let's assume that there exists programming library Lib1 made with language Lang1. If I rewrite this library in language Lang2 and expand with additional features (or scrap few existing), name it MyLib and then release under different license and take copyright to myself (only for MyLib) do I infringe the copyright law?
The answer to this depends very much in which country you are in, and how you go about implementing it. First of all, this might seem obvious, but copyright only applies if you copy something that is covered under copyright. If you copy an idea - that having a library that solves problem X is useful - and that is the only aspect you copy, then under U.K. Copyright law, there is no copyright infringement, as ideas are not copyrighted. However, if you copy aspects of the library interface, or the object model of the original library, then it's a derived work, and the copyright of the new work is only partly yours. If you translate the source into a new language, then the copyright is largely still with the original author. Every country implements copyright law in their own way. One of the principle differences are in the available "fair use" clauses. You may find that you are entitled to a fair use clause for creating a "compatible" library, or you may be allowed to quote small aspects of the original in your new work. You need to check up on your countries laws.
The first thing that people need to do is to quit over thinking it. That being said, I'm going to see if I can tackle your problems one by one, before summarizing and providing my own opinion: Many users don't care if their code is copied. I'm like that. I left a couple comments on Shog9's post that read this: Good point: Licensing does not prevent careless or malicious use. I'm surprised about how many people are thinking that this license will let them steal their code, because it's already happening right now. I don't want to sound pessimistic, but when thousands of people break a license/law/contract, it's a bit of a lost cause. You're not significantly damaged in a direct way, so honestly, let it go. All I want is to make sure that no one can come up to me if something of mine screwed something on there side. Aside from that, I don't care about people who don't attribute me: chances are, they have no moral sanity, and I will appreciate the people who do, and help me out. As it is, I'm 16, I share what I know with a good heart, and in a well-spirited manner, and at the end of the day, knowing that I was able to help someone out makes my day. I don't mind if my code is copied. I know that people will copy my code whether I like it or not, but I also know that there will be people in the world who will say "thanks", and will try to attribute me where possible. I feel good about that. That being said, I don't care. But the person who uses my code does. The license that affects all Stack Exchange posts are licensed under the Creative Commons Attribution Share-Alike license, or CC BY-SA. Code contributions don't fit well with this. This excellent post on Open Source explains why it's discouraged for code. What these people want is a code-friendly license, so that they can stay in the clear when it comes to copyright issues. The next thing they want, is for someone to come after them over some licensing issue. You may think that people are good, but you never know the world around you. They can be evil. For other users, they don't mind their code being copied to another post, as long as there is a link to the post and a mention of the original author. Most people post with good intention. There's not that much of an issue from a legal perspective either: The license allows people to copy and paste into answers of their own, and since the license remains the same, there's no issue to get into. The license allows it, and contributors kind of have to acknowledge it. I don't think anyone cares what happens to code that is less than 3-4 lines at least. I can probably agree. Such code probably wouldn't be eligible for copyright anyway, since it's so trivial. Many jurisdictions have a "Threshold of Originality," which means that simple things can't be under copyright. Stack Exchange does not probably want people to own the code they submit. For example, Stack Exchange has (and probably wishes to retain) the right to keep even deleted posts in the visibility of the high rep users (even if the author is against it). Wait what? You may be right that it is in Stack Exchange's interest to host content. After all, they get hits, which helps them as a business. It is illegal for companies to host illegal content. If somebody sees objectionable, copyrighted content hosted on Stack Exchange that they would like removed, then they need to file a DMCA Takedown Request. This is also why moderators, like myself, cannot process legal requests. The reason why Stack Exchange doesn't act themselves, even if they see something that is copyrighted and objectionable, is because it's a form of liability. When YouTube began removing copyrighted content themselves, they received a wave of lawsuits (If you remove some, you need to remove all. Why didn't you remove mine? being the argument). The plaintiff's won those, and when YouTube did nothing, they weren't liable at all. If a user wants to have their content taken down, it's tricky. You need to look at the Terms of Service for Stack Exchange: (quoting Section 3) You agree that all Subscriber Content that You contribute to the Network is perpetually and irrevocably licensed to Stack Exchange When Stack Exchanges gets your content, you grant them an irrevocable license to your contribution. This is pretty standard across a lot of sites: it's just a way to secure data and stay in the clear of licensing issues. At the same time, it doesn't seem fair for SE to acquire complete ownership of the content. The user must still have the final say, if the content is to be used for purposes not already agreed upon in the licence. They don't. What users have done is that they have provided a license of their content to Stack Exchange. This is done, again, through their Terms of Service: You grant Stack Exchange the perpetual and irrevocable right and license to use, copy, cache, publish, display, distribute, modify, create derivative works and store such Subscriber Content and to allow others to do so in any medium now known or hereinafter developed (“Content License”) in order to provide the Services, even if such Subscriber Content has been contributed and subsequently removed by You. The user grants a license to their content to Stack Exchange, but they do not assign or relinquish copyright. The code still belongs to them. It's important not to conflate the user contribution policy, with copyright assignment. You are still free to add an additional license to your content (known as dual or multi-licensing), and have a copy for your own use. Stack Exchange will always host a copy licensed under the CC BY-SA license. Stack Exchange can expect a high level of decorum and respect for laws from its users. At the same time, it cannot expect redundant attributions anywhere and everywhere, because one of its main aims is to not waste the users' time. Not only Stack Exchange expects it, but many copyright laws in various jurisdictions require it too. There's a concept known in many jurisdictions known as moral rights. These are rights that are irrevocable, whether you like it or not. Generally, these include attributions, disclaimer of liability, and other rights as well. Even if your work is in the public domain, you still retain these moral rights. If memory serves me right, the right to be attributed is revokable under United States copyright law. Therefore, attribution becomes more a courtesy, when the right is revoked. Licenses such as CC BY, and CC BY-SA still require attribution as a part of their licensing terms. What defines attribution is generally up to the person who uses the content. If memory serves right again, one can not demand how to attribute. There should be a clear-cut way to determine what is code and what isn't. The code formatting indicators on SE may not be adequate because some users simply use backticks, or 4-space indented text for other not-so-codey text. Personally, I feel like making the entirety of a post under both the Creative Commons license and whatever proposed code license they use is the best option, and allow people to use moral judgement to determine the most appropriate license. The concern comes about people who lack such judgment. I bet these same people don't follow the existing license anyway - and are a lost cause. We made it through! There will always be debate on the license of choice. Some people want the GPL, a license that's apparently closer to the status quo of Creative Commons license (I disagree that it's a good match), while other's want permissive licenses, such as the MIT or the Apache licenses. I'd prefer the permissive type, since it allows use in closed-source applications, and grant more rights (i.e. less restrictions) to the people that use them. I'm not going to right much because my hands are tired, but I'm sure if you've got more questions about the open source licenses themselves, you can probably ask on Open Source Stack Exchange.
Whoever "derived" the illegal derivative work most likely has copyright in his derivations, unless they are not worth copyright protections. Say I take the Harry Potter books and add a few chapters and try to sell it - that's copyright infringement of course, but I have the copyright on these additional chapters. However, I don't have the right to allow you to copy the derived work. And even if you have the right to copy the original work, you don't have the right to copy the derived work because it is a different work. I could extract my changes, and allow you to take them and do with them what you like. You could then create an illegally derived work yourself. I couldn't sue you, but the original copyright holder could. To the comments: One, a work and a derivative of the work are not the same, so even if you have the right to make a copy of a work, that doesn’t give you any right whatsoever to copy a derivative work - they are not the same work. Two, the copyright holder has the exclusive right to control copying and the creation of derivative works. If the copyright holder doesn’t want derivatives to exist, then creating them, copying them etc. is always copyright infringement.
Yes That is very simple - copyright is an exclusive right that starts automatically with the creation of a copyrightable work. The default situation is that the author has an exclusive rights to make copies of the work and derivative works. If the code is published somewhere by the author but the author has not said anything about its licence or copyrights, then the default situation applies - you need permission and you don't have it, so it's not legal for you to distribute their copyrighted works. They have the right to just publish it somewhere, others don't. If you try to contact the author and they don't say anything and ignore you, then the default situation applies - you need permission and you don't have it, so it's not legal for you to distribute their copyrighted works. If it's impossible to find the author (e.g. I have certain cases with literary works where it's not clear who inherited the rights after the author died), then the default situation applies - you need permission and you don't have it, so it's not legal for you to distribute their copyrighted works. That being said, certain forms of reuse (recreating ideas, learning from them, etc) would not be a copyright violation. But in general the situation with the author not saying anything is almost the same as the author explicitly stating "all rights reserved, you're not allowed to do anything, violators will be shot" - some specific uses are allowed even against author's wishes (e.g. 'fair use' clauses) but everything that needs their permission really does need their explicit permission.
Basically, you cannot do it. You are required to include the MIT license in any derivative work. However, that holds only for the parts that you import from this other project. You can identify which parts of the final product are copied from the MIT-licensed program (and indicate "these parts are subject to the following MIT license"), and then you can do whatever you want with the remainder that you wrote. The downside of not licensing your material is that nobody can use it. To use it, people would need permission, which is what a license is. If you don't license it, you don't give permission, so people can't use it. You presumably want to subject your own contribution to different licensing conditions, so then you would state those conditions and clearly indicate what parts of the code you wrote.
1) I saw that no where during registration you actually tell what your work does, you only fill up details, how exactly is it protecting you if you don't specify? For example I have a computer program/website that do something, how exactly the copyright protects you if you did not specify about it? A copyright protects a particular single expression of an idea and versions that are derived from that particular expression. When you copyright software you have to provide approximately 50 pages of printed code so as to make it possible to distinguish your code from someone else's and you generally deposit a full copy with the Library of Congress. The ideas in the computer program are not protected. You only protect the exact language of the code in the computer program and other programs that use that exact language as a starting point. If someone reverse engineers a way to achieve the same process or outcome with different code language (or even comes up with exactly the same code language without ever looking at the language used in your code) then their software does not infringe on your copyright. To protect the ideas in a computer program you need a patent. 2) If I am a non-us citizen, do I need to select in State "Non-US", or leave it blank on "Select"? Because it allows me to complete registration with either. State "Non-US" refers to where you are located, not to your citizenship. If you are located outside the U.S., then you select "Non-US" and if you are located in a U.S. state, but are a non-citizen, you select the state where you are located. The answer does not affect the validity of your copyright. It is used for economic statistics and to determine where the copyright office should locate its own offices to be maximally useful to the public.
Is this legal? Generally yes, unless it unlawfully exceeds the scope of the license. Also, if it is, how can I check if it's permitted by the original store's EULA? Read the whole EULA, focusing on terms related to resale, assignment, and transferability.
It infringes the copyright. It can easily be proved that both XOR1 and XOR2 derive from the source work by XOR-ing the streams with each other. It's just like any encrypted copy: it infringes the copyright, but only those who can decrypt it are in a position to know that it infringes the copyright. The posts on the forum are illegal because they infringe the copyright; it doesn't matter that they are derived works rather than the work itself, just as your drawing of a copyright-protected image infringes copyright because it is a derived work without being the work itself.