Is a hello world program really protected by copyright? This article discuss the question of whether a &quot;hello world&quot; program is protected by copyright. It comes to the conclusions that it is not (under US copyright law) because most of it is required by the implementation leaving only the phrase &quot;hello, world&quot; which by itself is too trivial to be copyrightable. I believe the same reasoning would apply for my jurisdiction which is the UK. However, some on the open source stack exchange disagree (see comment on first linked question below for example). Is a hello world program really protected by copyright? At what point does something become non trivial so that copyright applies? I've asked some related questions on opensource but it has been suggested that law might be more appropriate for this kind of question: https://opensource.stackexchange.com/questions/12997/when-does-an-implemention-cease-being-trivial-and-become-covered-by-copyright?noredirect=1&amp;lq=1 https://opensource.stackexchange.com/questions/12986/legality-of-publishing-code-for-a-stackoverflow-answer-as-an-example-implementat https://opensource.stackexchange.com/questions/12998/is-an-offset-pointer-implementation-trivial-enough-not-to-be-covered-by-copyrigh?noredirect=1&amp;lq=1
It is highly unlikely that any such program would be protected, insofar as there is minimal expressive creativity involved in the code – for a standard &quot;hello world&quot; program. For instance, the following REXX code is not creative: say 'Hello world' The language itself determines that the relevant statement is &quot;say&quot;, and I did not create the text, somebody else did and I just copied it. A version that goes outtext = 'Hello world'; say outtext is not creative either (this approach to typing text is implicit in &quot;programming&quot;, and the variable name is a patently obvious choice. It would be possible to write code that is very creative, but which only types &quot;hello world&quot;. So it depends on the code.
The general rule is that the author of the software owns the copyright, so that would be the student. This is regardless of whether the student writes the code for fun, or for a thesis. If a student is hired to write that code, then it kind of depends on the university rules, and who hires the student. In the case of a "work for hire", the employer owns the copyright. However, it is non-trivial to determine whether that principle is applicable in the case of a student hired by the university. In part, it depends on which country this is in because work for hire laws are not exactly the same everywhere, and in part it depends on the details of the employment my a university. In a typical US institution RA appointment, it would come down to university policy – some universities declare that copyright in all student-written software is retained by the student. You would need to look for something resembling an "IP Policy" – here is a sample, note that such policies are subject to revision.
Unless the game is out of copyright, e.g. chess, snakes and ladders, Go, or checkers, your software would probably be considered a derivative work of the copyrighted game and an actionable infringement. The fact that you do not monetize it is not a defense. You would need written permission in the form of a license agreement from the copyright owner to do this legally. The penalties for violating copyright laws in this way could be punishingly serious.
Software doesn't infringe any patents. Creating a product that includes the software may infringe the patent, and may infringe that patent because the software is included, but the software itself doesn't. Software on its own doesn't have any effect that could be patented, only as part of some machine. On the other hand, if you want to distribute software that is under the GPL v3.0 license, then a requirement is that you give everyone a patent license for all patents that would be infringed by using the software (as part of some machine), and if you are not the patent holder, then in practice that means you are not allowed to distribute the software. With your grand plan that you write software and then let the end users do the patent infringement, that will backfire in two ways: First, you'd be likely sued for contributory patent infringment, because it is you who enables the patent infringemnt. Second, you can be sued for copyright infringement because you have no license that allows you distribution of the software, depending on the Open Source license used.
Stack Exchange questions are not public domain, they are protected by copyright. Authors have granted a license under Subscriber Content, specifically content is perpetually and irrevocably licensed to Stack Overflow on a worldwide, royalty-free, non-exclusive basis pursuant to Creative Commons licensing terms (CC BY-SA 4.0) As long as you comply with the terms of the CC BY-SA 4.0 license, you may copy user content.
No. GPL works are copyrighted (as are most creative works basically everywhere in the world, as soon as they're created, whether or not the author does anything about it), and copyright is what gives the GPL "teeth". Without copyright, you would generally be able to duplicate and distribute programs without any kind of license or permission from the author. Copyright law restricts your ability to do those things. The GPL is a license, which means it's a grant of permission. It says that you may copy and modify and do other things, provided that you comply with the other provisions set out in the license. Quoting from the GPL v3: You are not required to accept this License in order to receive or run a copy of the Program. [...] However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. So if you were to distribute some GPL-licensed software in a way that didn't comply with the terms of the license, the legal framework that would allow someone to sue you to stop you doing that would be copyright law.
The GPL does require you to keep any existing copyright notices: You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you [...] keep intact all the notices that refer to this License and to the absence of any warranty [...] The GPL also recommends adding a notice to each file: Copyright (C) yyyy name of author - This program is free software[...] From my reading of the GPL, if the software you modify contains such notices, which is likely, you must preserve them. This effectively attributes the original author. However, as far as I can see, there is no requirement to have a list of acknowledgements (as is customary in scientific papers), which lists all the software you used. How to attribute parts that are integrated in source form? (Where licence information is given in the file header) If you keep the original file header (and possibly add to it), that should be enough. How to attribute parts that are integrated in binary form? As far as I can see, there is no additional attribution required for distribution in binary form. The GPL requires you to supply the source code along with the binary form, so the attribution in the source code will be available.
What you're talking about is called black-box reverse engineering. It can be done, and as long as you are meticulous in your record keeping the fact that it has been done should be an appropriate defence against copyright infringement. But that doesn't help against patent claims - while in copyright cases the fact that code has or has not been directly copied is critical, in patent cases it its irrelevant: if you use a patented method, it's a violation. You therefore will need to be careful about any patents that may have been issued to the original author, as well as avoiding copying.