David, I recommend taking some time to better understand copyright law and licensing. [_Intellectual Property and Open Source_](http://shop.oreilly.com/product/9780596517960.do) published by O'Reilly is a good reference. I am not a lawyer and my opinions on copyright law are my own. They have not been reviewed by Opscode's legal department.

Under the [Berne Convention](http://en.wikipedia.org/wiki/Berne_Convention_for_the_Protection_of_Literary_and_Artistic_Works), the work of authors is automatically copyrighted to those authors. When Andrew writes software he is creating an artistic work which he is entitled to copyright to. However some of the work he is performing is under contract for Opscode. This contract assigns copyright for that work to Opscode as [Work For Hire](http://en.wikipedia.org/wiki/Work_for_hire).

The copyright for the code you have written certainly belongs to you. But, if the project contains code written by others, they retain the copyright for their contributions unless the project requires copyright assignment. The most notable projects that require copyright assignment are those of the [FSF](http://www.gnu.org/licenses/why-assign.html). Because work is automatically copyrighted, the author must actively perform copyright assignment for the project lead to obtain the copyright. This is why the FSF requires a copyright assignment form to be completed for those projects.

It is culturally implied that when contributing to an open-source project that you're agreeing to license your copyrighted works under the same license as the project, and that you have the legal right to do so. By contributing to the minitest-chef-handler project, the works that are copyrighted by Opscode are being provided to the user under the same license as the minitest-chef-handler project, [currently the MIT license](https://github.com/calavera/minitest-chef-handler/blob/master/LICENSE).

The commit history is ultimately the reference for finding the authors of the collected work. The copyright headers are provided for convenience and are particularly useful in this case wherein Opscode retains the copyright for the work contributed here by Andrew.

It is also dangerous under copyright law to rewrite works written by someone else to avoid their copyright and It is certainly arguable as to what constitues copyrightable work. Does a spelling correction, a utility method, or a certain number of lines of code constitute non-copyrightable works? I haven't even looked at the specific code being discussed here, so I make no recommendation or pass no judgement. I can say that we avoid recreating code created by individuals unwilling to agree to a Contributor License Agreement at great cost when it comes to contributions to Opscode projects. Once you've seen someone's work, can you prove that you're not simply reproducing their copyrighted work from memory? How different does it have to be? This is why many projects use a ['chinese firewall'](http://en.wikipedia.org/wiki/Chinese_wall#Computer_science) technique when reverse engineering software.

That many assumptions that tend to be made is one reason why Opscode requires Contributor License Agreements from contributors, _for all contributions_. Each individual confirms that they understand that their copyrighted works are being licensed to the user under the Apache 2.0 license and that they hold clear copyright under which to license their contributions. Many other issues regarding copyrights and patents are covered as well.

Notably, the Opscode CLA does not require copyright assignment. Adam Jacob wrote a great blog post a few years ago about [why Opscode chose the Apache license](http://www.opscode.com/blog/2009/08/11/why-we-chose-the-apache-license/) that is worth review and is one of the places we clearly state that we do not require copyright assignment, and why we believe it is important to not do so as part of the theme of everyone contributing to the projects being equal.

Thus, you will see many copyright notices in the code of Opscode projects belonging to other people. Many contributors do not bother to add a copyright header when they make a small contribution, and most only do so when they're adding a new file to the project. This is alright, we still have the commit history and won't usually send a contribution back for a missing copyright header. However, generally we do think copyright is important and we do try to encourage contributors to treat the copyright headers with respect and understanding.

In closing, removing the copyright line does not prevent you from applying the pull request, but neither does it assign copyright to you for the work of Andrew. The work was still authored by him, and the copyright for that work belongs to Opscode by contract. If you want to hold the copyright for all of the work in this project, you will need to require copyright assignment forms from all contributors before you apply their contributions.

You're always welcome to reach out to me at <btm@opscode.com> if you'd like to talk about open source.

Bryan McLellan
Technical Program Manager, Open Source
Opscode