brodycj / ask-me-anything

ASK ME ANYTHING such as support, ideas, or personal questions
Creative Commons Attribution 4.0 International
4 stars 1 forks source link

boilerplate code, template code, copyright, and licensing? #36

Open brodycj opened 2 years ago

brodycj commented 2 years ago

Given the sheer volume of software that is implemented with the help of boilerplates and templates, I think it would be good to clarify as much as possible when care needs to be given to ownership, copyright, and licensing.

I think this is especially interesting with editors & IDEs that collect & use coding patterns from the internet.

I found this answer for boilerplate code:

with reference to idea-expression distinction from Wikipedia:

My understanding is that in many cases, using or following a boilerplate is like using or following a pattern and not subject to copyright. Software patents are another discussion, don't think it should be a real issue in many cases. Here are some references I found about using or following a pattern:

In some cases a boilerplate or template could be considered "canonical", or the best & simplest alternative for an implementation. My understanding is that at least up to a certain point, this would be like using a pattern and not subject to copyright.

Here is a related discussion on Stack Exchange with quite a bit of useful-looking info:

and this blog article happened to show up in the top-right corner as well:


I had made a utility in the past that generates Apache Cordova projects programmatically to avoid potential questions about using templates: https://www.npmjs.com/package/generate-cordova-package

Considering that the generated artifacts are simple and likely canonical, I am thinking this effort was overkill.


So my understanding and conclusion so far is that for boilerplates & templates that are not too complex, the copyright should not be a real issue.


I think it would be ideal to gain a better, more concrete understanding over time.


P.S. I think it is good practice to give reference when using boilerplate & template code in any case. This is similar to projects giving credit for using public domain code.

Some projects have been using public domain licenses to avoid ownership & copyright issues. Unfortunately there had been questions in some jurisdictions such as Germany.