Intellectual Property Implicit or Explicit? In relation to software engineering. Business A does x work for business B and neither had any sort of design, patent, software license agreement or intellectual property agreement. Simply, a statement of work and project plan only + final invoices for said work. Business A pays business B at the end. Are intellectual property rights implied / automatically assigned to either business? How has case law historically effected these types of scenarios? Who owns the software if it isn't explicitly stated anywhere?
Software qua property is protected by copyright *perhaps patent, in some jurisdiction). The general rule is that whoever creates the thing (book, song, software) has the exclusive right to the thing. If an employee of Company 1 writes software for Company 2, that employee might (rarely) hold the copyright, but typically that scenario would involve a "work for hire", where the employee is hired by Company 1 to do such tasks as part of his duties with Company 1 (which might then be given to Company 2). This would then be a work for hire, and the copyright is held by Company 1. If the actual author was an independent contractor, he would hold the copyright – see Community for Creative Non-Violence v. Reed for analysis of the subtle nuances in making that determination. The concept "work for hire" which crucially involves the "employee" relationship would not be applicable to Company 2 paying Company 1 for a product, and as long as the actual author is an employee of C1, C1 has not created a "work for hire" in the legal sense. Without some explicit disposition of copyright, Company 2 is in a sketchy position. Since C1 holds copyright, they must grant a license to C2 so that C2 can legally use it; or, C1 must transfer copyright to C2. This does not happen automatically, and (if C1 does not want to remedy the situation after the fact) C2 would need to take C1 to court to force a resolution to the situation. At that point, the issue would be what C1 implicitly promised, even though they didn't put it in writing. It is likely that the initial exchange was along the lines "Can you make us a program that will do X?", and the answer was "Sure, that will cost Y", and then "Okay, go ahead, looking forward to the product". The courts would not simply say "Well, you didn't explicitly require a license, so you don't get to actually use the software that you paid for". However, it's a somewhat open question whether the court would order a license (of what nature?) or a transfer of copyright. The disposition would depend heavily on the facts of the case (what was said, what C1 actually did, what kind of business they are, what did creating the work involve...).
It's hard to give a definitive answer, since the specific details matter. You should read this question and answer, What is a derivate work? for more information. If you're really considering investing the time and energy to create such a product, you might consider getting advice from an actual attorney, and not from strangers on the Internet.
Of course you have to follow the license. You seem to have a license that doesn't allow distribution and want to know if giving copies to the Dutch or Chinese branch of your company is distribution. First, you should not make that decision. Your company's lawyers should do that. Second, such distribution is with some licenses perfectly legal if you distribute the software with source code. That's a business decision which you or your manager or his/her manager... can make. Such questions (whether giving a copy to your Dutch branch is distribution) often don't have an answer that is yes or no but maybe - if you went to court, would a judge say that it is distribution? The answer is quite clearly "maybe". So unless you can find a safe way, there is a risk. Again, your lawyers will assess the risk.
The fact that a developer is showing off work that he/she has done for other another company doesn't imply that that developer owns any copyright to the work. In Canada, see the Copyright Act, § 13 (3): Where the author of a work was in the employment of some other person under a contract of service or apprenticeship and the work was made in the course of his employment by that person, the person by whom the author was employed shall, in the absence of any agreement to the contrary, be the first owner of the copyright and § 13 (4): The owner of the copyright in any work may assign the right... In the US, see 17 U.S.C. § 201 (b): In the case of a work made for hire, the employer or other person for whom the work was prepared is considered the author for purposes of this title, and, unless the parties have expressly agreed otherwise in a written instrument signed by them, owns all of the rights comprised in the copyright. and § 201 (d): The ownership of a copyright may be transferred... "What rights should and should not be attributed to the developer?" That is a business decision to be made on a case-by-case basis. Advice about the prudent balance of copyright between an employer/client and employee/contractor is legal advice. "Is it okay to use this projects as part of the developer's portfolio?" If the developer can link to public use of a product that he/she developed for a company, then the developer is not violating copyright by simply advertising that they worked on the product and linking to, without reproducing, the work. If the developer for whatever reason maintained copyright ownership in the code and other assets, it would not be copyright infringement to reproduce those as part of the portfolio. If the developer did not maintain copyright ownership in the code or assets, reproducing those may be copyright infringement, dependent on whether the copyright owner allowed the developer to reproduce those elements, or if the reproduction is fair use. There may be other laws or contracts implicated, though: non-disclosure agreements, trademark law, among others.
This answer to a related question sums up the relevant concepts regarding work for hire. Since, according to your description of your relationship to A, you are not an employee (Commun. for Non-Violence (CCNV) v. Reid 490 U.S. 730), and you do not a written agreement, under US law, this would not be a work for hire: thus you hold copyright to something. I presume Company A gave you the source code and you are rewriting it to fit some technical requirement, so you have been given permission by the copyright holder to create a derivative work. You do not gain copyright to the original code: you only hold copyright to what you wrote. You would therefore need the permission of the copyright holder (of the original program) to sell copies of the modified program (currently A, company B in the future once the transfer is complete). There isn't a special "signing-over" ceremony for permission to copy, but the situation you describe is very messy. Even without a written agreement, you do understand that they intend to make multiple copies of the resulting program which includes your contribution, and you have received something of value in exchange for your contribution. So, one would argue, you have at least given permission to copy your stuff, even without a piece of signed paper -- in hiring you, you have given them an implied license to use what they paid you to create. The unclarity would be in whether you transferred your property rights, or simply licensed them to use it. Hence the recommendation to get an IP attorney.
"The company you are working for ..." Stop. We're done. An employer owns the IP created by an employee in the course of their employment: the hackathon is in the course of your employment.
It depends on the license the code comes under and whether theres a copyright-assignment requirement for that project. In the case of the Linux kernel, the license is the GPLv2, and there is no copyright assignment requirement - so anyone who can prove ownership of code within the shipped binary (important caveat there - the Linux kernel is configurable, so parts of it can be excluded from the binary) can pursue a claim of copyright infringement if the source code is not distributed according to the license. With the case of things like GCC (until the most recent version), while the project uses the GPL (v3), it also required copyright assignment to the FSF, meaning the original authors do not hold the copyright and thus have no standing to sue (authors rights not-with-standing). They have now dropped this requirement in the latest GCC version, but it stands for older versions. As copyright holder, you have no ability to actually force the binary distributor to comply with the terms of the license - you can merely threaten them with, and pursue, a claim of copyright infringement. In court, you can sue to stop them from infringing further and to pay punitive and actual damages. You may be able to get them to agree to conform with the license terms, but its highly doubtful that a court would agree to force them to conform with the license terms (there has yet to be a copyright-infringement case orientated around open source software that has resulted in a court forcing the infringing company to GPL their own code they were trying to protect by non-compliance). So, to answer your question, theres no actual avenue here which results in you obtaining the source code you have copyright ownership of - the legal actions you can take are ones of stopping infringement and claiming damages. You might be able to come to an out-of-court settlement or a voluntary agreement to provide the code, but court actions will be about stopping the infringement and damages.
South Park did the EULA gag, and such an agreement would be unenforceable as unconscionable. NDAs, on the other hand, are conscionable, but a EULA isn't an NDA. There isn't a specific statute that you can point to that either makes such a no-criticism agreement explicitly legal vs. illegal, so the case would have to be based on common law justice-style arguments. People v. Network Associates is a relevant case, where a clause requires permission to publish benchmarks or reviews of the software. The court found against the publisher. However, the restrictive condition was not part of the license agreement, which included a merger clause that declared the license agreement to be the whole agreement. The publisher had some hand-waving about mention of "rules and regulations" which they argued nullified the merger clause, where the court did not accept the argument. So for the moment, you need to decide whether disparaging a product is that important to you; or, become a legal pioneer and win a case in court. There is a bill, the Consumer Review Freedom Act under consideration (passed the Senate) which might change that, if it becomes a law. It pertains to a written, oral, or pictorial review, performance assessment of, or other similar analysis of, including by electronic means, the goods, services, or conduct of a person by an individual who is party to a form contract with respect to which such person is also a party and restricts a contract with standardized terms— (i) used by a person in the course of selling or leasing the person's goods or services; and (ii) imposed on an individual without a meaningful opportunity for such individual to negotiate the standardized terms. which says that that kind of contract with that kind of provision is void.