Specifically interested in architecture-samples and architecture-templates. Seems like they're fairly stripped down stuff, whose express purpose is to be reused, started from, modified etc. Likely whatever I end up with will look very different. But I am thinking of using them as a starting place; should I then go through with all the normal licensing requirements?

On the other hand I suppose I could merely use them for reference only, just avoid all the fuss. Just seems like even doing that, I'm going to necessarily be copying a substantial amount so I don't know how it's really any different.

Again, just to be clear - do I have to do normal Apache 2.0 license acknowledgement stuffs when all I am copying/referencing is generic starter code?

  • 2
    Either the code is so trivial that you don't need to start with it, or it is useful enough that you follow its license. Commented May 19 at 23:43
  • 1
    @curiousdannii honestly, that seems like the important bit of a complete answer to this question. Want to add maybe another sentence and write it up as one?
    – MadHatter
    Commented May 21 at 8:56
  • @MadHatter I thought it was too trivial for a full answer 😂 Commented May 21 at 9:28
  • 1
    @curiousdannii I totally take your point, but it's still an extant question. I can't see that the question admits of any other answer than yours, so either you write it up, or someone else will have to do the same, or the question sits around forever "because all answers are trivial". Better a trivial answer than none, if the question justifies it, to my mind. I'd upvote it!
    – MadHatter
    Commented May 21 at 9:33
  • @curiousdannii I'll second that
    – Bondolin
    Commented May 21 at 13:13

1 Answer 1


do I have to do normal Apache 2.0 license acknowledgement stuffs when all I am copying/referencing is generic starter code

Copying significant (copyrightable) parts creates a derivative work. Then yes, you have.

And, by "referencing", what do you mean? "Looking at some others code as an example and writing your own"? Then it's not a derivative work. When you use a textbook to learn programming, that textbook's copyright isn't extended to the programs written by you. You learn and reuse ideas and concepts, and they are not copyrightable. So, in this case, no.

I am thinking of using them as a starting place

Then your work, under Apache 2.0 License terms, will be a derivative work. You'll have to follow the license.

whatever I end up with will look very different

GNU Guide says that (generally) 15 or fewer lines of code are not copyrightable. Yes, Apache license is not governed by GNU. But copyright rules are universal, and GNU used to have a team of professional lawyers. So I'd trust their opinion on this matter.

If, after your changes, there are only 15 original lines left, then your work could be considered as non-derivative. You could even change the license to something incompatible.

But note that:

  1. Your own changes should be significant and copyrightable

  2. The number of lines is a rule of thumb and can still be challenged in the court.

  3. This should happen before the first public commit.

  4. You should not fork a repository in GitHub

  5. The history of your repository should be clean of commits from the original repository

  6. Even this your question here could be used as evidence that your work is actually derivative

I could merely use them for reference only, just avoid all the fuss

I recommend going this way.

  • 1
    Your argumentation about less than 15 lines remaining may not hold up. See also opensource.stackexchange.com/questions/10141/… Commented Jun 17 at 6:33
  • @BartvanIngenSchenau, 1. I don't give any argument. 'Used by GNU' is no argument, it's just a reference. 2. I've already stated that it may not hold up in #2. Please, either read the entire answer or edit it if you think it's not clear enough Commented Jun 17 at 15:28
  • My point is that the GNU guidance works for adding stuff, but not for removing. Even with 0 lines of the original remaining, you can still have a derivative work. Commented Jun 17 at 17:24
  • If somebody could prove that you removed code, then it's a derivative work, doesn't matter anymore how many lines left Commented Jun 17 at 17:32
  • The whole idea of my answer is different: when your code and someone else's have few identical lines, it doesn't mean that you copied from him or vice versa. It just happens. Unless there is some evidence which could prove copying Commented Jun 17 at 17:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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