2

I'm writing a code generator in Java that will generate GNU linker scripts and C header files for microcontrollers made by Microchip Technology. I want both the code generator itself and the files it creates to be BSD-3 licensed.

Microchip provides linker script and header files that I have been using as a reference so I know what I actually need to generate, though my output will not be exactly the same. These files are also BSD-3 licensed, except they put their name right in the license (instead of using the generic "copyright holders and contributors" terms of the default license). Here is a copy of their license for reference:

Copyright (c) 2018, Microchip Technology Inc. and its subsidiaries ("Microchip") All rights reserved.

This software is developed by Microchip Technology Inc. and its subsidiaries ("Microchip").

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. Microchip's name may not be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY MICROCHIP "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MICROCHIP BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT LIMITED TO PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA OR PROFITS; OR BUSINESS INTERRUPTION) HOWSOEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

This leaves me with questions as to how I properly give attribution to the original copyright holder.

  1. Is there a simple way to indicate that I want to release my code under the same terms, but include myself in the places where Microchip put their name? Would it be sufficient to include my copyright notice and a note that says something along the lines of "this code is distributed under the same terms that the original copyright holder provided, except read 'Microchip and above copyright holders' in place of 'Microchip'" followed by the original license notice?

  2. Where would I attribute Microchip, in the generator sources or in the generated files or both? Which one would be considered the derived work? The generator will probably end up containing snippets from Microchip's code that will be used to generate the output.

2

You must not modify the license text in any way. However, you may add your own copyright notice above the license, or you may provide your own license (even if that is just a vanilla BSD variant) and mention that your software is based on that other work. For example:

Copyright <year> <your name>

<your license>

This software is based on <original software name>, provided under the following license:

<original license>

As per the original license, you must show the original license “in the documentation and/or other materials provided with the distribution.” Since such license comments are easy to include in generated files it would seem appropriate to show them there as well, but you should at least add a comment that explains where the full license information can be found.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.